タグ

gaucheに関するhigeponのブックマーク (27)

  • Gauche用のSwankサーバ - tszの日記

    Slimy hackathon#1には用事があって参加出来なかったのですが、何かやりたいなと思っていまして、gauche用のSwankサーバを書いてみることにしました。 mit-schemeのSwankやswank.lispのコード、あとは*slime-events*バッファへ表示される情報を基に、何とか遊べるレベルまでの実装にはなりました。 以下の様な機能を実装してあります。 シンボルの補完 (c-p-c形式も) replでの評価 (read writeも可) 編集バッファでの評価(C-x C-e, C-c C-c どっちもやることは同じですが…) 以下のバージョンで確認しています。 Slime 2009-03-09 Gauche 0.8.13 以下の設定を.emacsに追加して、M-x gaucheでreplが起動出来ます。 (push "<path-to-slime-dir>/sli

    Gauche用のSwankサーバ - tszの日記
  • Gauche:VMの最適化:Subr呼び出しプロトコルの検討

  • はてなブログ | 無料ブログを作成しよう

    仲春はゆっくりと通り過ぎる 寝て起きたら3月である。今日の東京の最高気温は20度を超えている。正月のインフルエンザが完治して、これでやっと健康で文化的な年度を始められるぞ、と意気込んだのも束の間、今度は原因不明の高熱を出して1週間寝込んだ。 脳がグツグツ煮える音が聴こえそうなほど…

    はてなブログ | 無料ブログを作成しよう
    higepon
    higepon 2008/02/15
    良いまとめ
  • やる夫がgauche.nightの第1部座談会に出演するそうです - リリカル☆Lisp開発日記

    ____ /      \ /  _ノ  ヽ、_  \ /  o゚⌒   ⌒゚o  \  もう試験間近だお… |     (__人__)    |  きっと単位沢山落とすお… \     ` ⌒´     / / ̄ ̄\  /   _ノ  \ | し ( ●)(●) |     (__人__)  お前、ソフトウエア演習の授業出てないだろ |     ` ⌒´ノ  課題はネットで外から出せるようになってるけど、 | し       }   先生に直接見せないと未提出扱いらしい ヽ        }   早く先生のとこ行ってきたほうがいいぞ ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ ____ /::::::::

    higepon
    higepon 2008/01/27
    ワロタ
  • Gaucheでライフゲームを作ってみた

    どう書く?orgのライフゲームのお題(http://ja.doukaku.org/126/)をGauche(Lispの一種であるSchemeの処理系)で実装している過程を動画にしてみました。Lispを知らないと何やっているのかよく分からないと思いますが、ひたすら「関数を書いては実行」を繰り返してプログラムを作っていっています。実装時間は40分くらいかかっていますが、動画では早送りで7分ちょっとに圧縮しています。なお、BGMはsm982882よりお借りしました。また、動画で使用しているフォントはあずきフォント(http://key.milkcafe.to/azuki/font/index.html)です。

    Gaucheでライフゲームを作ってみた
    higepon
    higepon 2008/01/26
    最高です。
  • Karetta|来週会場の下見を行います

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    higepon
    higepon 2007/09/30
    gauche for windows
  • Lingr:まとめ

    Gaucheの部屋のまとめです。WebベースのチャットサービスLingrを使っています。 2006-11-12 (Gauche 0.8.8リリース、Sumibi.orgの中の話)2006-11-11 (Gauche 0.8.8リリース最終段階)2006-11-10 (Gauche 0.1、one-liner)2006-11-09 (Schemeのダメなところ、雑談)2006-11-08 (quasiquotation)2006-11-07 ("kaze"を抜く、不完全文字列、Kahua)2006-11-05 (Meta Object Protocol)2006-11-04 (OnLisp出版の状況、debug-print、Gauche 0.8.8)2006-11-03 (シェル、Scheme式を評価するC API、健全なマクロ)2006-11-02 (Binary Hacks、shiroさ

    Lingr:まとめ
  • はてなブログ | 無料ブログを作成しよう

    オーベルジーヌ実レポ べ物の鼻塩塩(未だに通じるのかな) オーベルジーヌというカレーをご存知だろうか 都内にあるデリバリー専門のカレー屋で、 ロケ弁などで大人気の格欧風カレーが楽しめるらしい いいな〜 いいな〜オブザイヤー 都内の奴らはこんな良いモンってんのか 許せねえよ………

    はてなブログ | 無料ブログを作成しよう
    higepon
    higepon 2007/08/06
    良いまとめ
  • はてなブログ | 無料ブログを作成しよう

    【自分語り】1推しの卒業によせて . 私の1推し、ゆきりんこと柏木由紀ちゃんが、17年に渡り在籍したAKB48を卒業することになった。 この機会に、ゆきりん推し(48ファン)としての自分自身のことをすべては不可能であるものの振り返ろうと思う。 内容からして世代がわかることも仕方ないし、限りなくゼ…

    はてなブログ | 無料ブログを作成しよう
    higepon
    higepon 2007/05/28
    知りたかったことがまとまっている。こういうの良いですね
  • Gauche:YAGHG:VM:dynamic-wind

    定義元の調べ方 まずdynamic-windそれ自体を評価すると実体はCの関数であることが分かるので、*.stubから検索してみよう。 $ grep -A 1 dynamic-wind src/*.stub src/stdlib.stub:(define-cproc dynamic-wind (pre body post) src/stdlib.stub- (call "Scm_VMDynamicWind")) Scm_VMDynamicWind src/vm.c:3003- 3003 ScmObj Scm_VMDynamicWind(ScmObj before, ScmObj body, ScmObj after) 3004 { 3005 void *data[3]; ... 3016 data[0] = (void*)before; 3017 data[1] = (void*)body

    higepon
    higepon 2007/02/21
    dynamic-windの実装について
  • インクリメンタルサーチ対応 Gauche ユーザリファレンス

    フレームに対応したブラウザが必要です。

    higepon
    higepon 2007/01/01
    インクリメンタル検索できるリファレンス
  • Gauche:メモリリーク

    Gaucheで書いたプログラムがメモリをリークしているのですが、これの原因調査は、やっぱりコードの怪しい部分を見ていく以外ないでしょうか?特別なテクニックはありますか? skimu: なぜメモリリークしているという結論に至ったかの過程を具体的に、できたら他の人が再現可能な形でGauche:Bugs なり、gauche-devel なりに報告しましょう。 ちょっとしたデーモンを書いたのですが、それを動かしていると数日でメモリを使い果たして死んでしまうので、メモリリークと判断しました(というか確かにリークしている)。疑っているのはGaucheではなく自分のプログラムで、なにかのポインタが残ってしまっているのだと思うのですが、それを調べるのが大変で。これをデバッグするときに、たとえば現在の時点でアロケートされているオブジェクトの個数がクラスごとにわかったりすれば、どこらへんがおかしいのかあたりが

    higepon
    higepon 2006/12/27
    GCがはまるパターンについて
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    higepon
    higepon 2006/08/08
    処理系速度比較
  • クロージャとブロック (前編) - Teny's Log

    上のエントリでは、これまで考察してきたクロージャについての簡単なまとめを行ないました。そのエントリで最後に書いたブロックにも着目しながら、これまで考察してきたクロージャについて、コードを挙げて検証してみようと思います。 さて、上のエントリでは、クロージャの基盤となっている三つの仕様を挙げています。 しかし、これらのうちの幾つかが欠ける場合でも、Scheme で言うところのクロージャではないかもしれませんが、有効に利用可能な手続きを活用することは可能であると、私は考えています。 これは、上で挙げた三つの仕様が揃わない言語環境に於いて、クロージャの様な仕組みを活用することが可能か、という視点に置き換えることができます。例えば、Emacs Lisp や Java などでクロージャの様なコードを書けるか否か、ということですね。 ;; Java にもクロージャを導入可能に (?) といった動きもある

    クロージャとブロック (前編) - Teny's Log
    higepon
    higepon 2006/06/12
    読んだが完全には消化できなかった。あとで復習する。
  • クロージャについて: 一旦、簡単にまとめてみます。 - Teny's Log

    これまで考察してきたクロージャの件ですが、まだまだ頭の中では発散しているのですけど、一旦、簡単にまとめておきたいと思います。 ただ書き散らかしているだけでは意味ない (いや、意味はあると思ってるんですけど。自己矛盾だ。) ですからね。 Rui さん、shiro さんのコメントに助けられて、今では、 手続きをファーストクラスオブジェクトとして扱える。 静的スコープを持つ。 無限のエクステントが保証されている。 の三つの基盤が揃うことで、クロージャが実現されていると考えるに至りました。 Scheme 以外ではどうか判りませんが、こと Scheme に於いては、上の仕様に立脚する形でクロージャが実現されていると考えて差し支えないと思っています。 ただ、言語設計の推移としては、shiro さんから頂いたコメントで示唆されている様に、動的スコープに於ける環境問題 (FUNARG problem) が

    クロージャについて: 一旦、簡単にまとめてみます。 - Teny's Log
  • クロージャについて少し考えてみました。 - Teny's Log

    クロージャについて色々と考えてみました。 以前にも書いたのですが、そもそも Gauche をインストールした目的の一つに、クロージャの動作をもっと理解したいという目的があったので。 で、色々と shiro さんが公開されているドキュメントを読み返したり、Gauche 上で試行錯誤しながら、これまでの私の解釈には誤りがあったと思う様になりました。 これまでの私の理解では、クロージャとは、 クロージャは、ファーストクラスのオブジェクトである。なので、名前も付けられるし、関数の引数や戻り値としても利用できる。 クロージャには、(そのクロージャ生成時の) 環境が閉じ込められている。 クロージャ実行時に参照される環境は、実行時点のものではなく、クロージャ自身に閉じ込めてある環境になる。 というものでした。 これらの認識自体には誤りはないと思っている (誤りがあったらツッコミをお願いしたいです。> 識

    クロージャについて少し考えてみました。 - Teny's Log
    higepon
    higepon 2006/06/02
    識者のコメントが楽しみ。
  • 関数型言語の勉強にSICPを読もう - (40) 3章 - 標準部品化力、オブジェクトおよび状態 (156-163ページ) - higepon blog

    待ちに待っていたデジタル回路のシミュレーション。 オラ、何だかワクワクしてきたぞ! 問題3.24-27 略。 問題3.28 and とほぼ同じ。 今の段階では add-action の実装が見えないので or-action-procedure が2回呼ばれておかしくなるんじゃないかと心配。 と思ったけどよく考えれば入力は同時に届くことはありえないのでこれで正しい。 (define (or-gate a1 a2 output) (define (or-action-procedure) (let ((new-value (logical-or (get-signal a1) (get-signal a2)))) (after-delay or-gate-delay (lambda () (set-signal! output new-value))))) (add-action! a1 or

    関数型言語の勉強にSICPを読もう - (40) 3章 - 標準部品化力、オブジェクトおよび状態 (156-163ページ) - higepon blog
  • 関数型言語の勉強にSICPを読もう - (39) 3章 - 小休止 ファイルI/Oと正規表現 - higepon blog

    実用っぽいコードを書かないと中々上達しないと思うので無理やり書いてみました。 引数で受け取ったファイルを開いて、ファイル内を置換する。 「sedとかPerlならすぐに書けるよ」とか「もっと汎用化したスクリプトを書いたほうが良い」というのは分かるのですがまずは練習ということで。 まだ完成していなくて、現在分かっている問題点は 入力と出力ファイルを同じにするとおかしくなる 結果文字列が""で囲まれてしまう 改行コードがなくなってしまう などなど。 気長に直していこう。 #!/usr/bin/env gosh (use file.util) (define (main args) (define (replace-text file) (let ((lines (file->string-list file)) (result "")) (for-each (lambda (line) (set

    関数型言語の勉強にSICPを読もう - (39) 3章 - 小休止 ファイルI/Oと正規表現 - higepon blog
  • 関数型言語の勉強にSICPを読もう - (36) 3章 - 小休止 port-foreach - higepon blog

    Ruiさんよりコメントを頂きました。 Schemeに慣れた人が書くとこんなにもきれいなのか。ありがとうございます。 このようにコードを見せていただくことはとても勉強になります。 sum は (apply + list) と書けますね。Gaucheだとport-for-eachという便利な高階手続きがあって、それをつかうと全体は次のようになります。(一時ファイルを使わないで済むよう、call-with-input-fileの代わりにcall-with-input-stringを使いました。) たしかに、sum は (apply + list)ですね。何で気づかなかったんだろう。 (port-for-each (lambda (list) (print (apply + list))) (call-with-input-string ”(1 2 3) (4 5 6)” (lambda (in)

    関数型言語の勉強にSICPを読もう - (36) 3章 - 小休止 port-foreach - higepon blog