Verify to continue To continue, please confirm that you're a human (and not a spambot).
何年か前に Closure って何? って質問を受けた。当時、ぼくはその質問に答えることは出来なかった。今も出来る自信がない。だから少し勉強してみた。 初歩の初歩を噛じっただけだけど、考えをまとめるためにエントリーにしてみる。 参考文献 Closure と言えば Lisp ということで、Common Lisp の本を参考にした。 「ANSI Common Lisp」(Paul Graham) pp.96-99 「実践 Common Lisp」(Peter Seibel) pp.66-67 クロージャは「関数と環境を一緒にしたもの」。これがクロージャーの説明として一番良く聞く文言。 クロージャを知っている人にはこれで十分なのでせう。でも、ぼくにはこの説明はまるで霞を掴むように思える。 更に、「ANSI Common Lisp」から引用する。 関数が外部で定義された変数を参照するとき、その変数
紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの
People come to Clojure from a variety of backgrounds. The purpose of this book is to help everyone get the most out of the Clojure language. It is not meant as a replacement for the documentation, found at the Clojure site. Please do not copy material from there to here! Feel free to post your own code, written in the Clojure language, here. However, please do not post excerpts, patches or other m
Introduction The goal of this article is to provide a fairly comprehensive introduction to the Clojure programming language. A large number of features are covered, each in a fairly brief manner. Feel free to skip around to the sections of most interest. Please send feedback on errors and ways to improve explanations to mark@objectcomputing.com, or fork the repository and send a pull-request. I'm
たけおかの Lisp ページ 目次 emacs Common Lispキーバインド GNU Common Lispを使う。Windows版 (GnuEmacsと、Gnu Common Lispを一緒に使うと便利!) GNU Common Lispを使う。UNIX,FreeBSD,Linux版 (GnuEmacsと、Gnu Common Lispを一緒に使うと便利!) Gnu Common Lisp(GCL)/Kyoto Common Lisp(KCL)の最適化について CommonLispで記述した、StarTrek(1976年頃流行した古いゲーム) Scheme版 Star Trek イスカンダルのトーフ屋ゲーム(1978年に発表された、古いゲーム)をCommonLispで記述した CADR(MITのLispマシン)について Lispマシン, CADRドキュメント和訳とか (PDF) C
Lispを学んでどうするのか…emacsをカスタマイズしまくることぐらいしか思い浮かばないが,その思想等を学ぶことは何かと役に立つはずだ.というわけで,Emacs LispはおいといてCommon Lispをやってみる. 基本編 データ構造 詳細入門編 基本編 なにはともあれCommon Lispでいろいろな式を書いてみる. 準備 2003-07-20T15:13+09:00 matsu 実行環境についての記述とサンプルのための入出力についての記述. 式と評価 2003-07-20T15:13+09:00 matsu 式の記述方法とその評価. データ 2003-07-20T15:13+09:00 matsu Lispにおけるデータについて概観する. 変数の定義と代入 2003-08-24T22:00+09:00 matsu Lispにおける局所変数,大域変数,大域定数の定義と代入について.
前説 FOO言語においては、InterpreterとくらべてCompilerが最適化しているのは、テキストをできるだけまとめて出力するようにすること。 The Compiler The compilerのアーキテクチャ。 html-compilerクラス。このオブジェクトにbackendの総称関数へ成されたopsを集積させる。 backendの総称関数は、前項へのops書き込み機能を持つ。 opsを最適化する関数にわたし、最適化される。 最適化されたops vectorをgenerate-code関数が受け取り、CLのコードを吐く。 compilerがhtml-compilerのときのprocessor interface(メソッド)は、html-compilerへのopsの集積処理とする。 関数sexp->opsを定義する。これは、前項を順次S式に適用してopsのvectorを作成する。
「JavaScriptによるテンプレート・モナド、すっげー簡単!」にて: 紙と鉛筆でラムダ計算を実行できることは必要だな、やっぱり。 なんて強調したので、ラムダ計算の入門、いってみよう。 [追記]練習問題集を追加しました。説明を読みながら、あるいは読んだ後で是非やってみてください。→「JavaScriptで学ぶ・プログラマのためのラムダ計算 問題集」[/追記] ※印刷のときはサイドバーが消えます。 内容: JavaScriptの関数リテラル ラムダ式ってなんだ ラムダ計算の体系と適用操作 ラムダ式の例をいくつか β変換 -- ラムダ計算のキモ! β変換を何度か実行してみる 中間まとめ、まだ続きがあるよ JavaScriptの関数リテラル 最初に、JavaScriptに関する知識を確認しておきましょう。なお、JavaScriptの対話的実行環境については「もっともお手軽な対話的JavaScr
About ★「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。 Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisperを使用。 別の処理系をインストールする必要はありません!! Lispとは ★CやC++、Java、BASIC、Perl、Ruby、PHP、Python、ML、Haskellなどと同じプログラミング言語の一つです。 マサチューセッツ工科大学のJohn McCarthy教授を中心とする研究グループによって開発され、1962年に発表されました。 LispとはList Processorの略で名前通りリストの処理を得意とします。 このことから人工知能の開発に多く用いられています。 NScLisperとは
使いたい人のための継続入門継続渡し形式call/ccは普通の関数call-with系関数call-with-procedurecall-with-continuation-procedurecall-with-current-continuation評価順序と継続call/ccパズルお手元マルチスレッド部分継続reset/pcとcall/pc環境破壊と部分継続部分継続の使用法PRINT-AND-NEXT-REPL議論質問お手元マルチスレッドのサンプルプログラムについて 使いたい人のための継続入門 とりあえず殴り書き。 くどかったり冗長な文章になってたり、重複してたり、間違ってたり、 おおいなる勘違いをしてたり、恥をカいてたりするかもしれないけどご愛敬。 藁をもつかみたい気持ちで継続を使えるようになりたい人は読んでみてください。 ただし所詮は藁です。(w 継続渡し形式 例によって階乗fa
勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非
紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く