プログラミング Gauche 開始

数ヶ月前から Lisp 系言語を羨望の眼差しで眺めつつ、余裕が出たとき、モチベーションが湧いたとき、機嫌の良いとき、、、と何かのきっかけで勉強したいなと思っていました。
そして、本日!
Lightweight Language 2008 の会場でオライリーさんの書籍販売が盛況なのを見ていて、自分も何か1つ欲しいと購買意欲が先にたって、選択肢は1つしかありませんでした(^ ^;;

プログラミングGauche

プログラミングGauche

Gauche - A Scheme Interpriter から tar ボールをダウンロードし、早速インストール。CentOS 用の RPM パッケージが見当たらないので後日、作ってみようかと思います。

さて、インストール終わったら取りあえず見たまんま実行してみます。歴史背景や文化や諸々は徐々に学習するとして「だまってコードを書けよ」的な志向が私は好きです。

マルチバイト文字(日本語)を使う場合、デフォルトでは gauche のビルド時に決定される内部エンコーディング(デフォルト UTF-8)を使用します。異なる内部エンコーディングの処理系でも実行される可能性があるなら、以下のようにエンコーディング指定します。これは色んな意味で「おまじない」として書くべきなんでしょうね。

;; -*- coding: utf-8 -*-

ちなみに python の場合は以下です。絶対、混同しそう(- -#

# -*- encoding: utf-8 -*-

Hello World と echo の合体プログラム。面倒だから。

#!/usr/local/bin/gosh
;; -*- coding: utf-8 -*-
(define (main args)
  (print "Hello, World.")
  (print (string-join (cdr args) " "))
  0)

実行結果。

$ gosh hello_echo.scm あいうえお
Hello, World.
あいうえお
$ echo $?
0