![http://www.phratch.com/](https://cdn-ak-scissors.b.st-hatena.com/image/square/5b4dae61de67b01377e8b5c3401196e19c847ef7/height=288;version=1;width=512/http%3A%2F%2Fwww.phratch.com%2Fwp-content%2Fuploads%2F2014%2F02%2Fcropped-Robot-png-300x273.png)
h003149b さん(?)の「SchemeとActor理論」 http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/actor/actor.html こうして改めてアクターによるプログラミングを見ると、そこで要求されるメンタルモデルが Smalltalk-72 のそれとそっくりであることに驚かされますね。 ところで、オブジェクト指向の成り立ちに触れた文章では、よく、オブジェクト指向(この文脈では、おそらくケイのオブジェクト指向。つまり「メッセージング」)は、アクター理論から(後に)派生して生じたものである…というような記述を多く見かけるのですが、これもまたオブジェクト指向にまつわる数ある“常識のウソ”(id:m-hiyama さん、お気をつけて!w)のひとつで、実際は逆、つまりケイのメッセージングのアイデアが、ヒューイットのアクター理論につな
The Amber language is deeply inspired by Smalltalk. It is designed to make client-side development faster and easier. Amber includes a live development environment with a class browser, workspace, unit test runner, transcript, object inspector and debugger. Amber is written in itself, including the compiler, and compiles into efficient JavaScript, mapping one-to-one with the JS equivalent. The app
AmberとSmalltalkとオブジェクト指向 Presentation Transcript ì AmberとSmalltalkとオブジェクト指向 前田康行 (@maeda_) 2013.6.29 だいなごやJS 2013.6.29 だいなごやJS 自己紹介 ì 前田康行 (@maeda_) ì フリーランス 始めました ì 屋号 入一 (h4p://www.illi-‐ichi.com) ì 好きな言語 ì Scala ì Smalltalk 2013.6.29 だいなごやJS 前回の大なごやJS ì Elmで始めるFuncDonal ReacDve Programming h4p://www.slideshare.net/maedaunderscore/elmfuncDonal-‐reacD
2011/08/22 JavaScriptによるSmalltalkの実装 JavaScriptでSmalltalkを実装してしまった人がいる[hackernews]。Jtalkは、JavaScriptランタイム上で動作するSmalltalkの処理系で、クラスブラウザやワークスペース(Smalltalkの式を実行できる)などのIDEも含んでいるためブラウザ上でWebアプリケーションのクライアントサイドを開発することができるというもの。他にもClamatoという実装もあるが、ClamatoはSmalltalkとは異なる独自の方言だが、JtalkはPharo Smalltalk互換とのこと。そして、Jtalk自身で記述されたコンパイラで効率的なJavaScriptコードを生成できる。 メールで送信 BlogThis! Twitter で共有する Facebook で共有する Google バズで
A glimpse of Pharo$ wget -O- https://get.pharo.org/64 | bash $ ./pharo Pharo.image eval "42 factorial"TeaserSimple & powerful language: No constructors, no types declaration, no interfaces, no primitive types. Yet a powerful and elegant language with a full syntax fitting in one postcard! Pharo is objects and messages all the way down.Live, immersive environment: Immediate feedback at any moment o
JavaはInterfaceという特殊な実装を持たないものだけ多重継承できる。実装を多重継承する仕組みはない。同じシグネチャのメソッドを持っている2つのInterfaceを継承した際にエラーにならないので衝突に気付けない。 Pythonはクラスを多重継承できる。同じ名前のメソッドを持っている2つのクラスを継承した際にどのメソッドが呼ばれるかはC3線形化を使って決定される。see: A Monotonic Superclass Linearization for Dylan RubyはModuleという「なにかを継承することはできなくてインスタンス化もできないもの」だけは多重継承できる。Moduleが別のものを継承できないためメソッドの解決は素朴な探索でOK(include A include BしたらBでの実装が優先) SmalltalkにはTraitという実装の多重継承ができるしくみがあ
今度は Squeak と Haskell 数字について調べて行きます。数字は一番基本的でなじみやすいデータなので、言語の性質が現れやすいと思います。 数値型の構造 Squeak と Haskell それぞれで用意されている型は次の物があります。 固定長整数 Squeak : SmallInteger Haskell : Int 任意長整数 Squeak : LargePositiveInteger, LargeNegativeInteger Haskell : Integer 倍精度浮動小数点 Squeak : Float Haskell : Double 分数 Squeak : Fraction Haskell : (Integral a) => Ratio a 複素数 Squeak : Complex Haskell :(RealFloat a) => Complex a これらの数値
私は Haskell の一番すごい所は型クラスだと思っているんですが、ここ数日それを言葉にしようとずっと悩んでいました。結局、もう一つの好きな言語なSmalltalk と比較して型クラスがどういう物か書いてみる事にしました。 型クラスという名前について Smalltalk に染まってしまった人にとって、「型クラス」というのは最悪なネーミングです。あまりにも Smalltalk のクラスと違いすぎるからです。機能的には traits や Java のインタフェースから継承を除いた物と思ったら良いです。また、「継承」や「インスタンス」など、Smalltalk と Haskell 両方で使われる言葉はことごとく別ものと思った方が良いです。 型クラスの位置づけ Smalltalk をはじめとするオブジェクト指向言語の機能をそのまま Haskell で実現しようとすると最初はすごく戸惑います。日本語
Smalltalk Tidbits, Industry Rants - Seaside and Rails Comparison Rails と Seaside でそれぞれ "Hello World!" Web アプリを作った(Ruby on Rails は出来合いのものを使用?)あと、バグを仕込んでわざとエラーを起こさせ、簡単なデバッグ作業を比較してみせる5分弱のムービーです。Seaside には Squeak Smalltalk ではなく、Cincom Smalltalk(VisualWorks)を使っています。VisualWorks のコードブラウザの使い方(クラスの新規作成やそれへのメソッドの追加や修正方法…)の入門にもお勧め。 個人的には、ちょうど Leopard をインストールしたところなので、こんなかんじの WebObjects 版みたいなのがあると併せて試せてうれしいですね
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く