2007-01-01から1年間の記事一覧

ComSys2007 - SIGOSすげーいきてー

けど平日のそんな時間。ぐぎゃる。火曜だけなら行けなくもないけど。参加費\8000と、そんなに安くもないし半分だけ参加すんのもなー。学生会員なら\2000? 衝動的に情報処理学会会員申し込みしてしまったじゃないか。これには間に合わねーけど。 バイト始め…

D2.007でクロージャがやってきたよ

いたるところで話題になってますけどD2.007にしてようやくクロージャきたですよ。ダウンロードはChange Logから。 http://www.digitalmars.com/d/changelog.html でまあクロージャ使ってBrainfuckインタプリタ書いてみました。前にクラスとか使ってそれっぽ…

Vine Linux すてて Debian/Linux にしてみた

インストールディスクを1枚に収めるとか、普通にやってりゃ日本語設定になるとことか便利だったけど、パッケージの少なさとかアレだったのでDebianにしてみた。まあ、最近しばらくずっとVineだったこともあるし。 で、まあ変わってみたけどそんな変わらんか…

ledit*1べんりだなあ

% ledit >hoge.pl while(<>){ printf "%5d $_", ++$i; } %エディタとしてもわりと使える。

末尾再帰は?

PHP

% cat tail.php % php tail.php loop 1 loop 2 ... loop 6155 loop zsh: segmentation fault php tail.phpですよねー。 % cat tail.pl our $count = 0; sub loop{ print ++$count, "\n"; loop(); } loop(); % pe…

割線法の実装

先週同様、数値計算な講義中にOCamlでの実装を書いた。 # let secant f x1 x2 stop = let delta xn1 xn2 = (f xn2) *. (xn2 -. xn1) /. ((f xn2) -. (f xn1)) in let stopcond = stop f delta in let rec iter xn1 xn2 = if (stopcond xn1 xn2) then xn2 els…

PHPで書いたいいかげんなPHP-REPL

PHP

とかくPHPの色々が全然わからんので(たとえば「あれ、Arrayってどう書くんだ」とか言うレベル)、対話環境がいる。Perlからphp -r hogehogeを呼び出すラッパだけだとあまりにもあまりだったので、PHPで書いた。ほんの少しだけ手を入れて、関数とかも定義し…

PHPのおべんきょー用対話環境ほしい。

PHPよくわからんで、対話環境とか欲しーなあ思ったけど見あたらんかった。なのででっちあげた。こんな動作。 % phpterm.pl php> $x = "hoge"; php> $y = $x . "\n"; php> echo $y; hoge php> ただ毎回php -r inputやってるだけ。超てきとう、どころじゃない…

数値計算の授業を受けてて。

OCamlのコードとか考えてた。書けた。 # let newtonMethod f fa cond x0 = let rec iter xn = if (cond f fa xn) then xn else (iter (xn -. (f xn) /. (fa xn))) in iter x0;; val newtonMethod : (float -> float) -> (float -> float) -> ((float -> floa…

ls依存症

インタプリタの対話環境でもついls。 OCaml # ls (あ、間違った)^CInterrupted. SML/NJ - ls =(ぎゃー)^C Interrupt Gauche gosh> ls *** ERROR: unbound variable: ls Stack Trace: Perl(perlsh) main[91]$ ls ls main[92]$ Ruby(irb) irb(main):001:0>…

アルバイト

知り合いの人にアルバイトに誘われた。感覚でOKした。てっきりミスドの厨房でドーナッツ揚げ機から揚がってきたドーナッツの油を切ってベルトコンベアに乗せる作業と淡々と続けて、気付けば三年たったところで突然の解雇。再就職しようにも面接で「この三年…

OCaml熱さいかい(三日坊主になりませんように)

大学の図書館でThe Little Schemerを探したら貸し出し中だったので、なんかおもしれー本ねーかなーと探していたらThe Little MLerなる本を見つけた。おもしろそうなので借りた。読んだ。おもしろい。ちんたら読んでるので前の方しかまだ読んでないけど、パタ…

Windows時計がわり

俺はどーも時計が好きじゃないので、Windowsの右下に表示されてる時計も消してます。だけどまあそれじゃ不便なので適当にこんなプログラム。プログラム名はc.exeとかにしておいて、システムディレクトリの中に放りこんどきます。そうすれば「Win+R, c, Enter…

Google Scholarおもしれー

論文サーチエンジンなんだけど、この子楽しい。この子が楽しいっつうか論文が楽しいのかもしれんけど。

下書き機能

むかし、はてなダイアリーって下書き機能あった気がするんだけど。気のせいだっけか。

Parrotさわってみる

「Parrotってなあに?」ていうような人は、とりあえずささださんの手によるParrot 入門 - The Parrot Primerとか読むといいんじゃないかなと思います。 「動的言語向けに設計されてるレジスタベースな汎用VMだよー」とかそんな感じだと思いますきっと。 まず…

