タグ

2011年2月20日のブックマーク (1件)

  • PostScript メタプログラミング入門 -

    してみた。 動機 スタックの操作を roll とか pop とか dup とか exch とか書いて頑張るのが煩わしかった。メタプログラミングによる解決が求められる。 Haskell による実装 最初はプリプロセッサを書くつもりでいたので。 module Stack where import Control.Applicative data Operation = OpPop | OpRoll Int Int | OpIndex Int deriving Show stackConv :: [Int] -> [Int] -> Maybe [Operation] stackConv from [] = Just $ map (const OpPop) from stackConv (f : fs) (t : ts) | f == t && (f `elem` fs || f `notElem

    naruoga
    naruoga 2011/02/20
    へ、変態すぐる……「あとこれくらいの事ができれば、ちゃんと PostScript プログラマ名乗ってもいいんじゃないかな」いやそこまで普通要求しない(^^;