新しめのHaskellでWhitespaceをコンパイルする
プログラミング言語Whitespaceの本家サイトからHaskellで書かれたインタプリタのソースコードがダウンロードできますが、これをDownload Haskellから手に入れた最新のGHCでコンパイルしようとしても、なんかエラーが出てコンパイルできないですよね。そんなときは、
main.hs29行目の
import System(getArgs)
を
import System.Environment(getArgs)
に、VM.hs3行目の
import IO
を
import System.IO
に変更するとうまくいきます。
ghc -o whitespace main.hs
とかすると実行ファイルができます。
Seq.existsのお話
えーと、SORAHANEの次回作のティザーサイトが公開されましたね。
SORAHANE -ソラハネ-(リンク先18禁)
とりあえず英語苦手なんで日本語情報を待ちます(お
まだおまけシナリオやり終えてないんだよなあ。
それはおいといて。
F#にはSeq.existsという*1「シーケンスの中に一致する要素があればtrueを返す」関数がありまして。私ずっとそれは
Seq.exists 3 {1 .. 5} (* まちがい *)
という風に調べたい値を直接指定するのだと思ってたんですが、実際のシグネチャは
val exists: predicate:('T -> bool) -> source:seq<'T> -> bool
という風に真偽値を返す関数を指定するんですね。
Seq.exists (fun x -> x = 3) {1 .. 5} (* せいかい *)
えーめんどくさいなー、と思ったんですが、よく考えたら
Seq.exists ((=) 3) {1 .. 5}
これでよかった。*2
2013年7月のアクセス解析
とりあえず先月分まで
続きを読む