チューリング完全(チューリングかんぜん、英語: Turing-complete)とは、計算理論において、ある計算のメカニズムが万能チューリングマシンと同じ計算能力をもつとき、その計算モデルはチューリング完全あるいは計算完備であるという。 チャーチ=チューリングのテーゼによれば「計算可能関数」は、それを計算しようとする計算モデルがチューリング完全であれば計算できる。 一般的なプログラミング言語の背景にある計算モデルの多くはチューリング完全である。一見単純な機能しか持たない言語がチューリング完全な例としては、Lazy K、Brainfuckなどがある。究極的に単純な計算モデルとしては「ウルフラムの2状態3記号チューリングマシン(英語版)がチューリング完全であると証明されている。 チューリング完全かどうかという事は、計算可能性理論の問題である。計算複雑性の分野の問題である時間や記憶容量の消費量に
PerlでWebAppの開発に必要なN個のこと - Islands in the byte streamのCommon Lisp版です。 あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずCommon Lispについて知っていることを書いた。←ここまで引用 Perl版と異なるのは、これは昔よく使われていたけど今は使うべきじゃないみたいなのも書きました。 パッケージマネージャ Quicklispを使います。Common Lispで開発しようと思ったら処理系の次にこれが必要です*1。ここ数年のCommon Lispの環境変化はQuicklispに依るところがとても大きいです。 http://www.quicklisp.org/beta/ ライブラリごとにバージ
Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch
Read-eval-print loopの略 字のごとく読んで評価して表示して繰り返す。対話型評価環境を指す。ただし、インタープリタと同義ではない。 多くの関数型言語やスクリプト言語では利用出来る。たとえば: Common Lisp (Common Lispではデバッグ環境も同時に備えている。emacsに組み込まれたslimeもこれに当たる。) Emacs Lisp (ielm) Ruby (irb) Python (ipython) Scheme処理系 Haskell (hugs, ghci) OCaml このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。
免責事項:本サイトに含まれる情報は、一般的な情報提供のみを目的としています。情報はスペシャルベストによって提供され、当社は情報を最新かつ正確に保つよう努力しますが、いかなる目的においても、ウェブサイトまたはウェブサイトに含まれる情報、製品、サービス、関連グラフィックスに関する完全性、正確性、信頼性、適合性、利用可能性について、明示または黙示を問わずいかなる表明または保証も行いません。従って、これらの情報に依拠することは、あくまでもお客様ご自身の責任において行われるものとします。 当社は、当ウェブサイトのご利用に起因するいかなる損害についても責任を負いません。 本ウェブサイトから、スペシャルベストの管理下にない他のウェブサイトへリンクすることができます。当社は、それらのサイトの性質、内容および利用可能性を管理することはできません。リンクは必ずしも推奨するものではありませんし、リンク先で述べら
より新しいバージョンはEmacs実践入門 - おすすめEmacs設定2012 - ククログ(2012-03-20)にあります。 キーバインド ;;; キーバインド (define-key global-map "\C-h" 'delete-backward-char) ; 削除 (define-key global-map "\M-?" 'help-for-help) ; ヘルプ (define-key global-map "\C-z" 'undo) ; undo (define-key global-map "\C-ci" 'indent-region) ; インデント (define-key global-map "\C-c\C-i" 'dabbrev-expand) ; 補完 (define-key global-map "\C-c;" 'comment-region) ; コメン
emeitchさんのリクエストより。元ネタは Perlプログラマのレベル10。 私家版、Schemeプログラマのレベル10 くれぐれも本気にしないように。 レベル0 SchemeとかLispとかいうカッコだらけですごくわかりにくい言語があることは知っているが、 最強とか主張する信者がいるらしいのでなるべく関わらないようにしている。 EmacsLisp?もその親戚らしいけどコードを見ただけでくらくらする。 でも便利なマクロは自分の.emacsにコピペしている。 レベル1 Schemeに関するwebサイトを見たり、大学の講義での説明とかを聞いて、 factorialとかappendとかreverseとかを書いたり、 ネストした木構造のノードの数を数えたりできる。 でもそれが何の役に立つかわからない。こんな言語で実用的な プログラムが書けるなんて信じられない。 カッコの位置を間違えて動かないプロ
Clojure is a robust, practical, and fast programming language with a set of useful features that together form a simple, coherent, and powerful tool. The Clojure Programming Language Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.
わからない…… わからない…… R6RSのAppendix Aに載っている形式的意味論がわからない…… Schemeの形式的意味論を理解するための冒険は、 R6RSを印刷して読みながら、実際にPrologとかで、 意味論にそったインタプリタを作ることよ わからない…… そんな面倒なことをする意味があるのかわからない…… 本当にそれで理解できたのかは筆者もわからない…… それじゃあ、簡単に説明をするからよく聞いてね。 けど、それでもR6RSを印刷したほうがいいわ。 それから、R6RSは「みんなもってる」ものなので、 自分のものだと分かるように、ちゃんと名前を書かないとだめよ。 「おなまえシール」を貼るというのも手ね。 もくじ なにをするの おおざっぱに もうすこしせいかくに きほん かきかえ むずかしいかきかえ ぶんぽう やくそくときほん ぷろぐらむのぶんぽう ぶんみゃくとあな ぶんみゃくの
最終更新日: 2000-12-02 (公開日: 2000-12-02) ちょっと感傷的。「今年」は 2000年のこと。 目次 ことはじめ 2.2.4節の図形言語 書評 関連リンク集 ことはじめ 今年の4月に『 計算機プログラムの構造と解釈 』(SICP)を知った。これはす ごい本である。MITの入門コース用の教科書らしいのだが、僕にとっ ては難しい (一応は情報科学が専門の大学院生なんだが)。が、難 しい以上に楽しい。本物の計算機科学を感じる。perl だとか CGI だとか、くだらんことをやっていないで、もっと早く読むべきだっ た。 この本では、プログラミング言語として Lisp の 1つの方言である Scheme を採用している。僕は Lisp を長い間、敬遠してきた。あ んな括弧の多い言語、 IQの高い人間じゃないと理解できないに違 いない、そもそも実用性がないんじゃないか、と思って
勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非
#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
1. Scheme のすすめ Scheme を使うと、 美しいコードを書くことができます。 プログラミングが楽しくなります。 これが Scheme を習う唯一の理由です。 Scheme を使って実用的なプログラムを書こうとするとあてが外れるでしょう。 しかし、優秀なハッカーは Scheme 好きが多いので、Scheme を習っておいて損は無いと思います。 実際、最も優れたコンピュータ科学の教科書の1つである Structure and Interpretation of Computer Programs (SICP) 日本語訳:計算機プログラムの構造と解釈 のプログラム例も Scheme で書かれています。 また、GNU は拡張言語に guile という Scheme を採用しています。 guile は MS-Word や Excell のマクロのようなもので、 簡単なスクリプトで、アプ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く