タグ

ブックマーク / blanketsky.hatenadiary.org (3)

  • 続続・ゆの in Haskell - blanket log

    自分でもよく飽きないなーと思いますが、またしてもゆのネタです。 私のアタマではどう頑張っても正式なゆの式を書くことができなかったので、AAに関しては激しく妥協しつつ、別方向で変態的なコードを作ろうとしてみました。その結果が以下です。 import Prelude hiding ((<),(/),(-)) import Data.List (intersperse) import Debug.Trace (trace) data X = X | I | X :/ X | X :< String class P a where p :: a instance P X where p = I instance P Bool where p = False risk = "Hidamari" etc = "Sketch" infixr 3 - infixr 6 / infixr 5 < _ < h

    続続・ゆの in Haskell - blanket log
    KGA
    KGA 2008/10/06
  • 続・ゆの in Haskell - blanket log

    _ が変数として使えないので、パターンマッチの文脈で無理やり使ってみたら、なんだか微妙な表情になってしまいました。私には X が目で / と | は口元のシワにしか見えません。 import Prelude hiding ((<),(/)) import System.IO.Unsafe import qualifed System.IO.UTF8 as U data X = X utrace = seq . unsafePerformIO . U.putStrLn X < x = utrace ("ひだまりスケッチx365 "++x) True main = return $! X/X where X / _ | X < "来週も見てくださいね!" =3 苦しまぎれに / の代わりに | を使っています。 trace を使って副作用を出してみました。 $! で強制的に評価してます。 ma

    続・ゆの in Haskell - blanket log
    KGA
    KGA 2008/10/06
  • 便乗 ゆの in Haskell - blanket log

    http://d.hatena.ne.jp/ranha/20080709/1215658800 まぁ少なくとも片方は #define 使う必要ないですよね。 #define _ X import Prelude hiding((<),(/)) data X = X a / b = X a < b = putStrLn $ "Hidamari Sketch 365 " ++ b main = X / _ / X < "Please see next week!" #define 使ったら負けかなとは思うんですが、_ はどうなんでしょう…。パースエラー出ない場所が限られてますしねぇ。 追記 Haskell で日語を使うには: http://ja.doukaku.org/comment/3513/ , http://hackage.haskell.org/cgi-bin/hackage-scr

    便乗 ゆの in Haskell - blanket log
    KGA
    KGA 2008/10/06
  • 1