タグ

schemeに関するh-hiraiのブックマーク (57)

  • 非公式PDF版SICP・新訳 - アスペ日記

    計算機プログラムの構造と解釈、通称SICPを一から翻訳し直しました。 ファイル: SICP非公式日語版 翻訳改訂版 リポジトリ: https://github.com/hiroshi-manabe/sicp-pdf また、今回の翻訳をするにあたって考えたことを別記事にまとめました。 腐った翻訳に対する態度について SICPはMITの有名なプログラミングの教科書です。詳しくはminghai氏の記事をご参照ください。 この翻訳改訂版は、minghai氏の非公式日語版(以降、minghai氏版)のあまりにも惨憺たる翻訳を見かねて、原著から翻訳をし直したものです。この翻訳を進めるにあたっては、minghai氏版の訳を置き換えていくというやり方で進めていきました。しかし、差分を取ればわかっていただけると思いますが、minghai氏版のテキストは痕跡をとどめていないはずです。この方式を採ったのは、

    非公式PDF版SICP・新訳 - アスペ日記
  • 素数夜曲 女王陛下のLISP - ぱたへね

    素数夜曲 女王陛下のLISP読みました。簡単に感想を。 の内容 タイトル通り数学とLispのです。 このは大きく前半と後半(付録)に別れています。前半は算数から数学に自然に入って行くような内容が講義形式で話が進みます。整数、最大公約数から入り、無限、有理数、無理数と、数を扱った数学をわかりやすく説明しています。このの基スタンスが、「手を動かして自分で法則に気がつく」事を重視しています。数学の楽しみ方を音楽に例えているのははじめて見ました。音楽の楽しみ方が、下手でも良いから演奏することのように、数学に関しても主体的に取り組んでいくことがとても大事というのは共感できます。プログラミングも同じですね。数学なのに英語の表記を併記してあるのは助かります。よくわからないところは、検索しもって読んでいくと面白いと思います。時々AAで書かれた検索梟が登場して「○○」で検索しろと教えてくれます

    素数夜曲 女王陛下のLISP - ぱたへね
    h-hirai
    h-hirai 2012/09/03
    なんか、落ち込んでらしたのでぶくま。https://twitter.com/natsutan/status/242494080146345984
  • 素数夜曲 女王陛下のLISP: なつたん

    タイトル通り数学とLispのです。 このは大きく前半と後半(付録)に別れています。前半は算数から数学に自然に入って行くような内容が講義形式で話が進みます。整数、最大公約数から入り、無限、有理数、無理数と、数を扱った数学をわかりやすく説明しています。無限と濃度の所は特に面白く感じました。自然数と偶数が同じ程度に多くある事を受け入れるためには、無限を受け入れないといけない所に無限の深さを感じました。まあ、無限だからどこまでも深いんですけど。 後半はSchemeの文法の説明が最初にあって、Schemeを使って数学のいろんな問題を解いていきます。ただ解くだけではなく、結果を可視化する所にも工夫がたくさん見られました。実践的なプログラムを作ると言うよりは、プログラミングを通して数学と向き合うところがメインです。SICPにλ計算を加えて内容を数学側に振ったような内容です。非決定性計算、無限スト

    h-hirai
    h-hirai 2012/08/29
    むむ、「やっぱり消した」ってツイートされてたのこれですか、気になるじゃないですか。
  • Scheme/継続の種類と利用例 - Wikibooks

    Introduction[編集] このセクションでは、継続を用いたプログラムを実際に動かしてみる。教科書の例題を解くためだけでなく、制御処理の仕組みを継続を活用して作ったり、既存のライブラリの動作をカスタマイズすることで実用的なプログラミングに応用できるようになることを目指す。また、処理系における実装の方法についても触れ、継続呼び出しのパフォーマンスについても考察する予定。 call/cc[編集] 導入[編集] call/ccは、(call/cc proc) 式を評価した後すべき計算を、継続オブジェクトとして proc に渡す手続きである。 この継続オブジェクトは、C言語で考えると (call/cc proc) を評価した後の処理へgotoするマクロ、もしくは (call/cc proc) を評価したときに setjmp() によってマークした地点に longjmp() によって移動する関

    h-hirai
    h-hirai 2012/03/28
    via 白帽子さん
  • 48時間でSchemeを書こう - Wikibooks

    Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch

  • not found

    h-hirai
    h-hirai 2010/08/25
    …やっぱり多いね、って結論になっちゃってる気が。
  • t, nil, '(), #t, #f

    メモっておきたかったので、勝手にまとめました。「誰でも編集可」です。 私の日語がカオスですいませんでした・・・。 「scheme も Common Lisp みたいに、nil が偽で空リストも偽で空リストが nil 、だと良いのになー。」「(car nil) や (car '()) が nil なのも良いなー。」と思ったのでした。なんで Scheme はそうじゃないんだろう?というのが切欠です。 Chaton の方からも転載・・・。 http://practical-scheme.net/chaton/gauche/a/2010/05/19#entry-4bf3a94b-4dcf6

    t, nil, '(), #t, #f
  • Lisp code batton - Shibuya.lisp Tech Talk #5

    Why Lisp? - Shibuya.lisp Tech Talk #1 Opening speech

    Lisp code batton - Shibuya.lisp Tech Talk #5
    h-hirai
    h-hirai 2010/03/26
    あ、この発表があったんだっけ。参加申し込めばよかった。
  • LISPMEMO

    LISPUSERLISPMEMOLisp is a programmable programming language. -- John Foderaro Emacs Lisp は (Scheme よりは) Common Lisp に近い、ということかと思います。 以下理由: 真偽: T, NIL で Scheme 族ではない 基が反復。Schemer が使うとほぼ間違いなく再帰が深過ぎというエラーがでる Lisp-2 : 変数と関数の名前空間が別 (let ((car '(item))) (car car)) => item ダイナミックスコープ (CLはレキシカルスコープとダイナミックスコープ、Schemeは基レキシカルのみ) マクロが伝統的な defmacro 破壊的操作を恐れない (むしろ推奨)。命名規則も nrevse とか。 伝統的に関数型っぽく書く事を重視しない Comm

    h-hirai
    h-hirai 2010/02/26
    Emacs Lisp と Common Lisp (とScheme) do とか while とか使わんだろJK、みたいな via http://twitter.com/dico_leque/status/9661875979
  • うまく行かない(と fold について) - 言語ゲーム

    今週はずっと AVM2 アセンブラ abcsx http://github.com/propella/abcsx を他の Scheme に移植するという作業をやっていた。仕事の内容としてはそもそも Scheme で動かす必要すら無いのだけど、私は lisp 系の言語でプログラムを書く経験が乏しいので、色々な Scheme で動くようにするなかでノウハウが溜まるかなと考えた。特に、関数の引き数の順序とか名前の付け方とかはまとまったプログラムを自分で書かないとコツが掴めない。今の所 abcsx は PLT-Scheme と Gauche で動くようになった。あと、他の R6RS の処理系と Scheme48 でも動かしたいなと思うんだけど、なかなか上手く行かない。 まず R6RS について。R6RS ではリスト操作やバイナリ操作など便利な関数が標準になっているので、出来たらそっちを使いたいと思

    うまく行かない(と fold について) - 言語ゲーム
  • Impromptu: Scheme ベースのライブコーディング環境 - Radium Software

    Impromptu は Andrew Sorensen 氏によって作成されたライブコーディング環境だ。言語としては Scheme をベースとしており,それに映像や音楽を扱うためのライブラリ群と,リアルタイムにコードを記述し実行するためのエディット環境が統合されている。 実際に触ってみると,関数型言語とライブコーディングの親和性が,なかなか良いことが分かってくる。エディターの出来も良く,リアルタイムにコードを書きつつ実行するという作業をスムースに流れるようサポートしてくれる。 上のビデオでは, Impromptu のサンプルプログラムを参考にしつつ,簡単なアルゴリズム作曲のコードを組んでみた。ちなみに,ビデオ中に登場する "my:play" 等の関数は,作業を簡略化するためにあらかじめ用意しておいた関数なので悪しからず。 いくつかのデメリットもあるものの(最大の弱点は Mac OS 版しか存

    Impromptu: Scheme ベースのライブコーディング環境 - Radium Software
  • Route 477(2009-08-26)

    ■ [ruby][memo] サンプルコード http://blog.deadbeaf.org/2009/08/26/mitaka-rb-4/ 標準クラスのサンプルコード bitclustに装備? 海外の人はどうするの リファレンスとは独立したサイト(A)であるべきか そこにrubydocなりbitclustなりからリンクする gemなどのサンプルコード (A)とは別サイト? gem配布サイトが複数あるので特定のgem配布サイトが実装するわけにはいかない http://gemcutter.org/ が当に公式になれば、そこにサンプルコード書ける機能があると楽しそうだ 結論 サンプルコード自体に価値があるものだからどこに書いてもいい、定番サイトができればそこに移住すればいい。 Rurimaphone++ ■ [scheme] 小さすぎるR5RS、大きすぎるR6RSに対するScheme分割案

    Route 477(2009-08-26)
  • 2004年 9月 (2)。

    Last Modified: Tue Sep 21 07:53:52 EDT 2004 (09/21, 20:53 JST) Sep 20 [Mon] (11:00) あいかわらずお人好しすぎるのだ、オレは…。 まあ、騙すよりは騙される側でいるほうが罪がなくていいのだけどね。 はて、なぜオレはそう考えるのだろう。か?? (11:07) 硬貨設定問題のつづき。じつはきのうの宿題の第 2問目はこうである: 出典はこちら ある国では、客と店員が協力して、買い物のさいに使う硬貨の個数の和がもっとも少なくなるように 買い物する。たとえば US で 24セントのものを買いたいときは、客は 24セント (硬貨6個) ちょっきりは 払わずに、わざと 25セント (硬貨1個) を払い、店員が 1セントのおつりを返すのだ。こうすることにより 「客の出した硬貨の数」 と 「おつりに含まれる硬貨の数」 の和が最小

    h-hirai
    h-hirai 2009/07/21
    「こっちの言語マイノリティにとっては Python は「カッコつけたいだけの馬鹿が使う人気言語」ってイメージ」ひょっとしてこっちではRubyがそうなんだろうか via http://twitter.com/natsutan/status/2755798717
  • Pythonのjoinがキモいとか言ってると、多重ディスパッチ派の人がやってきますよ - みずぴー日記

    ','.join() がなぜキモイのか - methaneのブログ Pythonの','.join()がキモいと思ってた時代が僕にもありました - by edvakf in hatena この辺を読んだ感想。 joinがArrayのメソッドであるべきか、Stringのメソッドであるべきかを議論していると、多重ディスパッチ派の人が嬉々としてやってきますよ。 で、「これだから単一ディスパッチのオブジェクト指向はダメなんだ。joinはArrayとStringのコンビネーションで定義するべきメソッドだ」とか言って、こんなコードを書くと思います。 (define-method join ((x <string>) (xs <list>)) (string-join (map x->string xs) x)) 念のため ボクは多重ディスパッチ派閥じゃないですよ。 ボクの考えでは、これはオブジェクト指

    Pythonのjoinがキモいとか言ってると、多重ディスパッチ派の人がやってきますよ - みずぴー日記
  • プログラミングに詳しい人に質問です。大学でプログラミング経験の学部一年生向けにプログラミングを教えることを想定しています。…

    プログラミングに詳しい人に質問です。大学でプログラミング経験の学部一年生向けにプログラミングを教えることを想定しています。週1コマ×半年程度の限られた時間で、プログラミングとはどういうものかという質を教えたいのですが、どの言語を使うのが適切でしょうか。

    h-hirai
    h-hirai 2009/06/12
    この質問で盛り上がってたのは捕捉してたけどshiroさんがこんなに参加してたのは知らなかった
  • YpsilonがPS3で動くようになりました - Y.FUJITA::NOTEPAD::YPSILON

    野田 開さんのご厚意によりPS3をSSH経由で提供して頂きました m(_ _)m 32bit/64bit対応でFFIもサポート済みですよ。 :) libspe2を使ったテストプログラムを作ってみました。 svn trunkのイプシロンをPS3に入れると動きます^^b #!/usr/bin/env ypsilon #!r6rs ;; ps3-cell-demo.scm ;; tested on PS3 Linux (import (rnrs) (only (core) system format iota) (ypsilon ffi) (ypsilon concurrent) (ypsilon cell libspe2)) (define spe-code " #include <stdio.h> int main(unsigned long long spe_id, unsigned lo

    YpsilonがPS3で動くようになりました - Y.FUJITA::NOTEPAD::YPSILON
    h-hirai
    h-hirai 2009/05/23
    「野田 開さんのご厚意によりPS3をSSH経由で提供して頂きました m(_ _)m」というのも面白い
  • Chaton

    Chaton (pronounced like [sha-ton], a 'kitten' in French) is a simple Comet-based Webchat server written in Gauche. Originally it is developed to host a successor of Gauche chat room on Lingr ( http://www.lingr.com ), when Lingr announced to terminate its service. Although Chaton never aims at serving in such a large scale and with tons of features like Lingr, the "look and feel" of the interface s

    h-hirai
    h-hirai 2009/05/21
    Lingr終了をうけて自力で作っちゃう人たち
  • SICP独習会 目次 - どらや記

    計算機プログラムの構造と解釈 作者: ジェラルド・ジェイサスマン,ジュリーサスマン,ハロルドエイブルソン,Gerald Jay Sussman,Julie Sussman,Harold Abelson,和田英一出版社/メーカー: ピアソンエデュケーション発売日: 2000/02メディア: 単行購入: 35人 クリック: 1,149回この商品を含むブログ (480件) を見る 巷で難しいと噂のSICPの勉強の過程をメモしておこうと思います。勉強のやり方としては、 挫折禁止 挫折するのが一番駄目。人に聞いても良い。毎日1ページずつでも良いとにかく進む。 出来るだけ練習問題を解く 受験生ではないけど手と頭を動かさないと覚えなさそう。 練習問題が難しい場合は答えを見ても良い 一人では無理な場合もある。答えを見て理解できたならばそれで良し。 勉強の過程を文章に残す 自分用の記録として、そして後学者

    SICP独習会 目次 - どらや記
  • [book][The Little Schemer]翻訳したい2

    「The Little Schemer」(ザ リトル スキーマー)を読んでいます。 このが大好きになりました。翻訳したいです。 以前、日語版の「Scheme手習い」というものがあったようなのですが、現在は絶版のようです。 このは日語版があった方がいい 間違いない。だっておもしろいもん。 英語だからって理由で敬遠する人が結構いるはずです。私も英語が読めないから敬遠しそうになりました。 しかしチャレンジしたら噂の通り英語わからなくても読んでるうちに読めるようになるレベル。 でもやっぱり日語で読みたい。他の人にも読んでもらいたい。 翻訳したい。 できるかできないか、今はそんなことわかりません。やってみたいんです。 日語訳が一番欲しいのは自分だし。 どうやったらそんなチャンスが来る?

    [book][The Little Schemer]翻訳したい2
    h-hirai
    h-hirai 2009/04/20
    あう、これも積ん読だ。/期待ぶくま
  • SICPの価値 - きしだのHatena

    SICPをプログラミングのだとして批判したら、そうじゃねーだろという反応が多く帰ってきた。 いまSICPを読むのは時間の無駄 じゃあ、SICPはどういうか。 LISPを使って仮想マシンを作って、LISPコンパイラを作って実行させて、プログラムがどのように動くかを勉強するだ。 遅延評価したりガベージコレクションしたりする仮想マシンを作って、LISPプログラムをその仮想マシンで動かせるようにコンパイルする。LISPは、サンプルプログラムとしては機械語のように使われている。そこで作成されるプログラムが扱う対象としては高級言語として使われている。 LISPはアセンブラであり高級言語というバランスをもてるコンパクトな言語で、そこにSICPがLISPを使っている必然性がある。 そういうなのに、プログラミングのとして批判してたから、違うだろと言われたわけだ。 ただ、現実問題として、プログラミン

    SICPの価値 - きしだのHatena
    h-hirai
    h-hirai 2009/03/22
    そうらしいですね。3章で止まっちゃってるなー。早く再開しなきゃ。