2007-11-01から1ヶ月間の記事一覧
最近ようやく、(* *)の打ち方がわかってきました。 (*は中指→人差し指、*)は人差し指→中指か薬指(気分次第)で打ちます。 このとき、位置はあくまで*基準で覚えておくと間違えにくいようです。 ……Pascalが{ }を使うようになったのは正解と思いますというか、…
普通に再帰下降で書いていたはずが、定型句が面倒になって、関数を作る関数に変えていったらこんなふうになってしまいました。 (* 2.3: identifier ::= identifier_start {identifier_start | identifier_extend} *) let rec identifier () = p_do ( identif…
http://q.hatena.ne.jp/1195950564 via http://www.kmonos.net/wlog/79.html#_0037071127 DDAによる斜線描画が好きです。
今はこんな感じで使ってます。 表 せ け ☆ て ょ つ ん ☆ な 半 を は か し と た く う い 濁 れ ー す こ に さ そ っ る き あ ち 裏 ぁ ほ り ふ め む え ま み ぬ ぃ の ら ゅ よ ひ お も わ ゆ ’ へ ぇ ぉ ね ゃ や ろ 、 。 ぅ 点や感嘆符含む記号…
http://panathenaia.halfmoon.jp/alang/delphi.html setjmpが必要で、他の言語から使いにくいと言われているlibpngですが、やればできるものです。 インラインアセンブラでC++Builderからsetjmp持ってきただけですがっ。 -DPNG_NO_SETJMP_SUPPORTEDは、壊れ…
http://homepage1.nifty.com/bee/diary/2007b.html#d20071108 先に何を見せられたかに関らず、1万2千円と8千円の間で長時間悩みまくった揚げ句、一瞬の気の迷いで千円のを買ったり2万円のを買ったりネクタイを必要としているにも関らず何も買わずに帰ったり…
参考(元ネタ)→http://d.hatena.ne.jp/soutaro/20060506/1146925290 トップレベルで式を評価してもと出て何もわからないのはとても悲しいのですが、そんなときも#install_printerしておけばなんか出せます。 open Format;; let print_utf8string x = print_st…
OCamlが遅くなる一番の原因はGCらしいです。某.NETや某JavaみたいにGCが他のアプリケーション用のメモリを食い潰すような実装にはなっていない良心的なGCらしいことは評価していいと思いますが具体的にどうなのかはさっぱり知りません。 ↑のコードでは、いち…
camlp4上の改訂版構文とやらを使ってみた。
Adaでもビット操作の方が短くなった。言語の得意分野ですらこの始末……。 こりゃUTF-9が普及しても、Adaの普及は望めませんね……。 先に検証しとけよって話だ。 死にたくなったので銀猫行ってきます。
試しにDで書いてみたら普通にビット操作のほうが短かった。こりゃスクリプト言語なら100バイト切るな……orz バイト境界をまたぐpacked配列が使えないと長くなるはずという単なる思いこみオチでした。終了。
もう露骨にAdaのLanguage Rankingを上げるためだけの問題を出題しました。正直ごめんなさい。 ieee754では予想外にRubyが短かった*1ものの、なんとかCに一位をキープして貰えてスクリプト言語を落とす目標は達成。 まあそんなわけで、今回は密かに暖めていた…
Haskellのwhere欲しい。切実。 再帰でループはいいんですが、初期条件を与えるところがループ本体より下になってしまうのがいただけないです。 これはもうcamlp4に手を染めろってことでしょうか?
Haskellのようなやつ。書いて書けないことはなかった。面倒ですが。 type 'a item = E | S of ('a * ('a inflist)) and 'a inflist = 'a item lazy_t;; let rec take : int -> 'a inflist -> 'a inflist = fun n list -> if n = 0 then lazy E else match La…
# type t = { x : t };; # let rec z = { x = z };; これを対話環境上で実行すると面白いことに。