標高+1m

Make, Hack, Think

Carrot

Lispから可変長引数を引き算したらできること

Schemeから可変長引数を引き算したら -- Island Life Shiroさんが面白い記事書かれてたので、前に実際に可変長引数をなくしたLispを作って発見したことを紹介します。*1 実装者とは全く別の、遊ぶ人の視点からの記事です。 この記事では意図的にマクロを一切…

こんな言語が欲しい

Carrotに静的型付けを実装していくうちに、あれを表現するには代数データ型が必要だ、あれにはシノニム、あれには型クラスなりインターフェースなりが必要、そうするとimplementsだかinstanceだかみたいなのも必要になるし、って結局どんどんHaskellに近づい…

Carrotに別名を導入した

昨日の記事で、 例えば、真偽値はa -> a -> aな関数にして、型はBoolにしたいけど、 そうしちゃうと=cを使っても分岐の左右が同じ型かのチェックができなくなっちゃう ということを書いたんだけど、とりあえずこのBoolについての問題はシノニムを導入する事…

Carrotの変な型システムについて

年末年始は結局だらだらと本を読んで過ごしてて全然Carrotを触ってなかった。昨日今日と頑張ったらとりあえず動く型チェッカができて、わりかし欲しいものに近付いた気がする。 今はCarrotを、クロージャといくつかの基本型しかない、型なしλ計算計算機みた…

化ける!S式

(この記事はLisp Advent Calendar 13日目のためのエントリです。) こんにちは!冬休みに日本に帰るときに経由しているロサンゼルスの空港で書いています。アメリカ時間ではまだ13日ということで遅刻していないと言い張らせてください。 Lispアドベントカレ…

撫子からにんじんへ

トイ言語Nadekoの名前をCarrotに変えた。Schemeの一番最初のコンパイラの名前がRabbitだったらしいので割とお洒落な気がする。うさぎはにんじんが好きっていうのだけじゃなくて、 Rabbit Carrot で同じ文字数な上に文字がダブる位置まで一緒だから超お洒落だ…

Smalltalk-72 at Smalltalk勉強会(兼忘年会)

Ustream.tv: ユーザー CincomJapan: Smalltalk-users.jp@CINCOM, Smalltalk-users.jp@CINCOM. コンピュータ眠いので一応これだけ。