タグ

2010年5月14日のブックマーク (3件)

  • 更新履歴兼雑記 - Ioはいいものだ

    と、思う。改めて。飛び抜けて素晴しい部分があるわけじゃないけど、あるべきものがある良さ、というかそんな感じ。紹介文みたいなのを書いてみたくなったので書く。 http://www.iolanguage.com/ プロトタイプベースのオブジェクト指向言語。だいたいのことがオブジェクトへのメッセージだと考えればいい。 a := 1 write (a, "\n") a = 2 write (a, "\n") updateSlot = method(x, write("update ha iya da!\n") ) a = 3 write (a, "\n") 初期化は := で、後からの代入は = で行なわれる。 = は updateSlot の呼び出しに他ならないので、このプログラムを実行すると、 1 2 update ha iya da! 2 と表示される。まあこんなことは他でもできる言語は多い

    更新履歴兼雑記 - Ioはいいものだ
    prisira
    prisira 2010/05/14
  • Eiffel - Wikipedia

    -- コメント class クラス名 inherit 継承元のクラス(継承しない場合は省略可) creation コンストラクタの宣言(コンストラクタが必要ない場合は省略可) feature{アクセス権限} メンバ変数、メンバ関数の記述 end Eiffel は「クラスとはオブジェクトの生成機である」という考え方が徹底しており、このため両者の概念を混同するようなクラス変数やクラスメソッドの機能は存在しない。このことは「クラスもオブジェクトの一種である」と考える Smalltalk とは対照的である。 また「クラス」に対する考え方も独特で、例えば Java ではソースファイルをコンパイルすると「クラスファイル」というファイルを作るのを見てわかるように、一般的には「ソースコード」は「クラスの設計図」という概念であるのに対し、Eiffel では「クラス」とは「ソースコードそのものである」という考

    prisira
    prisira 2010/05/14
  • D 始めました。 - template

    C++ や Eiffel なんかにあって、 Java にも導入されようとしている generics ですが、 D でももちろんサポートされています。 基的なことがわかっていない方は、 K.INABA氏の解説を参照のこと。 おしながき メタプログラミング 自己言及的な… 制約 実体はどこに… メタプログラミング C++ 同様、template を使ってメタプログラミングができます。 template meta-programming については、 ここでは説明しません。 partial specialization を用いる C++ 的なコンパイルメタプログラミングはどうしても 再帰を多用したプログラミングになるということで、 再帰の例としてよく使われるけど全く例としてふさわしくないとして、 Efficient C++ で絶賛されているフィボナッチ数列を。 とりあえず C++ だと… #i

    prisira
    prisira 2010/05/14