タグ

schemeに関するcubicdaiyaのブックマーク (15)

  • GNU Make 4.0にGNU Guileが組み込まれた

    GNU Make 4.0 released GNU Make 4.0がリリースされた。 今回のリリースでは、GNU MakeはSchemeの実装であるGNU Guileを組み込んだ。これにより、Makefileの中でSchemeが書けるようになる。 その機能は、GNU Make ManualのGuile Functionの項目で説明されている。まだ、オンライン版のGNU Make Manualが2010年から更新されていないので、コミット時のドキュメントの差分のリンクする。 8.13 The `guile' Function 具体的な組み込み方法としては、make側にguileという関数が追加され、この引数に文字列を与えると、SchemeとしてGuileで処理されるようになる。おそらく、このように。 Hello.o : $(guile (string-append "hello" ".c"

  • Ur-Scheme: A GPL self-hosting compiler from a subset of R5RS Scheme to fast Linux x86 asm

    Ur-Scheme: A GPL self-hosting compiler from a subset of R5RS Scheme to fast Linux x86 asm Ur-Scheme is a compiler from a small subset of R5RS Scheme to Intel x86 assembly language for Linux. It can compile itself. It is free software, licensed under the GNU GPLv3+. It might be useful as a base for a more practical implementation (or a more compact one), or it might be enjoyable to read (particular

  • CodeZine:JavaScriptでつくるSchemeインタプリタの基礎の基礎(lisp)

    はじめに 現存するプログラミング言語の中で2番目に古いのがLispです。生まれは古くても、いまだに使われ続け、また、Rubyなどの新しい言語にも影響を与えています。そのLispの派生であり、シンプルさが売りなのがSchemeです。 ここではSchemeの簡単なインタプリタをJavaScriptで作ってみます。対象読者 稿はLispやSchemeは少し触ったことはあるけど、インタプリタは書いたことがないという方を読者対象としています。また、JavaScriptの文法や、簡単なデータ構造についての知識を前提とし、説明は省きます。必要な環境 テキストエディタと、JavaScriptが動くWebブラウザがあれば十分です。他に特に用意するものはありません。概要作成するインタプリタについて インタプリタのコードはJavaScriptで書き、HTMLのフォームを使って、Schemeのプログラムの入力お

  • Scheme:初心者の質問箱

    メーリングリストで質問したり、WiLiKiに自分のページを作ったりするのはちょっと… というシャイなあなたのためのスペースです。 あたらしい質問は、項目の先頭に追加していって下さい。 書き方を間違えても小人さんが直してくれるので、 こわがらなくてもだいじょうぶ。 長くなってきたので過去ログ: Scheme:初心者の質問箱:log00 Scheme:初心者の質問箱:log01 Scheme:初心者の質問箱:log02 \0 区切りの文字列の read対話的に起動した際、使用する文字コードを指定することは可能でしょうか対話的に起動した際、C-r で履歴をインクリメンタルに検索する設定は可能でしょうかR7RSモードでの起動時の-lで指定したロードファイルの挙動についてSRFI-49で開きカッコがネストしている場合の書き方連想リスト(Association list)の形式についてバックグラウンド

    Scheme:初心者の質問箱
  • 11. 継続 | Schemeへの道

    継続(continuation)とは,式を評価している途中のある時点で,『いま得られた 値を使って,この後は何を計算するのか』を表すものである.たとえば,Scheme の関数呼びだしの式を評価する際には,まず関数とその引数を評価して,その 後で関数に引数を適用する. ==> (+ (* 1 2) (* 3 4)) ;; ==> (+ 2 12) ;; ==> 14 14 この式の場合,まず「+」,「(* 1 2)」,「(* 3 4)」を評 価したのち,「(+ 2 12)」を評価する. 各部分式の評価が左から右へ進むものとすると, たとえば,「(* 3 4)」を評価した後にするべき計算,つまり継続は, 『いま得られた値に2を加える』 である.この式の評価を完了するためには, Schemeのシステムは,この継続を知っていなければならない. 継続は,「何を評価して,その値によって次には何を行う」

  • なんでも再帰

    Shiro Kawai 7/3/2000初出、3/29/2002更新 まあとりあえずカッコは我慢しよう。ラムダとやらも、関数ポインタ+環境データ ということで納得しよう。しかし、Schemeのループ構文(do)は許せないなあ。 ごちゃごちゃしてるし、途中で脱出できないし。 CやPerlのforやwhileの方がずっと使いやすいね。 え? doなんて使わない? じゃあどうやってループを書くんだ? 消えるループ 簡単だけど、よくありそうな例として、こんなのを考えてみよう。 入力テキストの行数を数える関数count_linesを書きたい。 Cで書くとすれば、こんな感じだ。 /* 例1 */ int count_lines(void) { int count = 0, c; for (c=getchar(); c!=EOF; c=getchar()) { if (c == '\n') count

  • A Slice of My Life - Practical Scheme

    このページでは、プログラミング言語Schemeの紹介、および 自作のSchemeのライブラリやアプリケーションの紹介をしてゆきます。 特に、ファイルをパーズしてテキストファイルを生成したりとか、 プロセスを監視したりとか、ちょっとしたGUIをでっちあげる と言った、職業プログラマとしてやってく上で避けて通れない雑用に便利な ライブラリが中心になる予定です。 SchemeはLisp系の言語で、見かけはLispに良く似ています。 Lispと聞いたら人工知能用言語だとか、もう古くさい言語だとか思われることも 多いんですが、CommonLispで書かれた実用的なアプリケーションはいろいろ ありますし、Schemeも拡張言語としてそれなりに使われています。 ただ、いかんせんマイナーな言語であることは間違いなく、メンテできる人が居ない とか他に分かる人が居ないという理由で採用が見送られることがあるのは

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

    うまくいかない日に仕込むラペ 「あぁ、今日のわたしダメダメだ…」 そういう日は何かで取り返したくなる。長々と夜更かししてを読んだり、刺繍をしたり…日中の自分のミスを取り戻すが如く、意味のあることをしたくなるのです。 うまくいかなかった日のわたしの最近のリベンジ方法。美味しいラペを…

    はてなブログ | 無料ブログを作成しよう
  • Top (Gauche Users’ Reference)

    Top This is a reference manual of Gauche, an R7RS Scheme implementation.

  • Schemeを作ろう VAFXImg など

    プロフィール ときどきこっそり更新。 僭越ながら自己紹介をば。投げやりですが。 平山直之/白浜青雪 生年月日 S48/04/11 出身校 早稲田大学第一文学部卒(6年を要す) 職業 プログラマ(ゲーム) 使える言語 C++/C LISP(scheme) (Object)Pascal perl/sed/awk BASIC アセンブラ 実際に経験があるのはこんなものかな? 結構言語オタクなので頭でだけ知ってるものは多数。 語らせるとウルサいこと バスケ・サッカーの戦術(トラウマのせい) 漫画ゲームの評論 他のアトリビュート 著書があるがウソ書いちゃったので忘れたい。 プログラマ的生い立ち 小学生のころ 合理主義が周囲のものどもに受け入れられなかったらしく、結構いじめられた。今にして思えばいじめられて当然だが。 剣道と野球をやってた。どっちもあまりまじめにはやってない。 小学生の頃はパソピア/

  • Y Combinator

    In this file we derive the Y combinator, one of the fundamental results of recursive procedure theory. You already know that in some cases it is not necessary to give a procedure a name. For example, ((lambda (x) (+ x 1)) 6) adds 1 to 6 without naming the procedure that does it. But, what about a recursive procedure? For example, (define fact (lambda (n) (if (zero? n) 1 (* n (fact (- n 1)))))) whi

    cubicdaiya
    cubicdaiya 2007/01/28
    コンビネータの解説
  • Schemeを作ろう 第1回

    Last update 1999/08/07 Scheme処理系の制作 第1回 (C)平山直之 無断転載は禁止、リンクはフリー 誤字脱字の指摘は歓迎 ゲームとスクリプト はい、また例によって行き当たりばったりな企画です。 といっても、相当長い間私の心の大きな部分を占めていた問題ではあります。 それは言語の処理系の必要性についての問題です。 ゲーム制作、特にRPG・アドベンチャーなどの「シナリオ」の重要性が高いものを作るのに必要不可欠なものに、「イベントスクリプトの処理系」というものがあります。ネットでもこうした「イベントスクリプトの処理系」について考える人が少なくないのも、こうした必要性の表われと言えるでしょう。 しかし、こうした処理系は、それぞれのプログラマが独自の文法でプロジェクトごとに作り直しているのが現状です。これが、コードの再利用、ひいては「気楽にゲームを作る」上での大きな障害に

  • 継続マラソン - 継続の実装方法を考える - higepon blog

    setjmp/longjmp を使う方法。 ケース1 a(x)->b(x)->c(x)->d(x)のように関数を深い方向に呼び出しているとします。 a(x) { //ここで継続を取り出す // ここ(setjmp) // b(x); } b(x) { c(x); } c(x) { d(x); // d(x)の結果次第で // longjmpする } setjmp時のスタックの状況 =================== ←スタックポインタ aの戻りアドレス =================== x of a =================== longjmp時のスタックの状況 =================== ↑ dの戻りアドレス ここは不定 =================== ここは不定 x of d ↓ =================== ←スタックポインタ cの戻

    継続マラソン - 継続の実装方法を考える - higepon blog
  • 404 Blog Not Found:TuringとChurchの狭間で

    2006年04月16日13:53 カテゴリMath書評/画評/品評 TuringとChurchの狭間で The Emperor's New Mind Roger Penrose [邦訳:皇帝の新しい心] なんでひげぽんが反復がすぐにわからなかったかを憶測すると、「変数とは代入すべきもの」、という手続き型言語の呪縛が思い立つ。ひげぽんは別にがっかりする必要はない。hyukiさんさえそれに引っかかっていたんだから。 その証拠を、以下にお見せする。 [結]2005年8月 - www.textfile.org sub fix { my $G = shift; return $G->( sub { my $x = shift; return fix($G)->($x); } ); } これはPerlで実装した不動点関数で、全く問題なく動く。しかし、hyukiさんも知らぬ間に一つ「反則」を犯しているこ

    404 Blog Not Found:TuringとChurchの狭間で
  • Answer Book | SICP | kahua-web

    Chat (Lingr.com) Informaiton コンセプト 注意事項 About Us メーリングリスト コメントの入力方法 RSSの配信 Daily 今日の一行(2008-10-10) Column MySQL語の旅(5/1) 一風変ったHaskellλ門(6/13) SICP Answer Book (5/31) 問題3.26追加 Zope Solution Zope3 幕の内 Zopeとは なぜZopeなのか Extra JavaCube 電気の使えるカフェ情報(1/8) アーカイブ Project Looking Glass XPで楽しい人生を OSS案内所 書籍の紹介 技術者のブックマーク 読書会、勉強会 Site Info Recent Changes アクセス統計情報 関連リンク 『計算機プログラムの構造と解釈 第二版』解答集(未完) Wizard Book:

  • 1