Gauche
install
$ brew install gauche
emacsで起動
Emacsのコマンドを理解せずに打ってるのでそのまま書くmrsekut.icon $ emacs
emacs起動
C-x C-h
defaultで表示されているやつを消す
これやり方合ってあるのか知らんmrsekut.icon
適当にこれやったら消えたのでこれでいってるだけ
もしくはC-x hで全体を選択して消すか
C-c G
Emacsの設定ファイルに書いたコマンドmrsekut.icon これを実行することで別windowでGaucheを起動
左側のwindowでgaucheを書く
式を書いてカーソルを最後に合わせてC-x C-eで実行されて右に表示される
あとは適当にここでやっていけばいい
複数行の入力もできる
終了
C-x C-c
Gaucheで使うEmacsの便利なコマンド
慣れてきたら覚えようmrsekut.icon
便利な設定とか
Emacsの設定ファイルに書いていくといいmrsekut.icon VSCodeの設定は知らん
goshコマンドでも起動できる
が、左右移動できないとかで不便
やりようあるかもしれないがめんどいので調べてない
$ gosh
> (exit)
インタプリタ終了
$ gosh hoge.scm
実行
真偽値は#t,#f
条件分岐
code:lisp
(if (> 3 2) 2 1)
パターンマッチ的なやつ
cond
(cond [<条件式> <返す値>] [<条件式> <返す値>] [else <返す値>])
例
code:find.lisp
(define (find pred lis)
角括弧[]は、丸括弧()でもどっちでもいい
[]の方が他の括弧と別に目立つので可読性が上がってちょっとうれしい
この関数をHaskell風に書くとノリがわかる
code:hs
find f xs
| xs == [] = False
| f $ head x = tail x
| otherwise = find f $ tail x
このコードはコンパイル通らないし、普通もうちょいスマートな書き方をするがイメージとしてmrsekut.icon
関数名の末尾に!があるやつはなに?
慣習なんだろうけど、何の慣習なのかわからない
破壊的変更とか?