タグ

Schemeに関するantipopのブックマーク (40)

  • Scheme Compiler の勉強(0) - cranebirdの日記

    "Compilers: Backend to Frontend and Back to Front Again, Abdulaziz Ghuloum" http://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf を入手する。 まずは真面目にこの簡単なテキストを使って scheme の勉強がてら scheme コンパイラのおもちゃを作成する。このドキュメントは scheme の知識は入門レベルで大丈夫(と書いてある)。 せっかくなので llvm を使ってみる。 最初は Common Lisp でやろうかと思ったけど、あまりに違いが多すぎるので最後まで終えてから考える。 まず準備。※以下は全然まとめずに、かつ llvm も gauche も良くわかっていない状態で書いているので、信用しないこと。 上記ドキュメント

    Scheme Compiler の勉強(0) - cranebirdの日記
  • Gauche作者、川合さんが Gauche に付いて語る - yuum3のお仕事日記

    Gauche作者、川合さんが Gauche自身について語っているビデオを公開されています。グーグル株式会社で行われた講演だそうです。 内容 なぜ Gauche を作ったのか Gauche実装に付いて、どういう選択を行ったか Gauche の今後 など 感想 なぜ川合さんが Gaucheを作ったのかは、Blog 、書籍、トーク等で断片的に知っていましたが、まとまっているのは初めてです。 Gaucheを最近しった方は是非見てみて下さい。 Gaucheの実装に関しては、言語処理系に興味のある人、作った事のある人には 興味のある内容だと思います。 なかで Tcl の話をされてました。Tclはメインの機能はC言語で書き、それら繋ぐ為のマクロのような言語に割り切った設計になっています。しかがって、なにか問題が起きたときC言語、Tcl という2つの言語を相手にする必要があり大変。1つの言語で上から、下ま

    Gauche作者、川合さんが Gauche に付いて語る - yuum3のお仕事日記
  • Scheme 処理系 「Mosh 0.0.1」 をリリースしました - ひげぽん OSとか作っちゃうかMona-

    インタプリタの名前を変更しました サイボウズ・ラボのブログでも告知しましたがこちらでも。 これは何か? R6RSという Scheme の新しい言語仕様に準拠することを目指している高速な Scheme インタプリタです。 何が出来るの? PerlRuby で行っているような実用的なプログラミングができます。(現時点ではもちろん機能は限られますが) 例えばサンプルとして Mosh で書かれた Wiki が動いています。 なぜ Scheme なの? Scheme という言語が柔軟で素晴らしい言語だからです。 Scheme について知りたい方は、計算機プログラムの構造と解釈やプログラミングGaucheなどを読まれると良いでしょう。 ダウンロードとインストール Google Code からソースコードをダウンロードして下さい。 ソースコードのビルドにはGauche が必要です。 ./confi

  • 情報処理学会電子図書館

    ※情報処理学会電子図書館に収録されている「情報処理学会論文誌(ジャーナル)」の一部は,(独)日学術振興会平成17および18年度科学研究費補助金(研究成果公開促進費)の交付により作成されました。

  • Gaucheでシェルスクリプト的な何かを書くための、キモいツール書いた - 日記を書く [・w・] はやみずさん

    Gaucheってそのままだとシェルスクリプト的なものををちょっと書いたりする用途にはあんまり向いてなくて、普通にシェルスクリプト書いたりruby使ったりしてたんだけど、そろそろgaucheでやりたいじゃん、という気分になってきた。用途からすると、似たようなライブラリを誰か書いていてもいい気がするけれど、調べるのも面倒なので自分で書いてみた。ついでにそのライブラリをデフォルトで利用できる状態にした上に、初期化ファイルを読みこんでgoshを起動するgoshellというコマンドをつくった。 まず、予め使いたいシェルのコマンドを $HOME/.goshellrc に登録する。とりあえず mkdir, ls, wget あたりを登録するときは、こんな感じ。 (define-commands mkdir ls wget) さて、例えば http://foo.com/[000-999].jpg という1

    Gaucheでシェルスクリプト的な何かを書くための、キモいツール書いた - 日記を書く [・w・] はやみずさん
    antipop
    antipop 2008/04/18
    イカすなあ。
  • The Little Schemer - あどけない話

    最近、Scheme がちょっとした流行になっているようです。 Scheme を勉強しようと思っている人に、僕が声を大にして薦めたいは、「The Little Schemer」です。 The Little Schemer (The MIT Press) 作者: Daniel P. Friedman,Matthias Felleisen出版社/メーカー: The MIT Press発売日: 1995/12/21メディア: ペーパーバック購入: 10人 クリック: 137回この商品を含むブログ (91件) を見る 1章から7章にかけて、たくさんの例題とともに「再帰」が説明されています。「再帰の再帰」も勉強できます。実際、「このを読んで人生が変わった」という感想を何回か聞いたことがあります。なぜなら、物事を再帰で考えられるようになるからです。再帰が分らない人は、ぜひ読んで下さい。 8章は、「ク

    The Little Schemer - あどけない話
  • EmacsWiki: Par Edit

    ParEdit (paredit.el) is a minor mode for performing structured editing of S-expression data. The typical example of this would be Lisp or Scheme source code. ParEdit helps **keep parentheses balanced** and adds many keys for moving S-expressions and moving around in S-expressions. Its behavior can be jarring for those who may want transient periods of unbalanced parentheses, such as when typing pa

  • ANN: scheme-complete.el - smart tab completion

    scheme-complete.el is a single function that can be used with any Emacs scheme mode. It provides real-time, lexical-scope aware type inferencing tab-completion for any R5RS scheme, with extensibility for implementation-specific features (currently only Chicken and Gauche are customized).For example, given the text (string-ref (n^ where the cursor is represented by ^, typing tab (or whatever you bi

  • Route 477(2008-03-09)

    ■ [biwascheme][event] gauche.gongでLTしました やっぱりSchemeのイベントでデモすると反応が大きくていいなあ,という. スライド 右上の★ボタンを押すとREPLが開いたりするよ.(このためにevalとwrite-to-stringとhtml-escapeを実装するなどした) このプレゼンツール自体もBiwaSchemeで書かれています.(ソース) BiwaSchemeのダウンロードはこちらからどうぞ. ■ [event][scheme] 第2回gauche.nightログ おまけつき 注意 誤字は仕様です 全く見直ししていないため,内容には0個以上の誤りが含まれています.取り扱い注意 「fullでないcontinuation」ってどういうものなのか誰か教えてください 「プログラミングGauche」ができるまで (ログ取れず) 自己紹介 「リリカルLis

    Route 477(2008-03-09)
  • 小黒さんのSchemeにおける glint + Emacs + flymake を試してみた - ひげぽん OSとか作っちゃうかMona-

    id:koguro:20080309:1205012807 で公開されている小黒さんの glint を試してみました。 昨日の Gauche.night で発表されていたのものですがこれを待っていました!。 こんな便利なものを作ってくれ小黒さんに感謝。 何ができるか? glint は Gauche 用に書いたソースコードの syntax チェックをしてくれます。 これと Emacs の flymake (Emacs22 からは標準で付属)を組み合わせるとソースの編集中に syntax エラーが分かります。 インストール Gauche 0.8.13 をあらかじめインストールしておいてください。他のバージョンでは動作しない可能性があるので注意してください。 wget http://homepage.mac.com/naoki.koguro/prog/codecheck/codecheck-0.

    小黒さんのSchemeにおける glint + Emacs + flymake を試してみた - ひげぽん OSとか作っちゃうかMona-
  • はてなようせいとまなぶ Schemeの形式的意味論

    わからない…… わからない…… R6RSのAppendix Aに載っている形式的意味論がわからない…… Schemeの形式的意味論を理解するための冒険は、 R6RSを印刷して読みながら、実際にPrologとかで、 意味論にそったインタプリタを作ることよ わからない…… そんな面倒なことをする意味があるのかわからない…… 当にそれで理解できたのかは筆者もわからない…… それじゃあ、簡単に説明をするからよく聞いてね。 けど、それでもR6RSを印刷したほうがいいわ。 それから、R6RSは「みんなもってる」ものなので、 自分のものだと分かるように、ちゃんと名前を書かないとだめよ。 「おなまえシール」を貼るというのも手ね。 もくじ なにをするの おおざっぱに もうすこしせいかくに きほん かきかえ むずかしいかきかえ ぶんぽう やくそくときほん ぷろぐらむのぶんぽう ぶんみゃくとあな ぶんみゃくの

  • ℃-uteかわいいよ ℃-ute - higepon blog

    antipop
    antipop 2008/02/16
    higeponさんによるcute評価きたー!!!
  • 最もタメになる「初心者用言語」はScheme! - 日記を書く [・w・] はやみずさん

    最もタメになる「初心者用言語」は Python! - 西尾泰和のはてなダイアリー Schemeなら、えんざんしとかえんざんしのゆうせんじゅんいとかいんでんととか小難しくてよくわらないものがないから、初心者でも安心して簡単にできるよ > < しかもしかも、ループと再帰呼び出しとか2つもいっぺんに覚えなくても、末尾呼出し1つだけ覚えれば両方できちゃうよ!Schemeすごい! Schemeで豊かな表現力を身につける なんだかよくわからないけど、巷のプログラミング言語は * とか - とか ? が変数名とか関数名につかえない。演算子?なにそれ初心者には難しくてわかんない>< Schemeだったら、「それってシンボル?」って聞く関数は symbol? っていう名前にできるよ。 is_symbolとかわかりにくいよね!!!アンダーバーとかタイプしにくくて初心者向けじゃないし!!! 参照透明できれいな心

    最もタメになる「初心者用言語」はScheme! - 日記を書く [・w・] はやみずさん
  • Arc のハッシュ - あどけない話

    川合さんのエッセイ「Schemer's way」は面白く、とてもためになります。 ただ一点、フェアな議論なのか気になるところがありました。 多くの言語では、新しいオペレータを追加するのは言語そのものを拡張しなければならないだろう。例えばJavaを拡張してPerlの `x' オペレータを実装するには、構文規則から書き直さねばならない。既存のオペレータに新しい意味を追加するというメカニズムは、これもいくつかの言語では言語そのものに組み込みの機能となっている。 Lisp系の言語では、オペレータと関数呼び出しとの間に区別が無いため、オペレータの機能の拡張ということは議論にならない。新しいオペレータが欲しければ、あるいは既存のオペレータを拡張したければ、いつでも自分で書けるからだ。 Java には構文規則を変えなければいけない例を挙げているのに、Lisp では構文規則を変えなくてよい例を出しています

    Arc のハッシュ - あどけない話
  • まったく初めての人のためのScheme

    田無の権兵衛とk先生をお借りいたします、竹内郁雄先生。 田無の権兵衛:(突然、玄関先で大声) たのもーう。 K: なんだ、騒々しいな。やや、田無の権兵衛ではないか。達者であったか。ささ、上がりなさい。 久しぶりじゃのう。今まで何をなさってたのかな。 田無の権兵衛: 実は昭和の終わりごろ、Lispの修行をするためにインドに旅立ちました。 山奥に篭って修行すること25年。やっと少しはLisp道を極めたように思い、懐かしい日に帰ってまいりました。 K: おお、それは難儀であったな。久しぶりの再会じゃ、今夜はLisp話を酒の肴に語り明かそうではないか。 田無の権兵衛: それはかたじけない。そうそう、日に帰ってきて驚いたのです。日人はみんなスーパーコンピューターを 所有しているですか? K: いや、いくら日人が猛烈に働いて豊かになったとは言え、スーパーコンピューターを個人で所有している

  • Route 477(2007-12-04)

    ■ [event][scheme] 生駒読書会#1 紫ログ:生駒読書会#1開催 - livedoor Blog(ブログ) 日曜日に生駒に行ってきましたよ。てか関東からも人が来るとかwww生駒すげえwww *1 Scheme使いとSchemeビギナーが半々だったので、3章からやると意味不明になるかな…と思って 2章の最後から始めることを提案したんですが、別に良かったのかなぁ。 3impのために初めて書いたマクロのコードをここに置いときますね。 ;; (record (a b c) ls (+ a b c)) (define-macro (record vars val . exps) `(apply (lambda ,vars ,@exps) ,val)) ;; (record-case exp1 ;; [key vars exp2..] ;; ... ;; [else exp3..] (d

    Route 477(2007-12-04)
  • Schemeについて - 人生の諸問題に本と計算機で闘う日記

    id:clock9にSICP貸したので書こうと思ったけど、まとまらないので説明する気なく要点だけ書くと Scheme(Lisp)の特徴は、ふつうに書いたプログラムがそのまま構文木をあらわしている←パーザ書くのがあほほど楽 Scheme(Lisp)にはスペシャルフォーム(特殊形式)というのがあって、関数が引数として値を受けとるのに対し、こちらは式を受け取る(マクロとか) 式を評価したものが値だけど、Scheme(Lisp)では式そのものも値として扱える(最初に結びつく) (eval '(+ 1 1)) === (+ 1 1) ちゅうことだ

    Schemeについて - 人生の諸問題に本と計算機で闘う日記
    antipop
    antipop 2008/01/22
    kejinan先生のScheme教室。
  • gca.el (2007/11/13版) - koguroの日記

    Gauche でテスト作成支援 gca.el - higepon blog gca.el --- utilities for writing Gauche codes - subpop - subtech 自分で公開したことをすっかり忘れていましたが、使ってくださる方がいらっしゃるようなので、2007/11/13版のgca.el(http://www.koguro.net/prog/gca/gca-20071113.tar.gz)を公開します。修正点は以下の通りです。 補完の動作を変更しました。今まで補完対象のシンボルがinfoで見つからなかった場合にdabbrevを実行していましたが、補完の候補に現在のバッファにあるシンボルも含めるようにしました。例えば、ソースコード中で "call-proc" とかいうシンボルを定義していた場合、今までは "call-" まで入力して補完すると "ca

    gca.el (2007/11/13版) - koguroの日記
    antipop
    antipop 2007/11/14
    gca.elうpだてきたー!
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Gauche でテスト作成支援 gca.el - ひげぽん OSとか作っちゃうかMona-

    昨日、「test* に与えるテスト名の命名が面倒だ」と書いた所、naotoさんから gca.el という koguroさん作の Emacs Lisp を教えていただきました。 これは便利。 gca.el テストケース作成支援のためのツールを作りました(拙作のEmacs用のユーティリティに含めてあります gca-20060903.tar.gz)。 単体テストをきちんと書くのは面倒ですが、通常コードを書くときは、無意識のうちにgosh上で動作確認をしつつコードを書き進めているかと思います。この動作確認の結果を基に単体テストを作成してしまおうというのがこのツールです。 デモ 実際に動作しているデモムービーを見るとわかりやすいです。(GaucheFest:koguroにあります) デモムービー(mov形式) 4.8MB デモムービー(wmv形式) 2.4MB インストール gca.el の先頭に書

    Gauche でテスト作成支援 gca.el - ひげぽん OSとか作っちゃうかMona-
    antipop
    antipop 2007/11/08
    おーーーー!素晴しい。