タグ

ProgrammingとLispに関するTaKUMAのブックマーク (21)

  • はてなまとめ(仮)

    はてなまとめ(仮)は2012年10月1日に終了しました 2012年8月31日にお知らせさせていただいた通り、「はてなまとめ(仮)」を2012年10月1日に、終了させていただきました。ご愛顧ありがとうございました。 既存まとめの編集や、ポケットは機能を停止させていただきました。これまでユーザー様に作成していただいたまとめは、以下の「まとめ一覧」から閲覧できます。 はてなは、これからも既存サービスの一層の発展と、新しいサービスの成長に、全力を尽くしてまいります。今後もはてなをよろしくお願いいたします。

  • 株式会社NTTデータ数理システム

    「物流 2024年問題対策」物流業界向けセミナー 物流2024問題の解決につながる、「配送ルート」「配車・配船計画」「荷物の積み付け方」などの輸送業務を最適化する方法について、当社のこれまでの取り組みの紹介を通してお伝えします。

    株式会社NTTデータ数理システム
  • Structure and Interpretation of Computer Programs, Video Lectures

    Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Structure and Interpretation of Computer Programs Video Lectures by Hal Abelson and Gerald Jay Sussman Structure and Interpretation of Computer Programs has been MIT's introductory pre-professional computer science subject since 1981. It emphasizes the role of computer languages as vehicles for expressi

  • Artificial Intelligence: A Modern Approach, 4th US ed.

    Artificial Intelligence: A Modern Approach, 4th US ed. by Stuart Russell and Peter Norvig The authoritative, most-used AI textbook, adopted by over 1500 schools. Table of Contents for the US Edition (or see the Global Edition) Preface (pdf); Contents with subsections I Artificial Intelligence 1 Introduction ... 1 2 Intelligent Agents ... 36 II Problem-solving 3 Solving Problems by Searching ... 63

  • (fluxus)

    act of a flowing; a continuous moving on or passing by, as of a flowing stream; a continuous succession of changes A 3D game engine for livecoding worlds into existence. Fluxus is a rapid prototyping, playing and learning environment for 3D graphics, sound and games. Extends the Racket language with graphical commands and can be used within it’s own livecoding environment or from within the DrRack

  • Y Combinator - LoveRubyNet

    $Id: ycombinator.html,v 1.6 2002/06/27 23:37:39 aamine Exp $ [ruby-list:35058] に刺激を受けて Y combinator を解読してみた。 こんなもん読むくらいなら以下の参考ページを読んだほうがいい。 参考にした (というかほとんどそのままな) ページ (英語) http://www.ececs.uc.edu/~franco/C511/html/Scheme/ycomb.html 動機 再帰関数は再帰するときに自分自身を名前で呼ぶのが普通である。 これをなんとかして名前を使わず、関数そのものを呼ぶように させたい。 求めかた まず単純な fact (階乗) を以下に示す。言語は Scheme である。 (define fact (lambda (n) (if (zero? n) 1 (* n (fact (- n

  • 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の狭間で
  • How to Design Programs

    How to Design Programs An Introduction to Computing and Programming Matthias Felleisen Robert Bruce Findler Matthew Flatt Shriram Krishnamurthi The MIT Press Cambridge, Massachusetts London, England Copyright © 2001 Massachusetts Institute of Technology Illustrations © 2000 Torrey Butzer All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (

  • 独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Days

    A practical introduction to the programming language Scheme

  • Lispの真実

    Leon Bambrick / 青木靖 訳 2006年9月24日 日曜 ここにLispの真実が明らかにされ、いくつかの代替が提示される。 Lispを学ぶことはあなたの人生を変える。 あなたの脳はすごく大きくなり、そんなに大きくなるものだとは思わなかったほどになるだろう。 あなたは自分のアプリケーションをすべて、ほんの一握りのコードで書き換えるだろう。 社会はあなたを避けるようになる。あなたも社会を避けるようになる。 あなたは自分のまわりの物やまわりの人すべてに不満を感じるようになる。 Lispは非常にシンプルであり、ほんの数分で学ぶことができる。私はさっきバスを待っている間に学んだ。 Lispは非常にシンプルであり、どんな言語を使おうと数ページのコードで実装できる。しかしそんなことをすることはないだろう。ひとたびLispを学んだなら、あなたはLisp以外の言語で何かを書こうとは思わなくなる

  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
  • 大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係

    はじめに 2006年8月、Javaの次期仕様(JDK7)にクロージャを入れる案*が出され話題になりました。クロージャは関数型言語では30年以上の歴史を持ち、プログラミングにおける基的な道具となっています。最近はPerlRubyPythonなどの軽量言語(Lightweight Language)にも取り込まれ、それと知らずに使っているユーザーも増えているのではないでしょうか。 一方、手続き型言語の世界では、完全なクロージャはなじみが薄いようです。C言語からC++へと発展してきた手続き型言語のメインストリームでは、 ガーベジコレクションを持たず、ローカル変数をスタックに置くことを基とする言語のため、クロージャとの相性が悪かった オブジェクト指向を採り入れることでクロージャの代用とできた といったことが理由でしょう。 実際、クロージャとオブジェクト指向プログラミング言語には、メカニズム

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係
  • ラムダ計算 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。 適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2020年5月) ラムダ計算(ラムダけいさん、英語: lambda calculus)は、計算模型のひとつで、計算の実行を関数への引数の評価(英語: evaluation)と適用(英語: application)としてモデル化・抽象化した計算体系である。ラムダ算法とも言う。関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。アロンゾ・チャーチとスティーヴン・コール・クリーネによって1930年代に考案された。1936年にチャーチはラムダ計算を用いて一階述語論理の決定可能性問題を(否定的に)解いた。ラムダ計算は「計算可能な関数」とはなにかを定義するために用いられることもある。計算の意味論や型理論

  • On Lisp

    Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト (c) 野田 開     NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>

  • パラメトロン計算機

    前回のブログ「四面体の体積」に名称だけ出てきたHeronの式というのがある. 三角形の3辺の長さをそれぞれa, b, cとし, (a+b+c)/2をSとすると, その三角形の 面積は√S(S-a)(S-b)(S-c)というのである. たとえば, 辺の長さが3,4,5のPythagoras三角形ではS=6だから, 平方根号の中は 6×3×2×1=36で, 面積は6だ. 右の図, 1辺が2の正三角形では, S=3で, 根号内は3×1×1×1=3で, 面積は√3である. Heronの式を覚えた時, これが正しいという証明を見たかどうかは分らない. 勿論, Sの次元は長さ, S-a,S-b,S-cも長さなので, 根号内の次元は長さの4乗; 開平すると 2乗になり, つまり面積だ. そういえば, 前回のブログにあった, 四面体の体積を6の 辺の長さから求める式も体積の次元になっている. あたりまえ

  • Scheme Topics

    Lisp系のプログラミング言語の一種。 Gerald Jay SussmanとGuy Lewis Steele Jr.により1975年に創られました。 このWikiシステムもSchemeで書かれています。 Scheme処理系 Gauche Shiroが作っている処理系。多バイト文字をネイティブにサポートする。 MzScheme PLT Schemeプロジェクトの処理系のひとつ。 広く使われており、ライブラリやアプリケーションも充実している。 SigScheme 開発中の小規模な処理系。今後に期待。 処理系間の差異に関しては SchemeCrossReference も参照。 Scheme Topics 下のリストはマクロにより自動生成されています。Scheme:なんとか というページを作れば、自動的にリストに追加されます。 Scheme:!と?Scheme:BookScheme:Brain

    Scheme Topics
  • Scheme:Schemeプログラマのレベル10

    emeitchさんのリクエストより。元ネタは Perlプログラマのレベル10。 私家版、Schemeプログラマのレベル10 くれぐれも気にしないように。 レベル0 SchemeとかLispとかいうカッコだらけですごくわかりにくい言語があることは知っているが、 最強とか主張する信者がいるらしいのでなるべく関わらないようにしている。 EmacsLisp?もその親戚らしいけどコードを見ただけでくらくらする。 でも便利なマクロは自分の.emacsにコピペしている。 レベル1 Schemeに関するwebサイトを見たり、大学の講義での説明とかを聞いて、 factorialとかappendとかreverseとかを書いたり、 ネストした木構造のノードの数を数えたりできる。 でもそれが何の役に立つかわからない。こんな言語で実用的な プログラムが書けるなんて信じられない。 カッコの位置を間違えて動かないプロ

    Scheme:Schemeプログラマのレベル10
  • Welcome to the SICP Web Site

    Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. from The New Hacker's Dictionary, 2

  • Gauche - A Scheme Implementation

    Gauche(ゴーシュ)は、スクリプトインタプリタとしての使い易さに重点を置いて 開発を行っているR7RS準拠のScheme処理系です。日常業務の中でのちょっとした処理を行う スクリプトを気軽にSchemeで書きたいなあ、という願望のもとに、 起動が速いこと、システムへのアクセスが組み込まれていること、 最初から多国語対応を考慮していること、 リスト処理ライブラリとして他のC/C++プログラムから簡単にリンク可能であること、 などを目標としています。 Gaucheは多くのUnix系プラットフォーム およびWindows上で動作します。 実装されている機能の概要については、 機能のページをご覧ください。 News 詳しい変更はChangeLogをどうぞ。 また、最新の開発状況はGitリポジトリで知ることができます。 2024/4/23 Gauche 0.9.15 リリースノートを参照してくだ

  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持