(gauche :golf 0)

簡単な問題なら縮むようになってきた。

  • rec / cut / pa$
    • 生lambdaの出番は無さそう。
  • `(x,y,@z) = (quasiquote (x (unquote y) (unquote-splicing z)))
    • 「 (cons x y) 」より「 `(,x,@y) 」。
    • 「 (rec(_ x) ...) 」より「 (rec'x ...) 」*1
(while(read-line)#//=> x ...) ; EOF判定(最後はエラー終了)

((#/\d+/(read-line))) ; 入力から数値を抽出
  • #`",|interpolated|string"
(char-alphabetic? c)
; ↓ ;
(#/[a-z]/i#`",c")

*1:→「 (rec (quote x) ...) 」→「 (define quote (lambda (x) ...) 」と展開される。