on lispを手に取ってから今現在までの流れ

ここまでの流れ

だいぶ前に買って持ってたon lisp読む→全然意味が分からない→けど面白そう→楽器やるの飽きた時にlispやるか→lisp全然分かんねー→実践common lispが良いらしいので借りて読む→全然分かんねー→入門 common lisp借りて読む→ちょっとだけ分かる→って言っても作りたいものないとモチベーション続かない→webサイト作りたい→参考にするプログラムないだろうか→ウェブフレームワークって言ったらruby on railsrubyそんな詳しくない→楽しいrubyのプログラムリスト読む→試しにプログラムリストのページのrubyプログラム部分だけ抽出rubyプログラム書くか→抽出できた→lisp on railsやりたいならrubyのコード読む環境整えなきゃな→ ctags導入→sublime text良さそう→sublime textとsublime textのctagsプラグイン導入→これめっちゃ良いやんけ→sublime textのlisp環境作れるやんけ→sublime textでreplめっちゃ便利!!→on lispの隣にシェルスクリプトのリファレンス本あったので読む→シェルスクリプトめっちゃ便利やんけls >> list.txtとか→前作ったrubyプログラム部分抜き出す奴をシェルスクリプトで作る→できない...→教えてgooに質問投稿→3時間くらいで回答あった→教えてgooめっちゃ便利やんけ→人間は1人では生きていけない→学びがある→入門common lispにあるコードとかマンガで学ぶlispのコードをぼちぼち覚えるか→やっぱりrubyでできることをlispで再現するか→抽出するやつをlispでやるか→イマココ

lisp chords 2

'lico

'suzu

(cons 'lico 'suzu)

'1

(cons 2 nil)

(cons 1 (cons 2 nil))

(cons '+ (cons 1 (cons 2 nil)))

(cons 1 (cons 2 nil))

(eval '(+ 1 2))

 

(eval '(cons '+ (cons 1 (cons 2 nil))))

(eval '(list '+ 1 2))

 

 

'(cons '+  (cons 1 (cons 2 nil)))

 

 

(eval (eval '(cons '+ (cons 1 (cons 2 nil)))))

(eval (eval '(list '+ 1 2)))

 

(eval '(cons '+ (cons 1 (cons 2 nil))))

(eval (cons '+ (cons 1 (cons 2 nil))))

 

(cons 'a (cons 'b nil))

(cons 'a (cons b nil))

(cons 'a (cons "b" nil))

(cons a (cons "b" nil))

 

(cdr (cons 'a (cons 'b nil)))

(cdr '(a b))

(car '(quote a))

(car ''a)

lisp chords 1

f:id:lisp_yanaka:20170318151937j:plain

(+ 1 2 3)
(+ 1 (/ 1 3))
(+ 1/3 1/3 1/3)
(+ 0.3 0.3 0.3)

 

(cons 1 2)
(car (cons 1 2))
(cdr (cons 1 2))
(cons (cdr (cons 1 2))3)
(cdr (cons (cdr (cons 1 2)) 3))
(car (cons (cdr (cons 1 2)) 3))
(cons (cons 1 2) (cons 3 4))
(list (cons 1 2) (cons 3 4))
(car (cons (cons 1 2) (cons 3 4)))
(cdr (cons (cons 1 2) (cons 3 4)))
(cdr (cdr (cons (cons 1 2) (cons 3 4))))
(* (+ 1 2) (- 3 4) (+ 5 6))
(defun 2jyo (n) (* n n))
(2jyo 2)
(defun inc (x &optional (y 1)) (+ x y))
(inc 1)
(inc 1 2)
(+ (print (+ 1 2)) (print (+ 3 4)))
'(+ 1 2)