Lispを眺める

Little Schemaとかの方がいいらしいですがCommonLispで。

Tokyo Cabinet

Tokyo Cabinet について。利用前に情報はりつけ。

  • Tokyo Cabinet

Tokyo Cabinetはデータベースを扱うルーチン群のライブラリです。データベースといっても単純なもので、キーと値のペアからなるレコード群を格納したデータファイルです。キーと値は任意の長さを持つ一連のバイト列であり、文字列でもバイナリでも扱うことができます。テーブルやデータ型の概念はありません。レコードはハッシュ表かB+木か固定長配列で編成されます。

http://tokyocabinet.sourceforge.net/

ライセンス:GNU Lesser General Public License(released under LGPL)

http://tokyocabinet.sourceforge.net/tokyoproducts.pdf

続きを読む

Clojure

Clojure?

LispJVMで実行したい。利用前に情報はりつけ。

Clojure is a dynamic programming language that targets the Java Virtual Machine.
It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.
Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic.
Every feature supported by Clojure is supported at runtime.
Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.

http://clojure.org/

Clojure (clojure.sourceforge.net)
Lispの方言を含み、SchemeCommon Lispの中間に位置
..
直接JVMを対象に設計されたため、これまで述べたすべてのLispの中で最もすっきりしたJavaインテグレーションを持ち、
また、同時実行トランザクションメモリのビルトインサポートなど、その他のおもしろい複数の概念を特長としています。

http://www.infoq.com/jp/articles/lisp-for-jvm

Blog

Edu.

Info.

Paul Graham

Macro

Extensions and enhancements to the Clojure libraries.
Contributions are made here only under the Clojure Contributor Agreement,
and may become part of the main Clojure distribution.

http://code.google.com/p/clojure-contrib/

SQL Server

利用前に情報はりつけ。
Express Editionの容量制限が1Gというのは結構きつい。

Express Edition

Connect

Tool

Support

Java

def url = "jdbc:sqlserver://localhost:1433;databaseName=DB01"
def username = "sa"
def password = "password"
def driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
def sql = Sql.newInstance( url , username , password , driverClassName)
def tokuisaki = sql.rows("select * from tokuisaki")
tokuisaki.each { rec ->
    println rec.namae
    println rec.jusyo
}