ものすごい勢いで何もしない日々

自然日記も書かないってもんですね。昔本屋でよく見かけた「三日でできる実践簡単ホームページ術!」みたいな本とかには「更新しないホームページは直ぐ飽きられる!小まめな更新これ掟ネ!」とか書いてあった気がする。しかし今時のウェブサーフィンはRSSリ…

VMってすごいんだなあ!と言いたかったのだけれども。

BF

ソースプログラムを適当にASTっぽくしたあと、それを解釈実行するように書いたBrainfuckのインタプリタと、VMっぽく書いたのを比較して「VMはやいカッコイイ!」と言うつもりで、ごにょごにょプログラム書いてた。適当に書き終えた。 % gcc bfi_ast.c -o bfi…

Brainf*ckはEOFの扱いがびみょーだよなあと思ってた。

バイナリデータのechoとかもできないし。どうもWikipediaにのってるくらい有名なびみょーどころだったみたい。 http://en.wikipedia.org/wiki/Brainfuck#End-of-file_behavior 16-bit、32-bitのセルを持つBFね。効率的にはどうなんだか、今度試してみよう。 …

zshでjava補完速くする

わりといっちゃってるシェルとして有名なzsh先生、javaコマンド打ったりするときも便利です。 Java初学者の人が % javac HelloWorld.java % java HelloWorld.class Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/classとかやっち…

Dで書いてなかったかなと

情報工学実験がガイダンスだけで空きコマできたのと、あーまた学期始まったなあと少し気分が昂ぶったのでBFインタプリタでも書いて落ち着くことにする。 一番時間がかかったのは、switchブロックのなかで一つbreakを書き忘れてたところがあったこと。そんな…

UEC コンピュータ 大貧民大会 でもやっかなーと

SDKおっことしてきて動かしてみっと、サーバのGUIがメタメタのよーな。「再描画ってなにそれおいしいの!?」みたいな。X11のプログラミングとか知らんので適当に眺めながらいじってたけど、めんどくさいので以下のよーな変更だけでもういいやと思った。 ---…

「初めての人のためのLISP」おもしろい

おもしろいらしいとの噂を聞いて、電通大の図書館で検索したらヒット、普通に開架であっさり見つかった。流石竹内先生在籍してただけあるなえらいぞ図書館! ほんで内容ですが、かなりおもしろい。かつ、わりと重要なエッセンス詰まってるんじゃないかなあと…

lisp処理系ぽいものを書く(その6くらい)

実装言語を何故かD言語からC言語へ移行してみました。かなりアッサリできました。いかに俺がD言語の機能を有効に利用していなかったかの証拠だと思った。 記号表は適当にオープンなハッシュテーブルで書いてみました。ハッシュ関数とか超適当。GCのタイミン…

ttyrecを使うときには端末のサイズを変更する

ttyrecで遊んでたら、なんかvimとかscreenの画面がちっちゃくて困った。ttyrecは端末のサイズに異存するとのこと。以下のようにすればいいらしい。 % resize COLUMNS=120; LINES=53; export COLUMNS LINES; % export COLUMNS LINES; % ttyrec 色々する

wxDインストール。

tar.gzとってくる。 http://wxd.sourceforge.net/ % tar zxf wxd-0.11.tar.gz % cd wxd %make なんか色々略 ../wx/wxObject.d(32): Error: object.string at /usr/local/dmd/src/phobos/object.d(13) conflicts with wx.common.string at common.d(78) そん…

モンテカルロ法で円周率を求める

「モンテカルロ法を実装しなきゃ!」という気分になった。まずモンテカルロ法がなんなのかわからんかったので、調べるところから。適当にぐぐった。「確率で積分がどうしたこうしてほげほげ」。よくわからんな。円周率を求めることができるらしい。なんか聞…

lisp処理系ぽいものを書く(その5くらい)

http://konbu.s13.xrea.com/lib/scm/istsp.d http://konbu.s13.xrea.com/lib/scm/istsp-20070922.tar.bz2 パーサ部分の構成を考えなおしたら、コードがかなりあっさりめに。quoteも簡単にできました。 > (+ 3 2 1 . (4 5)) 15 > '(1 2 3 '(1 2 3)) (1 2 3 (q…

スパムコメント

「やたらスパムコメント多いなあ、はてな先生頼むぞおい」とか思ったら、スパム拒否設定OFFでしたすいません。

ScalaでBrainf*ck

「言語の入門ではまずBrainf*ck処理系を作れ」なる持論を何故か若手の会で発表したこともあり、ScalaでBrainf*ckの処理系書いた。コンパイラ・インタプリタ方式。一回Scalaの () => unit な関数列にコンパイルしてから実行。なんか色々適当。 import java.la…

test