海野秀之(うんのひでゆき)の外部記憶
Twitter (twolog) / Twitter2 (twolog2) in English / RSS / アンテナ / ぶくま / UikiTeXi pages
Haskell プログラムをあるていど読み書きできるようになってから読むと、面白いぞ!
http://d.hatena.ne.jp/m-hiyama/20060821/1156120185
第2歩のコメント欄より:
圏の一般論では、圏の条件(公理)で述べていること以外は何も仮定しません。圏の公理のどこをみても、「対象は集合だ」とか、「射は作用である」とか書いてないですよね。
ふむふむ。
$ cat bin/syntax_print_html.sh #!/bin/sh gvim -n -c "let g:use_xhtml = 1" -c "let g:html_use_css = 1" -c "let g:html_number_lines = 1" -c ":runtime! syntax/2html.vim" -c ":wqa" $1
ここでみかけて、さっそく Kindle 版を購入して読んでいる、『NASAより宇宙に近い町工場』が面白い。
自分で読んでもおもしろいけど、自分より若いひと、自分の子に読んでほしいと思える本。
世の中には、やるまえから諦めちゃう理由になりそうなものがたくさんある。たとえば、完成度の高すぎる「製品」とか。でも、最初につくられたときには、それだって手作りだったんだよ、というのは自分が子供のころになかなか気付けなかった事実だ。
『21世紀こども百科 もののはじまり館』も気になる。
どちらも、自分の子たちに読んでほしいなぁ。
余計なこと: ほーんのちょびっとだけ、反知性派っぽい言い方が気になるところがたまーに。
追記 (2/6): 読み終わり。上に書いた「余計なこと」は、ほんとに余計だった。これは、進学するあたりを読んでいたころの感想。後半は、どんどん前向きなムードで、よかった。
幼稚園児からもらった手紙が、よかったなぁ。あんな手紙もらったら、泣くわ。
これは、親(自分たちのことね)が子に読ませる本というよりは、大人として、子供に対する接し方を反省するために読むのがいいかなと思った。
自分の子たちにも、いいタイミングで渡せればいいんだけど。
ちょびちょびと。
んで、Lexer.x にでてくる、haskell :- というのがわからないなぁと思っていて(Alex User's Guide には tokens :- というのはあるんだが…。
"haskell :-" でググッても、それらしいものは見つからないような。
http://www.haskell.org/alex/doc/html/alex-files.html
The rules are heralded by the sequence ‘id :-’ in the file. It doesn't matter what you use for the identifer, it is just there for documentation purposes. In fact, it can be omitted, but the :- must be left in.
まじすか。
gvim -n -c "let g:use_xhtml = 1" -c "let g:html_use_css = 1" -c "let g:html_number_lines = 1" -c ":runtime! syntax/2html.vim" -c ":wqa" $filename
普段はDoxygen でわーっとやってしまうところ。今回は Assembly なファイルをハイライトしたかったので。
Doxygen に適当なフィルタかませば Assembly なファイルも扱えるそうですが、今回は手軽に gvim をバッチ的に使う方法を。
この方法は、gvim が syntax highlight してくれるファイル種なら、なんでもOKです。Doxygen のようにリンクはってくれたりはしないので、代替にはなりません。
スペイン語で「〜と言っていた (tenia que decirlo)」だとも言われているようです。
これが:
-- qsort :: Ord a => [a] -> [a]
qsort [] = []
qsort (x:xs) = qsort smaller ++ [x] ++ qsort larger
where
smaller = [a | a <- xs, a <= x]
larger = [b | b <- xs, b > x]
main :: IO ()
main =
do let helo = "Hello, World!"
putStrLn helo
putStrLn.show $ qsort [3, 1, 4, 1, 5, 9, 2, 6, 5]
putStrLn $ show $ qsort helo
こうなればよいと:
Hello, World! [1,1,2,3,4,5,5,6,9] " !,HWdellloor"
# うんの [自分でコンピューターをつくりたいなぁと思っていた小〜中学生時代、クロック発振器がつくれそうな気がしなくて、マブチモー..]
# うんの [だけど、円運動で正弦波をこしらえて、スイッチで整流するという考えは、まったく間違っていなかったような気がする。 ..]
# うんの [むかしは、ゲームとかピコピコしていて、自分でもなんだか作れそうな気がした。 私がコンピュータプログラミングに興..]