mattn
_@compile-error.net
npub1937v...haj6
Long-time #Golang user&contributor, #GoogleDevExpert Go, #Vim, #Windows hacker, ex-#GitHubStars, #runner.
自鯖やノート PC 各所の nodejs を更新した。
/^ぽー*まん$/
I make A B の構文を見てはぇーになる人は多い。
これ去年コンパイルして動かした事あるけど、ちゃんと exe 吐いてました。
マクロ漁船、実際はアノニマスのお面をかぶった人が登壇していた。
現実的に楽したいなら yacc 使う事になるんだろうけど、あれはあれえ覚える事があって...
構文解析をスキップしてプログラミング言語を実装したいみたいなニーズ、uchijo さんがリンク貼ってたこの記事が良い。
字句解析などは JSON パーサに任せられるので。


Qiita
プログラミング言語を作る。1時間で。 - Qiita
あなたは、プログラミング言語を作ったことがありますか? エッ!?ない!? それはいけない。いますぐ作...
俺の使えるあの言語で Lisp ってどう実装するんだろう、と思ったら MAL を見るといい。おそらく世の中の殆どの言語での Lisp 実装がある。

GitHub
mal/impls at master · kanaka/mal
mal - Make a Lisp. Contribute to kanaka/mal development by creating an account on GitHub.
Lisp/Scheme 処理系作るの楽しいよ。
あと何日でリレー作るんだっけ
結局 Lisp が出てきちゃう。
定義が知りたいなら SICP だけど、今もう SICP を読む価値はあるだろうか。
swap は1命令なの?
最近のモダンなプログラミング言語を混ぜると説明がややこしくなるので、混ぜない方がいいんよね。言語によっては型が値だったりするし。
式だけで理解しようとすると難しいのかも。
式と対比するのが命令。命令は結果として値を残さない。
例えば Python の import あれは命令なので式じゃない。
どうせ忘れる(これは別に構わない)ので、今は雰囲気だけ理解すればいい。
もぐもぐおるな。
戻り値で演算結果を返す以外の事をすれば純粋関数じゃない。
最近そんなネタがあったね。seed が固定なら rand は純粋関数だ、みたいな。