このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

2012-06-01から1ヶ月間の記事一覧

DESCENT FOR MONADS

"Descent for Monads" Pieter Hofstra and Federico De Marchi て論文。33ページあったんで、2upで印刷したら字が小さくてヨメン、という不始末。 http://www.tac.mta.ca/tac/volumes/16/24/16-24abs.html pdfは、http://www.tac.mta.ca/tac/volumes/16/24/1…

モグラ(MOGra)の基本

Catyのレイフィケーションを整備してメタプログラミング環境を作る。そもそも何をレイフィケーションするのか? -- メタレベルにある構造をキチンと定義する必要がある。最近、「メタレベルにある構造」をモグラ(MOGra)という名前で呼ぶことにした。Metaob…

名前の参照関係のグラフ構造:これは物凄く大事

こういう絵になる。NSは名前空間の略称。NSコンテナはいくつかの名前空間を保持する入れ物。NSソートは名前空間の種別。 NSコンテナにNSソート指定=名前空間=束縛セット=置換=コンテキスト 色々な用語が使われているが同じこと。束縛セット(単に束縛と…

emacsのdefine-generic-mode

(define-generic-mode MODE-NAME ;; 1. コメント文字列の指定 ;; 2. ハイライトするキーワードの指定(シンプルにキーワード文字だけ登録したい場合はここだけでも良い) ;; 3. 個別にハイライトするキーワードとfaceを指定(不要ならnilでも良い) ;; 4. フ…

メタプログラミング:用語とネーミング

レイファイドデータ(reified data)といえども、単なるXJSONデータだから、これを加工するのは普通の処理となんら変わらない。が、難しい。ほんとの普通のデータは、そのまま(文字通りに)解釈すればいい。文字列は文字列だし、配列は配列だ。が、レイファ…

メタプログラミング:メタスクリプトの雛形

{* -*- coding: utf-8 -*- ここにメタスクリプトのコメント 主にコンテキストの意味とか使い方とか *} {* -------------------------------------------------- *} /** ここに生成されたスクリプトに関するdocコメント */ // マクロコード

マスターまでの5段階

A : インストール、起動、index.html、静的ファイルを置いてみる。コンソールコマンドを使う。 B : テンプレートファイル、インラインスクリプト/アウトオブラインスクリプト。簡単なアクション。 C : リソースとアクションを使いこなす。 D : コマンドを作…

メタプログラミング in CatyScript

データ処理としてはカンタンでも、メタプログラミングはやっぱり難しいな。「自分が何をしているか?」をずっと混乱しないで意識し続けるのが疲れる。

Graphvizの属性

gvモジュールを使うとき使っているオプション。 --arrowhead --arrowtail --bgcolor --color --dir --fillcolor --fontcolor --fontname --headlabel --label --peripheries --rankdir --shape --style --width値付き。 --arrowhead=diamond --arrowhead=dot…

型からフォームの生成

http://d.hatena.ne.jp/m-hiyama/20101213/1292201095 から再掲: /** * ランチの注文 */ type LunchOrder = { /** 会員識別情報 */ "ident" : { "name" : string, "memberNum" : integer }, /** 今日の注文 */ "order" : { "mainDish" : ( "special"| "fish…

配布パッケージに関するに概念 6

files.json の例を幾つか挙げる。 { "schemata@global": { "baseDir" : "../../global/schemata/", "files" : ["/webreq.py", "webresp.py"] }, "commands@global": { "baseDir": "../../glbal/commands/", "files": ["/webreq.casm", "/webresp.casm"] } } …

ポートを使っているプロセスの特定

コマンド: netstat -tan -t TCPプロトコル -a INETソケットも表示する(デフォルトではUNIXだけ) -n ホスト名・サービス名でなくて数値で表示 コマンド: fuser -n tcp 80 -n 名前空間を指定する。tcpとか、あとなにかある? fuserの表示 c 指定ディレクト…

ロバストネス図のアイコン

http://www.ogis-ri.co.jp/otc/swec/process/am-res/am/artifacts/robustnessDiagram.html にあった図。図のURL: http://www.ogis-ri.co.jp/otc/swec/process/am-res/am/images/models/robustnessDiagramNotation.jpg

配布パッケージに関する概念 リンク

配布パッケージに関する概念 X http://d.hatena.ne.jp/m-hiyama-memo/searchdiary?word=%C7%DB%C9%DB%A5%D1%A5%C3%A5%B1%A1%BC%A5%B8%A4%CB%B4%D8%A4%B9%A4%EB%B3%B5%C7%B0 Caty dev のissuから引用: パッケージの仕様とかお約束を決める。この仕様に従うパ…

多ソートメイヤー指標

多ソートメイヤー指標(many-sorted Meyer signature)とは: 状態指標の集合Σ 値指標の集合Φ s∈Σ ごとに、通常のメイヤー指標 (Cσ, Qσ)。クエリーの値はΦから取られる。 s, t∈Σ ごとに T(s, t) という記号の集合。状態のあいだの変換を表す記号。空でもよい…

モノイド関手

モノイド関手(monoidal functor)には、厳密(strict)、強(strong)、緩(lax)がある。形容詞がないと、どれを意味するかわからないから、形容詞を付けたほうがいい。

リュバシェンコ

Forvoで調べたら、Lyubashenko はリュバシェンコ。

NTNDという圏

由来・経緯を省略していきなり天下りに定義すると: |NTND| = |Rel| = |Set| NTND(A, B) := Relstrict,total(A+{⊥}, B+{⊥}) strictの条件は: R(⊥) = {⊥} あるいは、(⊥Ry ⇔ y = ⊥) totalの条件は: ∀x∈A.∃y∈B.xRy Tを三値 {true, false, indef} からなる半環…

有向グラフのラベリング、ガード付き文字列、境界付きアルファベット、

有向グラフのラベリングが関手だと書いたことがあるが: 関手の域は、グラフから作った自由圏(パスの圏) 関手の余域は、ラベルから作った圏 ラベルから作った圏Cとは、頂点ラベルがA、辺ラベルがBとして: |C| = A a, b∈A に対して、C(a, b) = B* (ホムセ…

付点非空ベキ集合モナドのクライスリ圏を使う

(-)+⊥ を Set→Set の自己関手で付点するモナドだとする。このクライスリ圏は部分写像の圏と圏同値で、アイレンベルグ/ムーア圏は付点集合の圏PtSet。この例では、クライスリ圏とアイレンベルグ/ムーア圏が同値。付点集合の圏に非空ベキ集合関手を作用させ…

ガード条件の連接と論理AND

「テスト付きクリーネ代数の圏論的な定式化」の簡単な例題の話。罫線付きノートをスキャンするとこうなるなヤッパリ。無地ノートが意外と売ってない。p, qがブール値のクエリー射 p, q:A→B×A (ブール代数を左側にした)として、ブーリアンANDを演算とするモ…

計算処理に適切な圏

計算処理のモデルに集合圏はチトきびしい。部分写像の圏ならけっこういける。順序とか位相を入れるテもある。関係圏はより自由度が上がる。が、どうも関係圏でも不足な感じがしている。部分写像の圏を点付き集合と点(基点)を保存する写像の圏に直して(圏…