近所の本屋をぶらりとしたら、名著100選なる企画物をやっていた
そんで買って来たのがこれ
岩波文庫で出ているのは知っていたので、いつか読もうと思ってたんだけど
たまたま講談社学術文庫から出てる注釈付きの物を見つけたので、そっちを買ったのだ
いやぁ、とても面白い。するりとページが進む
タイトルに偽り無しの、「いき」の構造である。
「いき」って何よ? と言われても、上手く答えられないだろう
あたしゃ「え、えぇと、洒落っ気があってシンプルで天邪鬼で野暮じゃないやつ」くらいにしか答えられんかった
# 「いき」じゃないのを野暮というのだ、バカモノ
しかしまぁ、絵を見せられて「AとB,どっちが粋な柄?」とか
「AとB,粋なセリフはどっち?」とか問われりゃ、なんとなくは答えられる
縦縞の着物がいきだとか、鼠色が粋だとか、衿にぬきを作るのが粋だとか
そんな事言ってても、「いき」が何だかわかりゃしない
「それらは、『いき』を表現しようとした結果なのであって、どのようなものを『いき』と意識するかを先ず考えなければならない」
と、九鬼っつーおっさんは言ってるわけだ
要するに、形だけ追いかけても「いき」は分からんっつーこったな
と、いう前置きがあって、先ずはいきを意識現象として解釈するわけだ、客観的表現の追及はその後で
» 続きも読む
働いてないNizahです、こんちわ
シグルイが売ってなかったから代わりに買ってきたゆる4コマ
スクウェア・エニックス

笑えない4コマでした
ファミレスの非日常3
相変わらず変な連中が大騒ぎで楽しいですよ?
面白さ右上がり
半年振りの新刊!» 続きも読む
» 続きも読む
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は一番最後に環境を整える物 くらいに考えて良いのかもしれない。
と、書いているうちにインストールが終わった。
» 続きも読む


