2010-11-01から1ヶ月間の記事一覧
MongoQLは、「それはナイダロ」的な意味で面白い。で、だいたい分かったのは、どうも「ドット記法(dot notation)ありき」らしいこと。ドット記法じゃ分かりにくいからフィールドパスとでも呼んでおこう。「フィールパス+値の条件」が原子論理式、しいて言…
N3はNotation3、RDFの構文でN3ってあったような、それの真似。CatyのJSONストレージとクエリ言語 - 檜山正幸のキマイラ飼育記の目次に沿って定義する。最後のほうの結論(?)は結局、N3なんて要らねんじゃね。 二項関係による条件 等号 数値の大小比較 文字列…
直積と直和の双対性の意味でクリーネスターの双対を書こうとすると、対角Δの直和における対応物が必要になる。それをunshaffleとすると、begin {f | unshuffle | when {1=>pass, 2=> repeat}} がクリーネスターの双対になる。これは一体何に使えるのだろう?
普通のプログラミング言語との比較逐次実行 A; B // 流すデータがあるなら A | B// 流すデータがないなら A ; B条件分岐 if P then A else B P | when {True=>A, False=>B}条件分岐 if P then A endif // 次にデータを流すなら P | when {True=>A, False=>pa…
CatyScriptの基本はともかくパイプライン。CatyScriptの変数は、パイプライン・プログラミングの補助的なツールとなる。すべてのデータをパイプラインだけで取り扱う場合、後で使う予定のデータを何もしないで単にパイプライン内を引き回すことになり、これ…
repeatではなくて、普通の再帰を使ってみる。これはスタックフレームを消費する。名前付きコマンドを許してしまうと、repeatがあっても結局コールスタックベースの再帰は必要になる。 type path = string(format=path);type Item = {"name" : string, "isDir…
CatyScript 2.0 では、メモリ資源(スタック)を消費しない再帰呼び出しを使って、意図的に無限ループを書ける。長時間セルフテスト(マゾテスト)のために無限ループは必要なのだ。で、無限に続くFizzBuzzを書いてみる。実際には整数がラップアラウンドして…
http://tools.ietf.org/html/rfc2119 Key words for use in RFCs to Indicate Requirement Levels
"Uniform Resource Identifier (URI): Generic Syntax" というタイトルのRFCは2つある。 RFC2396(1998年発行)http://www.ietf.org/rfc/rfc2396.txt, http://tools.ietf.org/html/rfc2396 RFC3986(2005年発行)http://www.ietf.org/rfc/rfc3986.txt, http:…
データ領域は実は集合ではない。setoid。だから、ほんとはsetoidの圏を使わないといけない。かなりめんどくさい。 基礎の圏は双デカルト圏であり半環圏である。これは基本のキ。 基礎の圏はskeletalかもしれない。(http://en.wikipedia.org/wiki/Skeleton_%…