紳士の立ち振る舞いに興味を持った男は、この紳士と話せば自分も同じようになれるのではないかと思い
どうにか彼と話すきっかけは無いかと探した、ふと、店の外を眺めると三人の女性が歩いてくるのが見えた
「Perfumeをご存知ですか? 今人気の音楽ユニットですよ」
紳士は顔を上げたが、無言のままだった
「左を歩いているのが、のっちです」
紳士は黙ったまま、コーヒーを口にした
「真ん中が、かしゆかです」
紳士は「アイドル的だね」と言い、またコーヒーを口にした
「右を歩いているのが、あーちゃんです」
「素晴らしい、あんな可愛らしい子は見た事が無い。人気も分かるというものだ」
紳士はそう言うと軽く微笑んだ
男は紳士と言葉を交わせた事を嬉しく思いながらも、疑問に思った
「のっちは好みではないのですか?」
» 続きも読む
ぼけーっとTV見てたら、ゆるーくトークする感じの新番組が始まった。
メイン司会がPerfumeだった。
テクノポップで見た目が残念な三人組ってイメージしか無かったけど
のっちはかわいいな(゜Д゜)
もうすぐCDが出るらしい。
聞いた事のある2曲(ポリリズムと「恋の運命は~」)が入ってるようなので
買ってみてもいいかな?
これが良かったら前のアルバムも買おう
てなエントリを書いてたら
» 続きも読む
» 続きも読む
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 がある。
スクリーンショット
» 続きも読む
※必ずしも書いてある通り/順 でやってるわけじゃないけど
まずは、Section 1 introduction
とりあえず、インストールしよう。
WindowsXPにインストールする。
vitanuovaから Inferno 4th Edition をダウンロード。
CD Image の方が楽だろう。
install ディレクトリに setup.exe があるのでポチっと実行
Inferno Root (インストールディレクトリ)を聞かれる。
僕は F:\Inferno と答えておいた。
インストールしてる間に、Infernoとは何ぞやと整理してみる。
・Plan 9から派生したOSで、その概念はPlan 9と共通する部分が多い
リソースがファイルとして表されてたり、プロセス毎にネームスペースがあったり。
・単なるVMではない。
「Windowsで動く? Javaと同じくVM?」 と思いがちだが、InfernoはOSである。
ただし、VMも持っている。 Dis VM という名前のVMがそれだ。
NativeのInfernoは、ハードウェアの上でInferno Kernel, Device Driver なんかが動き、
その上で Dis VM が動いている。
一方で、WindowsやUnixの上で動作する Inferno emu(こっちはエミュなのだ)では
Host OSの上に、InfernoのDevice Driver等が載り、その上でDis VMが動いている。
VMというと、高コストな物を想像してしまいがちだが、Dis VMは一番最後に環境を整える物 くらいに考えて良いのかもしれない。
と、書いているうちにインストールが終わった。
» 続きも読む
