Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives

仕事を成し遂げるのに必要な労力が大きいほど、その仕事をうまく成し遂げられる可能性は低い。 — Design Rule Index[第2版]― デザイン、新・25+100の法則 最近、妻にちまちまJavaScriptを教えるということをやっています。 妻はプログラミングができません。プログラムには何ができて何ができないのかや、それぞれの言語の違いもわかりません。ターミナルも使ったことがない。 こういう人にプログラミングを教えようとすると、普段プログラマが何気なくやっていることでも多様な知識が必要なのだな、と思います。 こういった状態の人に最初から多くのことを教えようとすると、学習の労力が増え、肝心の「プログラムができるようになる」という目的を成し遂げられる可能性が低くなります。なので、本質的でないところはまず後回しにしたい。 たとえばプログラムを書くのに必要なものの一つに「エディタ」というも
前編に引き続き、使うのはEmacs Lispです。 -*- 遅延リスト -*- ものすごく基本的なことを書きます。 二つのオブジェクトのペアを作る関数consがあります。このペアはドット対とも呼ばれますが、cdr部がnilの場合、真のリスト*1になります。またcdr部が真のリストであるペアもまた真のリストになります。 (setq c (cons 1 2)) ;=> (1 . 2) ;ドット対 (car c) ;=> 1 car部 (cdr c) ;=> 2 cdr部 (setq ls (cons 1 (cons 2 (cons 3 nil)))) ;=> (1 2 3) ;リスト (car ls) ;=> 1 (cdr ls) ;=> (2 3) (car (cdr ls)) ;=> 2 (car (cdr (cdr ls)) ;=> 3 (car (cdr (cdr (cdr ls)))
(これは、Lisp Advent Calendar 2012の20日目の記事です。) 長いので前後編に分けます。お暇な方はどうぞ。 -*- delayとforce -*- 正格評価の言語でもクロージャがあれば遅延評価を行うことができます。計算式をクロージャに包んでしまえば、クロージャが呼び出されるまで中の式は評価されません。*1 先行評価 (+ 2 3) ;=> 5 遅延評価 (setq p (lambda () (+ 2 3))) ;=> 計算式を包んだクロージャ (funcall p) ;=> 5 遅延評価したい式をいちいちlambdaで包むのは面倒だし、lambdaだけでは「式を遅延評価させたい」という意図が伝わりません。ライブラリにしましょう。 (defmacro delay (expr) `(lambda () ,expr)) (defalias 'force 'funcall)
What’s New in Emacs 24.3 What's New in Emacs 24.3. I annotate the NEWS file and explain some of the changes made. Emacs version 24.3 is now released to the public. This release, unlike 24.2, is chock full of goodies. I’ve taken the liberty of annotating things that’re relevant to me – and hopefully you, too, dear reader – but I’ve limited my commentary to things I’m familiar with. Always keen to h
I think EmacsLisp is getting to be a great application base, a really good language and environment to write programs in, not just a fancy editor. A number of people seem to agree and are trying it out. Here's some tips and tricks distilled from my 15 years of using EmacsLisp to help budding Lisp hackers in Emacs. Do use a modern Emacs The latest version of Emacs is 24. It's not added to a whole l
Emacs / Lisp 温泉 : ATND 2012/AUG/25に熊本県玉名温泉で開催された Emacs/Lisp温泉に 参加してきました。 成果 大阪からだったので、目的地についたときには結構疲れていて 私の成果はほとんど行きと帰りの新幹線の中でできあったものです。 Realtime Markdown Viewerの日本語対応 websocket.elにマルチバイト文字列を直接渡すとダメだって ことにソースを見て気づいてその対応をしました。これについては 別エントリを書こうかなと思います。リポジトリ。 メジャーモード tora-mode.elの作成 Vim版を参考にシンタックスハイライトとインデントの実装を行い ました。Emacsで__DATA__(or __END__)以降をコメントとして扱う 方法がわからなかったので、そこは未実装です。 quickrun.elのバグフィックス q
ParEdit1は、あなたのGNU Emacsを擬似的な 構造化Lispコードエディタ に変身させるマイナーモードだ。 通常は、Emacs LispやScheme、Common LispなどのLispコードを書くときの各メジャーモードにフックして利用する。 また、M-x paredit-mode とキー入力することで、いつでも有効・無効を切り替えられる。 最初のうちは、「右丸括弧 ) を自動補完する」といった入力支援機能に目が行くかもしれないが、これはParEditにとってさほど重要な要素ではない。 ParEditの本質は、 リスト表記の丸括弧 () のバランスを維持する 点にある。 たとえば、 リスト内部で M-s を押すと、そのリストの丸括弧 () を左右とも削除し、内容を上位リストに接合する。 リスト内部で C-k を押すと、ポイントから(同じ行内にある)そのリストの右丸括弧 ) の
SLIME の公式ページ から入手可能です.現在は ArmedBearCL, AllegroCL, CLISP , Corman Lisp, CMUCL, ECL, LispWorks, OpenMCL, SBCL, Scieneer Common Lisp といった処理系に対応.( Scheme48 に対応した SLIME48 もあります) 別プロセスで起動した lisp 処理系とソケット経由で通信する 関数の引数表示 シンボルの補完機能 ( **例:** ``m-v-b TAB => multiple-value-bind`` ) コマンド一発で HyperSpec が引ける コンパイラの note, warning, error をソース上で示してくれる(下線が引かれて,カーソルを合わせると詳細がでる) 親切なデバッガ(バックトレース上でカーソルを合せると詳細が表示されたりとか) 現
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く