最もタメになる「初心者用言語」はSennaQL!
地味に反響のないSenna 1.1.0ですが、
SennaQLという新しい問い合わせ言語が搭載されています。
我々の調査の結果、
なんとSennaQLは以下のページで挙げられている
Schemeの特徴を全て満たしていることが判明しましたっ!!!
Schemeで豊かな表現力を身につける
参照透明できれいな心をそだてる
括弧はこわくない><
Schemeは上を目指せる!
これはみんなSennaQLを学ばないといけないですね!!
SennaQLのおためし方法
Senna 1.1.0以降をインストールしたあとに、
% senna filename.db
と実行すれば、対話的環境でSennaQLを試すことができます。
SennaQLで簡単な計算をやってみましょう。
> (+ 1 1) 2 > (define a 3) a > (define b (+ a 1)) b > (define (abs x) > (if (< x 0) > (- x) > x)) abs > (abs -100) 100
ほら、簡単でしょう?(by ボブ)
SennaQLでリモートのサーバに計算させてみよう
% senna -s filename.db
と実行すればSennaサーバを立てることができます。
デフォルトではport 10041をlistenします。
% senna -c senna.example.com
と実行すれば、senna.example.comのSennaサーバに接続することができます。
ネットワーク時代にも対応したSennaQL!(当たり前か)
初心者にやさしいSennaQL!
SennaQLはプレースホルダ機能を実装しています。
よって、文字列のエスケープなどをする必要がありません。
安全安心初心者にやさしいねっ!!!
> (display ?) > oreore oreore#t > (display ?) > "test" "test"#t
jsonも出力できるSennaQL!
jsonってWeb 2.0っぽいよね!!
SennaQLではJSON出力ができます。
以下のようなsxmlっぽい式を与えると、
それをjsonで出力してくれます。
ブラボー!!!(味っ子)
> (disp > '(:html > (:head (:title "sxml")) > (:body > (@ (:bgcolor "blue") > (:text "white")) > (:center (:b "Hello.")))) > :json) ["html", ["head", ["title", "sxml"]], ["body", {["bgcolor", "blue"]: ["text", "white"]}, ["center", ["b", "Hello."]]]] #t