Top This is a reference manual of Gauche, an R7RS Scheme implementation.
最初の文章のまま載せていますので、コメント欄のshiroさんの添削と合わせてどうぞ: 一概には言えないが、2点だけ。 僕は、SICPはプログラミング言語の本じゃなくて、あれはプログラミングの本なんだと思ってる。本の中でSchemeを使っているのは、アトミックなプログラミング言語だからなんだ。ラムダ計算、末尾再帰、継続を使った抽象制御、抽象構文(マクロ)、可変状態など。軽量で、かつ十分だ。 SICPでは、プログラミングをする上での課題を扱っている。モジュラリティ、抽象、状態、データ構造、並列処理など。generic dispatchやオブジェクト、並列処理、遅延リスト、(可変な)データ構造、「タギング」なんかの、明確な課題設定に対する実装例と解説が書いてある。 Clojureはアトミックなプログラミング言語じゃない。僕はもう、アトミックにプログラミングするのは古くて遅くて飽きた。Clojur
This page is a collection of libraries and extensions to use Scheme as a production tool. By "production tools" I mean the tools to process daily chores for systems engineers and programmers---parsing files, generate reports, watching processes, providing small GUI wrappers, and all sorts of those things. Currently I'm using Perl for those purpose, but I'm always longing to use Scheme for them. So
CHICKEN is a compiler for the Scheme programming language. It produces portable and efficient C and supports the R5RS and R7RS (work in progress) standards, and many extensions. It runs on Linux, OS X, Windows, many Unix flavours, and aims to be... Free Distributed free for use and modification under the BSD License (freedom to user and developer). Simple Lightweight on dependencies (a C toolchain
Scheme を深く理解するために、「計算機プログラムの構造と解釈」を購入しました。「SICP」という略称や「魔術師本」という俗称でも知られているこの本は、かつて MIT のコンピューター科学科におけるプログラミングの入門講義で教科書として使用されていました。読み進めるにあたり、問題に解答するためにプログラミング環境が必要になったので、その環境を Mac OS X 上で構築する方法を記事にまとめました。 目次 Racket のインストール SICP Support for DrRacket のインストール SICP Support for DrRacket の使用方法 例:写真の描画 1. Racket のインストール Racket の Web サイトにアクセスし、下記のスクリーンショットの手順で、Racket をダウンロードします。なお、この記事では Racket 5.3.3 を使用しま
#lang racket/gui (define my-language 'English) (define translations #hash([Chinese . "你好 世界"] [English . "Hello world"] [French . "Bonjour le monde"] [German . "Hallo Welt"] [Greek . "Γειά σου, κόσμε"] [Portuguese . "Olá mundo"] [Spanish . "Hola mundo"] [Thai . "สวัสดีชาวโลก"] [Turkish . "Merhaba Dünya"])) (define my-hello-world (hash-ref translations my-language "hello world")) (message-box "" my
Gauche でコードを書いているときにコードが意図どおりに動かないことがあります。そのような場合にデバッグする方法を4つ紹介します。 前提 まず Gauche はリリースされている最新版を使った方が良いでしょう。Linuxのディストリビューションによってはパッケージが古い場合あります。 またScheme は関数型言語なので、デバッグの単位は関数(手続き)ごとに行うことが多いです。一つ一つの手続きが意図どおり動いているのか?を調べながら進めるのが基本になります。 方法1 print デバッグ Gauche には今のところデバッガがありませんから基本的には print デバッグがメインとなります。単純な print デバッグから見ていきましょう。 以下のような sum という手続きで print デバッグしてみましょう。 (define (sum n) (if (= n 1) 1 (+ n
勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非
15. 構文の定義 (マクロ) 1. 初めに 今回は Lisp 語族に特徴的機能である、自前の構文を定義する方法(マクロ)について 説明します。マクロが定義できるようになると、プログラムがさらに簡潔に 書けるようになります。 マクロとは式の変換です。 式が評価される前に、または、コンパイル時に式が変換されます。 そして、変換後の式が初めからソースコードに書いてあったかのように処理が行われます。 Common Lisp のマクロ定義はかなり複雑ですが、R6RS に準拠した Scheme では syntax-rules という形式によって比較的簡単に定義できます。 syntax-rules を使うと変数補足などのわずらわしいことを気にしないで、 ”この式をこういう式に変換しろ”ということを直接的に書くことができます。 ただし、syntax-rules で記述できないマクロを書くのは Commo
With the release of version 5.0, PLT Scheme was renamed to Racket. (Why?) PLT will continue to maintain and grow Racket as it did for PLT Scheme for 15 years. Our commitment to this product hasn't changed and we will continue to work with all of our users on the usefulness of our programming language and IDE. This web page is maintained for historical reasons only. For all future releases, please
Gauche(ゴーシュ)は、プログラミング言語Schemeの処理系のなかでもきわめて実用的で軽快な処理系です。豊富なライブラリが用意され、スクリプト言語処理系として手軽に扱うことができます。本書は、Schemeの初心者を対象に、Gaucheの基礎からプログラミングの実際までを詳しく解説。Gaucheの開発環境でプログラマがどのように考え、作業していくのかを、順を追って理解できます。本書によって、SchemeやGaucheのコードを読み解く準備ができ、実用的なGaucheプログラミングへの第一歩を踏み出せることでしょう。 はじめに 第1部 予備知識 1章 LispとScheme 1.1 Lispの起源 1.2 S式と前置記法 1.3 Scheme 1.4 Gauche 2章 Gaucheの特徴 3章 Gaucheの設計思想や誕生の背景 3.1 Perlの影響 3.2 Common Lispの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く