Amazonさんでカレンダー注文した

月齢カレンダー、もう2年使ってます。 あれ、3年だったかな?
まぁ、どっちでもいいや、お気に入り。
あと、忘れないうちによつばとひめくり
よつばとひめくり2009
これも3年目かな?
» 続きも読む
そういや、そろそろ2007年度が終わるぞ、と気付いた
日捲りも、枚数が残り少ない、2008年度用を注文しなきゃ
※4月~3月の、年度に合わせたモノなのだ
3/10発売、危ない、忘れてた
» 続きも読む
if (if-else)
while
do-while
for と、C/C++ と同じ物が用意されている。
条件式は int type を返さなければならず、 0 が偽でそれ以外が真だ。
Limbo の case (switchでは無い)は少し変わっている。
» 続きも読む
試しに、 helloworld.b をふざけた具合に書き直してみた。
init(ctxt : ref Draw->Context, args : list of string)
{
# 日本語で書いてみる。
システム : Sys;
システム = load Sys Sys->PATH;
システム->print("こんにちは 世界 !");
}
Windows上で動いているInfernoには、何の苦も無く日本語が打てた。
acme で Font /fonts/pelm/unicode.9.fonts を ボタン2クリック (以降 click(2) ) してやれば、フォントもちゃんと表示してくれる。
このコード、エラーも無くコンパイルでき、エラーも無く実行できた。
» 続きも読む
モジュール・インタフェース定義では、そのモジュールのtype(型)を定義する。
先の例では HelloWorld だ。
モジュール・インタフェース定義では、この type のみを定義していて、
その中身は別の話である。 つまりはインタフェースの定義と実装は別という話。
モジュールの type と 実装(または値)を関連付けるには、 load 命令を使用する。
このload 命令は、ランタイムに評価される。
先のHelloWorldは、多分実行時にDis VM が インタフェースとその実装を関連付けたんだろう。
» 続きも読む
import を使用すれば、他のモジュールからメンバをインポート出来る。
module_member : import module_variable;
helloworld.b を書き直すと
» 続きも読む
いよいよコードを書いてみよう。
とは言っても、先ずは HelloWorld
limbo には .b (ソースファイル) .dis (コンパイル済みバイトコード)の他に
.m (モジュール定義) があるらしい。
C のヘッダファイルみたいな感じかな? Pascal 流の declare にも近い気がする。
# helloworld.m
Helloworld : module
{
init : fn(ctxt: ref Draw->Context, args : list of string);
};
# helloworld.b
implement Helloworld;
include "sys.m";
include "draw.m";
include "helloworld.m";
init(ctxt : ref Draw->Context, args : list of string)
{
sys : Sys;
sys = load Sys Sys->PATH;
sys->print("Hello World !");
}
» 続きも読む
install.pdf に書いてあった、というか一通りのチュートリアルが書いてある。
起動して色々アプリも起動してみた。
charon (三途の川の渡し人だっけ?) という名の web browser がある。
スクリーンショット
» 続きも読む
