2008/11/23

【scheme】Hello world

schemeでHello world!!


参考はこちら
http://www.shido.info/lisp/scheme4.html


schemeは関数型言語
最近流行(?)のHaskellは純粋関数型言語らしいが、schemeはどうやら非純粋関数型言語らしい。

(define hello "Hello world") 
(define sayHello
    (lambda () hello)) 

hello
(sayHello)


実行結果
"Hello world"
"Hello world"


正直まだコメントの書き方も、変数や関数の名前付けの傾向もわかりませんw


(define hello "Hello world") ⇒ defineは引数を2つ取る組み込み関数
(define sayHello ⇒ 1つ目の引数がグローバル変数の名前
(lambda () hello)) ⇒ 2つ目の引数が変数の中身
⇒ ここでは1行目で定義したhelloグローバル変数の中身を出力するようにした
hello ⇒ 1行目で定義した変数の中身が出力される
(sayHello) ⇒ 2行目で定義した関数が実行された結果が出力される


関数型言語は、「さんしょうとうかせい」と「ふくさようがない」ということで、バグの少ない良いプログラムを書くことができるらしい。
C#のラムダはこういった関数型言語から影響を受けたらしい。
Rubyは、「MatzLisp」とか「Algolの仮面をかぶったLisp」とか呼ばれてるらしいね。
らしいばかりでスマソ。

0 件のコメント:

コメントを投稿