2008-01-01から1年間の記事一覧

[Scala][Java][Lisp][Ruby]プログラミング言語Scala

Scalaというプログラミング言語を調べてみたので、レポート。 どんな言語か? 手続き型オブジェクト指向と関数型のハイブリッド言語。 静的型だが『型推論』をするため、面倒くさい変数の型宣言をある程度省略可能。 LispやRubyのようにifやfor、ブロック等…

[Common Lisp][Java]ABCLで日本語を使う方法

ABCL(Armed Bear Common Lisp)で日本語を使うためのメモ。 (UTF-8限定) ABCLのコンパイル Readerが使っているストリームをUTF-8対応にする。 src/org/armedbear/lisp/Stream.java の文字コード(InputStreamReaderをnewしている部分)をUTF-8に書き換える。(2…

[Common Lisp]JavaやC++、etcな人向けに説明するCommon Lispの利点

個人的なPractical Common Lisp(実践Common Lisp)を読んだ感想のサマリとして、JavaやC++、Ruby、Python等の言語の人などに説明できるように、Common Lispの利点をまとめます。間違いなどがあったら、ご指摘いただければうれしいです。 マクロ Lisp以外の…

[Trac]エンタープライズ向けのチケットワークフロー例

大人数で開発する人向けのTracチケットワークフローの一例 プラグインを入れる必要がある。http://trac-hacks.org/wiki/AdvancedTicketWorkflowPlugin [ticket] workflow = ConfigurableTicketWorkflow,TicketWorkflowOpOwnerReporter,TicketWorkflowOpOwner…

[Common Lisp]LispBoxで日本語を使う方法

Common Lispの開発環境LispBox http://gigamonkeys.com/lispbox/Ubuntu上ではSBCLやSLIMEがパッケージになっているのでそれが一番手軽だ。 Windows上ではACL版のLispBoxを使うのが手軽なんだけど、デフォルトでは日本語が通らない。しかし、下記の2箇所を編…

[Common Lisp]TODO

PythonのTwistedのような非同期ネットワーキングライブラリがCommon Lispにも欲しいので、探す。 探してもなくて、暇なら自分で書く。(実質)シングルスレッドで同期の心配をせずにネットワークアプリを書けるっていうのは大きい。TwistedのSSHクライアントで…

[Common Lisp]Allegro CLでOLEオートメーション

;; Allegro CL付属のOLEパッケージをロード (require :ole) ;; WScript.Shellのクライアントインスタンスを作成 (defvar *obj* (ole:ask-for-autotool "WScript.Shell" ole:clsctx_inproc_server)) ;; メソッド呼び出し ;; (ole:auto-method <obj> <method-name-string-or-symbol> &rest <params>) (ole:</params></method-name-string-or-symbol></obj>…

.emacs

;; Common Lisp Hyper Spec (require 'hyperspec) (setq common-lisp-hyperspec-root (concat "file://" (expand-file-name "/usr/share/doc/hyperspec/")) common-lisp-hyperspec-symbol-table (expand-file-name "/usr/share/doc/hyperspec/Data/Map_Sym.t…

[Common Lisp]Common LispのWebアプリケーション環境 hunchentootの使い方メモ(1)

SBCL/ubuntu8.04を想定。参考URL: http://techneet.blog39.fc2.com/blog-entry-4.html インストール (require :asdf-install) (asdf-install:install :hunchentoot) gpg-check(署名チェック)ができないけどどうするか?みたいな質問が出るが、とりあえずスキ…