便乗 ゆの in Haskell
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-scripts/package/utf8-string-0.3
結局 _ 対策はこんなのしか思いつきませんでした。ごめんなさいごめんなさい。
import Prelude hiding((<),(/)) import qualified System.IO.UTF8 as U data X = X a / b = X a < b = U.putStrLn $ "ひだまりスケッチx365 " ++ b __ = X main = X / __ / X < "来週も見てくださいね!"
ちょっとばかり口元が緩んでしまう年頃なんです。とかそんなネタじゃ駄目ですか。
OCamlとかでも使えるチートですが、格好悪いのでやめたほうがいいと思います。
まともなのは誰かえらい人がやってくれるはず。
せっかくなので少し遊んでみた。
(/) を気持ち悪く使ってみたりとか。
import Prelude hiding((<),(/)) import qualified System.IO.UTF8 as U data T = X | Y | Z [T] instance Show T where show X = "ひだまり" show Y = "スケッチ" show (Z ts) = foldr shows "x365 " ts X / t = Z [t] Y / t = t (Z ts) / t = Z (t:ts) a < b = U.putStrLn $ shows a b __ = Y main = X / __ / X < "来週も見てくださいね!"
右から畳んでみたりとか。
import Prelude hiding((<),(/)) import qualified System.IO.UTF8 as U data T = X | Y | Z instance Show T where show X = "ひだまり" show Y = "スケッチ" show Z = "x365 " infixr 0 / (/) t = (putStr (show t) >>) (<) t = U.putStrLn . shows Z __ = Y main = X / __ / X < "来週も見てくださいね!"