#"I have a proof of this, but the margin isn't large enough to contain it." ってなんの真似だ
#↑Acme.Time (now)
##scheme の match-lambda を haskell に移植したら、という感じのライブラリ
#とりあえず signum をポイントフリーで書いてみた
#let sn = flip match (is (<0) ->> -1 ||| is (==0) ->> 0 ||| __ ->> 1)
#実装に型レが使われてるのも面白い
##型安全な printf, scanf, (それぞれ showf, readf という名前がついている)
#oleg さんの printf もいいけど個人的には TH 使ってないぶんこっちのほうが好き
#滾ったので連投してみた
#ほほう
#しかし、型レにつきものの、ものすごいタプルがでてきてしまう
#たとえば、Text.XFormat.Show のクラス Format の instance 参照
#どちらをよしとするかは、審美眼だにゃー
#ちなみに、わたしはどちらもすごくていいなと思います
#むー、たしかにあのインスタンスはちょっとひいてしまう
#でもいちおう (%) っていうコンビネータがあるから、タプルのインスタンスは別にいらないような気もしている
#Prelude Text.XFormat.Show> showf (Int, "%") 40
"40%"
Prelude Text.XFormat.Show> showf (Int % "%") 40
"40%"
#Int % String % ... とつなげていけばタプルでできることは (%) を使ってもできるようになっている
#インスタンスがえらいことになっているのは、タプルが渡せてもいいんじゃね? というデザイン上の判断だと思われる
#でも大っきいタプルってほとんど使わないなー
#この間 (,,,) を使った気がするけどそれは data を作るのがめんどくさかっただけだし
#data になくってタプルにある利点ってなんだろ