このページでは、プログラミング言語Schemeの紹介、および 自作のSchemeのライブラリやアプリケーションの紹介をしてゆきます。 特に、ファイルをパーズしてテキストファイルを生成したりとか、 プロセスを監視したりとか、ちょっとしたGUIをでっちあげる と言った、職業プログラマとしてやってく上で避けて通れない雑用に便利な ライブラリが中心になる予定です。 SchemeはLisp系の言語で、見かけはLispに良く似ています。 Lispと聞いたら人工知能用言語だとか、もう古くさい言語だとか思われることも 多いんですが、CommonLispで書かれた実用的なアプリケーションはいろいろ ありますし、Schemeも拡張言語としてそれなりに使われています。 ただ、いかんせんマイナーな言語であることは間違いなく、メンテできる人が居ない とか他に分かる人が居ないという理由で採用が見送られることがあるのは
あるいは、なぜcall/ccがプリミティブなのか、に関する一考察 (Shiro: 「なんでも継続」に入れようかと思ってたネタだけど、 あっちがいつ書けるかわからんので、忘れないようにこっちにまとめとく) (話の流れがあるので、誤りの修正以外のコメントは途中ではなく、一番下にお願いします) returnはどこだ? Aliceは、リストlisと述語手続きpredを取り、lisの各要素に順にpredを適用して、 predが真の値を返したら直ちにその要素を返すような関数findを 書くことを考えた。 (findは便利なので、実はsrfi-1に定義されてるけど、 Aliceはまあ自分の勉強のために書いてみることにしたと思いねえ)。 AliceはPerlなら良く知っている。Perlならこんな感じで書けるはず。 sub find { ($pred, $lis) = @_; foreach $elt (@
計算機プログラムの構造と解釈、通称SICPを一から翻訳し直しました。 ファイル: SICP非公式日本語版 翻訳改訂版 リポジトリ: https://github.com/hiroshi-manabe/sicp-pdf また、今回の翻訳をするにあたって考えたことを別記事にまとめました。 腐った翻訳に対する態度について SICPはMITの有名なプログラミングの教科書です。詳しくはminghai氏の記事をご参照ください。 この翻訳改訂版は、minghai氏の非公式日本語版(以降、minghai氏版)のあまりにも惨憺たる翻訳を見かねて、原著から翻訳をし直したものです。この翻訳を進めるにあたっては、minghai氏版の訳を置き換えていくというやり方で進めていきました。しかし、差分を取ればわかっていただけると思いますが、minghai氏版のテキストは痕跡をとどめていないはずです。この方式を採ったのは、
継続渡し形式 階乗factから始めましょう。 ;; 階乗の普通の定義 (define (fact n) (if (= n 0) 1 (* n (fact (- n 1))))) 上記の階乗factの定義は 引数nが0なら1を返す(基底条件) それ以外ならn-1の階乗にnを掛けたものを返す(再帰条件) となっています。 これをfactから直接値を返すのではなく、 返すべき値を継続手続きと呼ばれるものに渡します。 継続手続き自体は特別な関数ではありません。 単に、本来返り値を返すところで、その手続きに「あとはよろしく」と 残りの処理を委ねてしまいます。 そういう使い方をされる手続きのことです。 ;; 継続渡し形式の階乗の定義 (define (fact/cps n cont) (if (= n 0) (cont 1) (fact/cps (- n 1) (lambda (a) (cont (
Paletton, the color scheme designer In love with colors, since 2002. Paletton application Colorpedia About Paletton About Paletton Paletton.com is a designer color tool designed for creating color combinations that work together well. It uses classical color theory with ancient artistic RYB color wheel to design color palettes of one to four hues, each of five different shades. Various preview sty
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く