プログラミングをより深く理解するための近道は、プログラミング言語を実装してみること。SchemeのサブセットをRubyで実装していくことで、プログラムはどう実行されるのか、その基本がはっきり分かります。 ※本書はCC BYにより配布されています。上記の「買い物かごへ」ボタンからは有償で購入できます。無料で入手したい場合は、下記リンクよりダウンロードしてください。なお、有償版も無償版も内容は同一です。 EPUB版PDF版内容紹介プログラムは書けても、その基礎となっている計算機科学(コンピュータサイエンス) の理解があやふやな人を、著者は多く見てきました。プログラミングに自信があるという人が、もう一歩先に進める道を示したいというのが、この文書を書き始めた動機です。 この文書を読むことで次の効果が得られることを期待しています。 プログラミング言語とは何かを深く理解することで、プログラミングのレベ
This phrase, or the phrase "SHALL NOT", means that the guideline is an absolute prohibition. You must ask permission to violate a MUST NOT. This word, or the adjective "RECOMMENDED", means that there may exist valid reasons in particular circumstances to ignore the demands of the guideline, but the full implications must be understood and carefully weighed before choosing a different course. You m
Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch
漫画が独特の味を出しているCommon Lispの本、Land of Lispを読みました。とても面白かったので紹介します。 本の内容 ゲームを作りながら、Common Lispや関数型プログラミングについて学べる本です。他の「ゲームで学ぶ・・・」系の本と違うのは、既存のゲームをCommon Lispで実装していくので、できあがったゲームがそれなりに面白い事です。ゲームのI/Fは基本CUIですが、一部の出力に関してはgraphvizやsvgを使ってグラフィカルに出力されていて面白くなっています。Common Lispの基本的な文法以外にも、Functional programming、ゲーム用AI、Webサーバー、Lazy Programmingと扱っているトピックは広いです。 基本的なスタンスが「Lispサイコー」なので、そういうのが好きな人も十分楽しめると思います。 ゲームの紹介 いく
Thursday, November 20, 2008 As I mentioned in a previous post, I use a combination of Emacs and SLIME when I'm working with Clojure code. SLIME provides nice functionality for jumping to Clojure documentation interactively - you just press "C-c C-d C-d" when your cursor is on a Clojure symbol and you get a brief description with an argument list. For example, if my cursor is on "defn" and I pre
賃貸暮らしのわが家の地震対策【揺れから命を守る編】 以前のブログでも記載した、防災の優先順位に基づいて対策を進めています。まだ手をつけられていない部分もありますが、ある程度まとまってきたのでざっくりとご紹介していきます。 優先順位別に改善していっているため、今回は主に地震の揺れ対策がメインになります。…
Emacsで即座にメモを取る方法はいろいろある。日本ならばHowmとかChangeLogメモが人気なのかな。俺はorg-mode + remember-modeを使っている。 org-rememberをインストールする remember-modeは頭の中で思い付いたものを即座にメモをするためのシンプルで便利なツールだ。M-x rememberでメモ用バッファがポップアップするから、メモを書いてC-c C-cを押せば記録される、それだけ。https://gna.org/p/remember-el なり「apt-get install remember-el」なりでインストールしてみよう。 org-modeはoutline-modeの超超拡張版だ。もともと構造化テキストを扱うものだったのが、本格的なアウトラインプロセッサになっていたり、TODO管理や予定表やスプレッドシート(まじで表計算できる
Recent entries 宣伝:C/C++のための開発補助ツール、GCCSenseをリリースしました matsuyama 2010-04-15 宣伝:Rubyのための開発補助ツール、RSenseをリリースしました matsuyama 2010-03-21 Emacsは死んだ matsuyama 2010-02-22 WebアプリケーションをiPhoneに対応させるための技術メモ matsuyama 2009-10-13 tokyo-emacs#x02の個人的レポート matsuyama 2009-09-07 Recent comments replica louis vuitton Anonymous User 2010-12-22 Re:テキスト入力中に補完候補を自動的に表示してくれる auto-complete.el をリリースしました Anonymous User 2010-12
「基本的な 7 つの関数を実装すれば、LISP は作れる」という話をよく聞きます。僕はこのことに疑問を持っていました。和田先生が、「"Lisp 1.5 Programmer's Manual" の EVAL の定義を読むとよく分る」とおっしゃったので、お借りして読みました。 この本では、EVAL が M 式で書かれており、すんなり頭に入ってきません。そこで、Emacs Lisp で実装してみました。 表記 関数の名前は、Emacs とぶつからないように、全部大文字にします。ただし、読みにくい表記は、読みやすい表記に変えることにしました。 QUOTE → ' (QUOTE T) → t (QUOTE F) → nil NIL → nil 7 つの基本関数 さて、7 つの関数の定義です。 (defalias 'CAR 'car) (defalias 'CDR 'cdr) (defalias '
exec-path という変数がsub-processを立ち上げる場合の検索パスらしい。ので、start-processはexec-passを使って プログラムを探す。start-processはシェルを介さないので、エイリアスは使えない。たとえば、僕の必殺エイリアス(!?) alias e 'env LC_ALL=C XMODIFIERS=@im=none xemacs -geometry 140x90+800+0 &' があっても start-process には理解してもらえない。 (start-process "hoge" "result" "e") ;; ミニバッファに Searching Program ... そんなんありません的メッセージがでる。 逆に start-process-shell-command はエイリアスが利用できる。start-process を star
優しい Emacs-Lisp 講座 メジャー・モードを作ろう Emacs-Lisp without a Hustle pcs39334@asciinet.or.jp yuuji@ae.keio.ac.jp (C) 1991-1995 by HIROSE, Yuuji メジャーモードを書こう 多くの Emacs(-Lisp) 関係の教本の常識を無視して、いきなりここから 始めます。これがもっとも早い道だと信じるからで、事実私もそうしてきました。 メジャーモードってなに 多くの Emacs-Lisp プログラマがで最終的に目指す目標の一つが、「メ ジャーモードが書けるようになる」ことでしょう。メジャーモードとは、例えば c-mode のように対象となるテキストの種別に適した、もっと言うと「専用 の」編集モードの事を指します。 GNU Emacs では、編集ファイルのファイル名のパターンと、その
国際交流センター 日本語入門初級 日仏交流150周年・京都大学創立111周年国際フォーラム 国際フォーラム ビデオ→ 動画で見る京都大学 ・What is Life? The Next 100 Years of Yukawa's Dream Nishinomiya-Yukawa International & Interdisciplinary Symposium 2007 October 15(Mon)〜20(Sat) 2007 CO-OP Inn Kyoto Conference Hall →詳細 →シンポジウム詳細PDF →シンポジウム ビデオとPDF OCW関連講義 全学共通科目 生命とは何か?(村瀬雅俊准教授) 京都大学オープンコースウェア総長懇談会 日時2007年10月30日(火) 場所:京大会館
まえがき 世の中には様々なプログラミング言語があるが,本文書では,Lispプログラミン グ言語の一つの方言であるScheme(スキーム)を紹介する.ここではSchemeを直観 的に理解することをまず目標として,形式的に完全であるかどうかにはこだわら ないことにする. ※見た目にもあまりこだわらないことにする:-) より詳しくは, 湯浅太一 「Scheme入門」 岩波書店 K.ディヴィグ著 / 村上雅章 訳 「プログラミング言語 SCHEME」 ピアソン・エデュケーション 2000 猪股俊光, 益崎真治 「Schemeによる記号処理入門」 森北出版 1994 D.P.フリードマン, M.フェライセン 著/ 元吉文男, 横山晶一 訳 「Scheme手習い」 マグロウヒル出版 1990 H. Abelson, G.J. Sussman and J. Sussman 著 "Strucuture a
優しい Emacs-Lisp 講座 メジャー・モードを作ろう Emacs-Lisp without a Hustle pcs39334@asciinet.or.jp yuuji@ae.keio.ac.jp (C) 1991-1995 by HIROSE, Yuuji メジャーモードを書こう メジャーモードってなに メジャーモードの必須条件 モード名の設定 キーマップの設定 キーの割当て ローカルマップ使用宣言 メジャーモード関数の定義 インタラクティブ関数 インタラクティブ関数をキーにバインドする 関数を実際に定義する 章末問題 1 まとめ 1 余談 1 「〜関係の関数はないかな?」を探す。 Emacs-Lisp の構文 変数 変数の宣言 変数の束縛 制御構造 if or and cond while catch, throw 算術 演算子 算術関数 章末問題 2 余談 2 関数・変数 余
会誌「情報処理」連載の「プログラム・プロムナード」(2002年4月〜2005年3月掲載)と「Haskellプログラミング」(2005年4月〜2006年3月掲載)はどなたでもご覧になれます。ファイルはすべてPDF形式です。 「Haskellプログラミング」に掲載されたプログラムは http://www.sampou.org/haskell/ipsj/ から取ることができます.
lispのpackageの仕組み(clisp) lisp そろそろ、毎度似たような関数を作っていることに気付いてきたので、共通化の仕組みを調べました。 http://www.geocities.jp/m_hiroi/xyzzy_lisp/abclisp17.htmlを参考にした。 上のサイトは、xyzzyでの説明で、下で動かしているのはclispです。 手探りでパッケージを弄ってみる。 初めの1歩 まず、数値の2乗を求める関数を使って実験をしました。 mathという名前を付けるのも恥ずかしかったので、まずは算数モジュールを作成 sansu.cl (defpackage "sansu") (in-package "sansu") (defun sqr (x) (* x x)) $ clisp [1]> (load "sansu.cl") ;; Loading file sansu.cl .
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く