タグ

squeakに関するjjzakのブックマーク (103)

  • How To Become A Hacker

    #数学の問題 #プログラミング ノイマンの方法で非負整数を作る。 0 = {} 1 = {{}} 2 = {{},{{}}} 3 = {{},{{}},{{},{{}}}} … あなたの好きなプログラミング言語で作ってみよう! — 結城浩 (@hyuki) May 17, 2016 これがなかなか手こずりました。 いや、アルゴリズムが、って意味じゃなくって計算速度がなかなか上がらんキッツい問題だな、と言う意味です。 さて、これは定義上は、見かけはビックリするんですが、実は実装的にはPythonのrange関数(あるいはSchemeのSRFI-1のiota)の再実装みたいなモンです。 つまり、入力nに対して何を返すのか、と言うと実は 1を入力 -> [0]を返す 2を入力 -> [0, 1]を返す 3を入力 -> [0, 1, 2]を返す ってのと全く同じ事をしてるんですね。ただ、最初に0を

  • Smalltalk基礎文法最速マスター(Squeak版) - Smalltalkのtは小文字です

    はてな的プログラミング言語人気ランキング - Life like a clown 流行りには乗っておくのが吉…と思いつつ、なかなか書き進められないので、とりあえず、クラスやメソッド定義より前のごく基礎的な部分について。思いついたときに断わりなく追記・修正することがありますので、どうぞあしからず。(さっそくですが、タイトルを他の言語のものにあわせて変更しました) ■基的な考え方 Smalltalk では「オブジェクトに対してメッセージを送る」という考え方のみでコードを書きます。「メッセージ式」と呼ばれる式のみを用います。 ▼メッセージ式 メッセージ式の基文法です。 receiver message ▼カスケード 式の終わりにセミコロン「;」を置くと、直前のメッセージのレシーバーに対して、続くメッセージを畳みかけるようにして送ることができます。これを「カスケード」と呼びます。 receiv

    Smalltalk基礎文法最速マスター(Squeak版) - Smalltalkのtは小文字です
  • (:on clojure)

    MacBook Air 11インチ欲しい! 当たったら毎日持ち歩きますよ。 MBPは正直重くて持ち歩く気にならない。 MacBook Air 11インチ欲しい! 当たったら毎日持ち歩きますよ。 MBPは正直重くて持ち歩く気にならない。 ここ最近、Google App Engine(GAE)でCompojureのアプリを動かそうと試みていましたが、デプロイしたURLにアクセスすると Error: Server Error The server encountered an error and could not complete your request. If the problem persists, please report your problem and mention this error message and the query that caused it.と出てしまいま

    (:on clojure)
  • 東大での講演 - squeakerのブログ

    (ちょっとだけ追記しました。その他1/25のあたりも見てみてください。) "Can programming be reinvented?"というタイトルでの発表。東工大と東大で似たような発表をしたのだが、ストーリーラインが比較的新しいため、先にやった東工大での発表には反省点がいろいろあり、それが東大での発表に生かされた形になったのは否めない、かもしれない。以下は、かなり再現性の低いメモ。詳細はさらに聞いてください。「私」はもちろんAlan Kayを指します。 近所の人から、「なんで新しいコンピュータのほうがWindowsの起動やMS Wordの起動が遅いの?」、「大きいディスクがついているはずなのに、なぜ使える容量が少なくなるの?」、「アップデートをしたら、何で再起動しなくてはいけないの?」という質問をされる。なかなか良い質問である。 私自身も、コンピュータに関する疑問がある。「なぜ、コン

    東大での講演 - squeakerのブログ
  • 最低限の Smalltalk デバッガ入門(Squeak システム向け) - Smalltalkのtは小文字です

    Smalltalk ではスタックフレームも「コンテキスト」と呼ばれるオブジェクトです。ちなみに、実行中のコンテキストに容易にアクセスできるようにわざわざ thisContext という擬変数まで用意されています。Smalltalk には予約語は全部でたった6つしかない(他は self、super、nil、true、false)うちのひとつを使うわけですから、これはある意味、破格の扱いです。 こうした背景もあってか、はたまた私の単純な思い込みでか、Smalltalk のデバッガは「コンテキスト(や、その連なりによって表現されるコールスタック)をブラウズするためのツール」という性格が強いように感じられます。クラス用ブラウザがクラスブラウザ、インスタンス用がインスペクタなら、デバッガはコンテキスト向けに特別に用意された“第三のブラウザ”といったところでしょうか。 ▼デバッガの起動 デバッガを起動

    最低限の Smalltalk デバッガ入門(Squeak システム向け) - Smalltalkのtは小文字です
  • Smalltalkのつまみ食い - みねこあ

    ゆの in language は面白かったけれど、ハッカーとかギークだとか、その気のある人しか楽しめないと凪瀬さんは言う。 「秘密結社的な壁」と言われるとなんだかカッコよすぎで、「ちょっと大げさ・そこまで高い壁じゃないよ」と言いたくなっちゃうけれど、ようするに変態は変態を識るということですね、と言い換えると、なるほど、壁は高そうですw(いぬかみっ!のようです...) 実際、我が身を振り返れば、恥ずかしながら、よぅわからんネタが結構あったなぁと(^^; このお祭りをフルで楽しめたのは そうとうの変態、もとい、よほどの言語マニアとかハッカーさんに限られたのかもしれません。 しかしそれではちょっともったいないです。特に、ゆの in Smalltalk は、ゆの in Java の 純粋にハッカー達のすばらしき変態さ(ほめ言葉)を楽しむパターンとちがい、Smalltalk の変態さ(ほめ言葉)も併

    Smalltalkのつまみ食い - みねこあ
  • SeasideへGO!!インデックスページ | オブジェクトの広場

    技術講座] Seaside へ GO!! -- 楽々サーバサイド Web プログラミング -- ブループレイン 梅澤 真史 第1回: Seaside を試す 第2回: コンポーネントの作成 第3回: コンポーネントの連携 第4回: データベースへの接続 part 1 第5回: データベースへの接続 part 2 第6回: Seaside で GO!!! Let's "do it"!! © 2008 - 2009 Masashi Umezawa HOME TOP

  • SeasideJOnePlus

    SeasideJOnePlusとは: SeasideJOne に、自習で役に立つSeasideの解説資料や、サンプルコードを同梱したものです。 SeasideJOnePlusDB(RC5)。Glorpを使うサンプルの微調整です。 (2009/4/25) SeasideJOnePlusDB(RC4)。Glorpを使うサンプルの微調整です。 (2009/3/6) SeasideJOnePlusDB(RC3)。Glorpを使うサンプルの微調整です。 (2009/2/28) SeasideJOnePlusDB(RC2)。Glorpを使うサンプルのバグ修正です。 (2009/1/18) SeasideJOnePlusDB(RC)を作りました。DBアクセス用のサンプルを同梱しています。ReadMe-ToDoList.txt (2009/1/12) SeasideJOnePlusDB(Beta2)を作り

  • Seaside - ど素人のためのど素人によるSqueak入門

    Seasideとは † Webアプリを作るためのSmalltalkで実装されたフレームワークです. Webサービスのビジネスロジックを容易に構築 柔軟なビジネスロジックの実装を実現するフレームワークとなっている。 Smalltalkによる動的な変更 Webブラウザからソースの修正/CSS編集が可能で、修正後すぐに動作を確認できる。 いくつものWebアプリケーションを同時にURLにマッピングして動作 ↑ 日曜プログラマにとってのSeaside † 日曜プログラマにとってWebアプリって、に小判のような気もしますが。まぁローカルでSqueakのアプリのフロントエンドとして動かしてみると見れば敷居は低くなります.実際kawaも最初はWebアプリなんていじることはないだろうと思ってましたが、(Morphプログラミングに挫折した者にとって)SeasideをSqueakのUIとして使ってみたらなかな

  • SeasideへGO!!(第1回) | オブジェクトの広場

    等である。 Seaside はこうしたルールを全て破った Web アプリケーションフレームワークだ。 Web 開発でこれまで叡智とされてきたことを放棄してみると何が得られるのか? 実に多くのことが、得られたのだ。 つまり、Seaside では今まで Web 系でお約束とされてきたことに反する以下のような特徴を持ちます。 できる限り状態を保持する URL は一過性のものを使う テンプレートを利用しない なんだかめちゃくちゃのようですが、意味もなく反逆しているわけではありません。 これにより、隅から隅まで、徹底してオブジェクト指向の Web アプリフレームワークを実現しています。 一般的な Web アプリフレームワークは、だいぶ洗練されてきているものの、まだまだ手続き指向であるものが多いと言えます。 オブジェクト指向でプログラミングというよりは、フレームワークが用意する複雑な設定ファイルをいろ

  • 最低限の Squeak Smalltalk 入門 - sumim’s smalltalking-tos

    ついでにSmalltalkでも試そうと思ってSqueakをインストールしたけど… - 西尾泰和のはてなダイアリー Smalltalk、特に Squeak Smalltalk は、言語処理系や IDE というより、あたかも“ゲストOS”のように振る舞うので、ちょっと試してみたいと思い立ってインストール&起動まではできたものの、そこから先には、独自の GUI や操作スタイルに阻まれて進めなかった…という経験をお持ちの方も多いと思います。 そこで、Smalltalk 環境独自の GUI ツール群の使い方はあとで覚える(あるいはそもそもそれほど興味がない←しょぼーん…(^_^;))として、今のところは、試してみたいコードを動かしたり、どんな動作になるのか確認ができればいい…といった忙しい人向けにざっくり、Smalltalk 式を評価するための方法のようなものを書いてみました。 とりあえず、マシンが

    最低限の Squeak Smalltalk 入門 - sumim’s smalltalking-tos
  • id:m-hiyama:20080109:1199863428 を Squeak Smalltalk で - Smalltalkのtは小文字です

    なにかいろいろと大事なポイントをハズしてしまっているような気もするのですが、ひるまずに。 図は、赤矢印が継承関係、黒矢印がクラス-インスタンス関係です。 Object subclass: #Person instanceVariableNames: 'name' Person class >> named: nameString ^self new name: nameString; yourself Person >> name: nameString name := nameString | s1 s2 p | s1 := 'Hello'. s2 := 'Bye-bye'. p := Person named: 'tonkichi'. " 1 " self assert: [ByteString allSuperclasses includes: Object]. self asser

    id:m-hiyama:20080109:1199863428 を Squeak Smalltalk で - Smalltalkのtは小文字です
  • Squeakで学ぼう

    | HOME | Copyright (C) 2007 Koike Information Design Lab. All Rights Reserved.

  • スクリプト言語の比較

    スクリプト言語の比較 *1 *2 *3 *4 *5 *6 *7 コメント 行の継続 定数 未代入の変数へのアクセス 変数の展開 入出力 出力 フォーマット出力 出力先変更 標準入力 __END__ 演算 +1 整数/整数 負数の除算 文字列 真と偽 多重代入 多岐分岐 関数 関数 関数引き数 関数引数に対する副作用 関数のデフォルト引数の値の評価タイミング 関数のデフォルト引数にコンテナ型を使用した場合の振舞 関数戻り値 関数の再帰 関数の別名 関数定義内関数定義 関数の引数の順番 関数にファイルハンドルを渡す オブジェクト指向 クラスの定義 インスタンスメソッドの定義 メソッドのクラス内での利用 インスタンスメソッドの可視性 インスタンスメソッドの追加 インスタンス変数 インスタンス変数の可視性 インスタンス変数の追加 クラス変数 クラスの継承 多重継承 スーパクラスのメソッド呼び出し

  • Overview - Seaside Tutorial

    Note: The print version of the book is still based on Seaside 2.8 but will be updated soon. The tutorial and additional content is also available in printed form. You can order the book via Lulu: http://www.lulu.com/content/2234565BibTeX Entry Book descriptionNote: The print version of the book is still based on Seaside 2.8 but will be updated soon. Seaside is a Web development framework implement

  • RubyTraits-0.2 であそぶ - sumim’s smalltalking-tos

    Matzにっき 経由で、RubyForge: RubyTraits 。 Traits というのは、 Black、Schärli らにより 2002 年頃に提唱され、Squeak Smalltalk を使って実験的な実装が行なわれていた新しい多重継承機構やそのためのエンティティ(trait)のことです。Squeak Smalltalk では 3.9 から組み込みになりました。RubyTraits は、この Squeak Smalltalk の Traits の Ruby 版です。なお、ここで多重継承は広い意味で、以下でミックスインは狭い意味で使っています。念のため。 まず、Traits について。最近わかってきたのですが、どうやら Traits は、それを備えた言語が動的か、静的か、で説明の仕方やそこから受ける印象がかなり変わるようです。Smalltalk や Perl6(Roles)(追記

    RubyTraits-0.2 であそぶ - sumim’s smalltalking-tos
  • Context - a minimal object programming system

    jjzak
    jjzak 2007/05/04
    Smalltalkの新しいオブジェクトシステム。 Squeakの「フォーク」だから「スプーン」という名前付け。うーむ。 from Matzにっき
  • Voxは完全無料。SNSの機能も備えた新しいブログです。

    Today, ExplainedToday, Explained is Vox's daily news explainer podcast hosted by Sean Rameswaram and Noel King.

    Voxは完全無料。SNSの機能も備えた新しいブログです。
  • sumim's smalltalking-tos - ちまた(っても Squeak 界隈限定)で流行りの Coke で遊んでみました

    アラン・ケイが Smalltalk(Squeak)を卒業して次を目指すための秘密兵器と目される“黄金の箱”あるいは「イアンのやつ」 と呼ばれている Pepsi & Coke 。地球の重力(暫定ダイナブック= Smalltalk )に魂を縛られた「オールドタイプ」な私には明らかに新たな「脅威」(^_^;)なわけですが、こいつがどの程度動くものなのか、はたして当に Smalltalk(や LISP)を凌駕する「ニュータイプ」なのかも興味があるところなので、ちょっとだけいじってみました。 とは申しましても、「オールドタイプ」である以前に、私は言語処理系内部や仕組みことがよくわからないので(ぉぃぉぃ…)、サンプルに見つけて面白そうだなーと感じた PythonJavaScript もどきのコードを比較的高速に走らせるってのをチョしてみただけです(実質はたらいまわし大会?w)。けっきょく“コイ

    sumim's smalltalking-tos - ちまた(っても Squeak 界隈限定)で流行りの Coke で遊んでみました
  • pepsi & coke - 言語ゲーム

    大島さんの記事 http://d.hatena.ne.jp/squeaker/20061031#p2 を読みながら、pepsi & coke の勉強をしています。 環境の準備 idst-5.7 に付属する jolt を使って勉強します。必要なファイルは http://piumarta.com/pepsi/ にあります。ここでは、ソースとバイナリ両方使います。ソースだけ落としてコンパイルしても勿論大丈夫です。まずバイナリを / 以下にコピーします。windows の場合は cygwin が必要です。ソースで使うのは example/jolt ディレクトリだけなので、それを適当な場所にコピーして make しておきます。以後このディレクトリで作業を行います。なお、linux で使うためには以下を実行する必要があります。 $ execstack -s main シェルを起動して coke 式を評

    pepsi & coke - 言語ゲーム