南関東の「いろんなところから富士山が見える」状況に驚きつづけている 大阪から東京に引っ越して30年以上経つが、じわじわと蓄積されてきた驚きがついに閾値を超えたので筆を執った次第である。正確には「ポメラ DM250を起動してmenuキーを押して新規作成を選んだ」のだが、ポメラを持っていなかったら、さらに驚きが蓄積されていないと…
南関東の「いろんなところから富士山が見える」状況に驚きつづけている 大阪から東京に引っ越して30年以上経つが、じわじわと蓄積されてきた驚きがついに閾値を超えたので筆を執った次第である。正確には「ポメラ DM250を起動してmenuキーを押して新規作成を選んだ」のだが、ポメラを持っていなかったら、さらに驚きが蓄積されていないと…
1. 初めに 遅延評価 (lazy evaluation) とは、値が必要になるまで計算しないという計算方法です。 この方法の利点はデータに繰り返し構造を自然に組み込むことができ、 無限を簡潔に表現できることです。これによって、プログラムのモジュール化が促進され、 プログラムが美しくなります。遅延評価の利点については なぜ関数プログラムは重要かを見てください。 全体的に遅延評価を取り入れた言語としては Haskell が有名ですが、 Scheme も部分的に遅延評価を取り入れています。 2. 遅延評価にかかわる関数 R5RS では遅延評価にかかわる関数として次のものが用意されています。 評価法が指示されているが実際の計算が行われていない中間状態をプロミスといい、 プロミスを強制 (force)することで値が計算されます。 (delay proc) proc をプロミスにします。 (prom
Emacsをちゃんと使いこなせるようになるためにはいくつかの大きな壁を越えなくてはなりません。今回説明するコピーアンドペーストは初心者がEmacsを使い初めて最初にぶつかる大きな壁の一つでしょう。一般的なエディタでは、マウスやキーボードで範囲を選択してCtrl+C(コピー)し適当な場所でCtrl+V(ペースト)という標準的な操作でコピーアンドペーストができます。そしてその動作は単純かつ明快で誰にでも簡単に理解できるものです。しかし、Emacsにおいてはそうはいかないのです。EmacsではCtrl+CやCtrl+Vといった標準的な操作は提供されておらず、そもそもクリップボードという概念も存在しません。クリップボードの代わりとしてkill-ringと呼ばれる(操作上)環状のデータ構造を使用してコピーアンドペーストを実現しますが、このkill-ringというのがクリップボードのような単純な構造で
See also Monad and Arrow HaskellWiki pages. State in Haskell SL Peyton Jones and J Launchbury, Lisp and Symbolic Computation 8(4), Dec 1995, pp293-341. (Cited by 109) Lazy functional state threads SL Peyton Jones and J Launchbury, SIGPLAN Symposium on Programming Language Design and Implementation (PLDI'94), Orlando, June 1994, pp24-35. (Cited by 127)) Imperative functional programming SL Peyton J
The Lambda Group is an informal reading group organized by SLDG students to discuss topics related to programming and specification languages, semantic models, and programming paradigms. As the name implies, the group tends towards functional languages such as Haskell, Scheme and ML. Attendance at Lambda meetings is required for SLDG students, but anyone is welcome to participate. You must be will
アローはモナドの一般化であり、John Hughesによって導入された。詳細については、以下のものを見よ。 “Generalising Monads to Arrows”, John Hughes, in Science of Computer Programming 37, pp67–111, May 2000。アローを導入した論文である。平易な入門であり、動機付けとしてプログラミングの例が使われている。 “A New Notation for Arrows”, Ross Paterson, in ICFP, Sep 2001。 ここで記述されている記法を導入した。 “Arrows and Computation”, Ross Paterson, in The Fun of Programming, Palgrave, 2003. “Programming with Arrows”, J
The intention of this post is to sketch the 'lay of the land' for others who, like me, want to use the presentation compiler for developing interactive Scala tools. If you want to dig deeper, I suggest the Scala internal mailing list, or taking a look at the Scala source code. Motivation One of the key functions of an IDE is to 'understand' the source code that the programmer writes, so that it ca
What is Cua-mode?Cua-mode is part of GnuEmacs versions 22.1.1 and later (at least).Cua-mode allows one to use ‘C-v’, ‘C-c’, and ‘C-x’ to paste, copy, and cut the region. Since this conflicts with very important keybindings in Emacs, these CUA bindings are only active when the mark is active. The package does a whole lot more, too: ‘C-z’ to undo, Shift-movement to select, and it includes support fo
Emacs は高度な編集作業が行なえるよう実に多くのキーバインドが用意されていますが,Emacs に慣れていない人はどれを使えばいいのか,いまいち分からないかと思います.しかしながら,その中でも特に1ストロークで打てるキーバインドが使いこなせると,それだけでも編集作業はかなり高速化されます.この記事では,ある程度 Emacs に慣れてきた人が次に覚えるとよい1ストロークで打てるキーバインドを自身の経験よりまとめてみました. キーワード:Emacs, 編集, キーバインド, 基本,コピー はじめに キーバインドを覚える上で重要なのは,意識して使うようにすることです.自分も最初は なかなか以下のようなキーバインドに慣れず,使う気にすらなれなかったので すが,意識して使うようにするとその便利さが分かり,すっかりEmacsキーバ インドに慣れてしまいました. ワンストロークで打てるEmacsのキー
JEmacs is a re-implementation of Emacs, written in a mix of Java, Scheme, and Emacs Lisp (ELisp). JEmacs uses Kawa to compile Scheme and ELisp into Java bytecodes. Kawa is a widely-praised Scheme implementation that includes many Scheme extensions, powerful Java/Scheme interoperability, and high performance though a sophisticated compiler. Kawa is being extended to support ELisp. This is so JEmacs
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く