タグ

ブックマーク / m-hiyama.hatenablog.com (45)

  • Caty/Python Prototype-1 version 0.1.0 リリース - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ダウンロードは、bitbucket(http://bitbucket.org/m_hiyama/caty-python-proto1/downloads/)からしてください。詳細は「Caty/Python Prototype-1 version 0.1.1 @ Bitbucket」をご覧ください。 次のURLから、tar.gz または zip ファイルをダウンロードできます。 http://www.chimaira.org/tools/caty001.html [追記] ガーン、配布パッケージを作る途中で行った変更でバグを入れてしまったよ。caty.pyを起動してもファイルIOエラーが出てしまうと思います。Windowsなら、 WindowsError: [Error 3] 指定されたパスが見つかりません。 という感じ。 とりあえず、次の手順を追加してください。 アーカイブを展開するディレ

    Caty/Python Prototype-1 version 0.1.0 リリース - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2009/10/27
  • Catyプロジェクト/ソフトウェアについて - 檜山正幸のキマイラ飼育記 (はてなBlog)

    http://return0.dyndns.org/log/2009/08/08#s_1 : ところで既に何度か書いている通り、今の俺の仕事は檜山さんの配下で世界を転覆させるソフトウェアを開発することなのだが、ここ数日はそこで使うための対話シェルとスクリプト言語の開発をやっていた。 “世界を転覆させる”ことができるかどうか、あんまり自信がないのだけど、Kuwataさんの実装力のおかげで、当初の目論見通りに進捗はしてます。 それらの詳細はまあここではどうでもいい。 と、Kuwataさんは具体的な内容を書かないので、僕が書きます。まー、僕のほうが広報担当だから ^^; 「新ユニット結成のお知らせ + GAE上でファイルシステムの模倣」で次のように述べました。 僕もKuwataさんも「おぼしき事言わぬは腹ふくるるわざ」な人なので、やろうとしていること/やっていることを特に機密扱いしたりはしません

    Catyプロジェクト/ソフトウェアについて - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2009/10/27
  • PFTL: 純関数型テンプレート言語、発端とToy言語 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    テレンス・パー(Terence Parr)の論文 "Enforcing Model-View Separation in Template Engines" (http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf) と彼が設計したテンプレート言語/エンジン StringTemplate (http://www.stringtemplate.org/) に強い刺激と示唆を受けました。テレンス・パーの主張にはもう全面的に賛成です。が、StringTemplate は僕の要求に合わないところがあるので、テレンス・パーの方針と精神に従いながら、自分なりにテンプレート言語の仕様を考えることにしました。まー要するに、テンプレート言語を、機能制限された純関数型言語と考え、テンプレートエンジンはその実行系と考えりゃいい、ってことです。 まず、考えを

    PFTL: 純関数型テンプレート言語、発端とToy言語 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 厳密分離指向テンプレートエンジン:条件分岐 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    業務連絡を公開ブログでやるのもどうかな…… やっていることがダダ漏れになるのは何にも気にしないのだけど、ブログとしては雑音かな、という点でちょっと躊躇するのよね。けど、まーいいや。できるだけ解説付きで書いている(つもりだ)し。 Kuwataさんのエントリーの議論は、テンプレート処理用VMのインストラクションセットをどうすべぇ? といった観点ですけど、ここでは、テンプレートの利用者/利用場面の観点から条件分岐について考えてみます。 厳密分離原理のほころび テレンス・パーの厳密分離の原理(http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf)はホントに「厳密」で、テンプレート内での演算はすべて禁止しています。算術演算、論理演算はもとより比較演算(等号や不等号)もダメです。 StringTemplate (http://www.strin

    厳密分離指向テンプレートエンジン:条件分岐 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 厳密分離指向テンプレートエンジン:6月3週 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「厳密分離指向テンプレートエンジン、その後」の、さらに続きの報告。今回から見出しに月と週を入れることにしました。(NNDAスタイルも楽じゃねー。) 既に何度か言っているように、Kuwataさんと僕がゴニョゴニョしているテンプレートエンジンは、テレンス・パーのStringTemplate (http://www.stringtemplate.org/)から、そのポリシー/機能性/実行モデルを拝借しています。ただし、構文解析部と展開エンジン(仮想機械)を分離しています。これにより、複数の構文を比較的容易にサポートできます。 まずはSmartyにほぼ互換のテンプレート構文を試してみたのですが、それはそれでいいとして、次はGenshiの構文(Kidを多少拡張した構文)をベースにしてみようかと思ってます。データ構造と実行モデルは固定されているので、構文だけを100%互換とはナカナカいきませんが、8割

    厳密分離指向テンプレートエンジン:6月3週 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 厳密分離の原理とテンプレートエンジン - 檜山正幸のキマイラ飼育記 (はてなBlog)

    調査/作業の依頼とその報告が、恐ろしくガラス張りなことになっているんだけど: 調査報告と問題点 対処のヒントと懸念 さらなる調査と実験 NNDAスタイルってのはこういう事だから、まーいいや。背景として、僕がKuwataさんに「考えて欲しい」と言っていることを記しましょう。 テンプレートエンジンの構造 基的な要求は、Webサイト/Webアプリケーション/Webサービスを作成する作業を比較的細かいタスクに分割して、それらを最適に(できるだけ最適に近く)配分・配置したい、ということ。配分・配置とは、人と時間のリソース空間における計画のことです。配分・配置の自由度を高めるには、タスクどおしの依存性が少なくて、並行的に作業できるのが望ましいですよね。打ち合わせや報告の負担も少なくしたい(どうせゼロにはできませんけど)。 こんな要求に対する基原理となるのが、テレンス・パーの厳密分離(Strict

    厳密分離の原理とテンプレートエンジン - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 最小抽象ファイルシステムの仕様案 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「新ユニット結成のお知らせ + GAE上でファイルシステムの模倣」にて: 既存のファイルシステムもどきの仕様は考慮したほうが良さそうだけど、僕の要求としては、非常に素朴な(誰でもが常識と直感として持っている)ファイルシステムのメンタルモデルを表現できることかな。 めんどくさいので既存仕様の調査はしないで腹案を提示します。これから述べるファイルシステムの名前は、mafs (minimum abstract filesystem) です。mafsはプログラミング言語中立です。 とりあえず思ったまま/考えたままを以下に。 内容: 認証と認可 バイナリデータ IOモデル ロッキング ファイル名 カレントディレクトリ オーナーとパーミッション ユニークID、ハードリンク、シンボリックリンク 属性またはメタデータ ディレクトリ ファイルとディレクトリの扱い 例外(エラー) オプションや曖昧性は絞ろう

    最小抽象ファイルシステムの仕様案 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • JSONスキーマの功罪を、印象や感情じゃなくて考えてみようか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「JSONの可能性がグンと拡がるぞ! JSONスキーマ」に対して、がくぞーさんからトラックバックをいただきました。その冒頭を引用すると: この記事のブコメを見てみると XML Schema が在るんだし軽さがウリの JSON にそんなの必要なくね?的なコメントが散見されます。 なるほど、「なんだか複雑になりそうでヤダなー」とか「そんなもん要らねーよ」という印象や感情を持たれた方もいるんでしょうね。僕は、JSONスキーマをプロモートする気はないので、「ヤダ」とか「要らねー」の人を説得する動機はないのですが、「印象や感情だけじゃ主張や議論にはなりませんよ」って趣旨でちょっと書いてみます。 内容: 僕の感情と事情 妥当性の検証はたいてい必要 JSONにスキーマはそぐわない? JSONスキーマの弊害 バリデータ実装の負担 僕の感情と事情 「印象や感情じゃ、ラチあかんよ」と言いましたが、まずは僕の感

    JSONスキーマの功罪を、印象や感情じゃなくて考えてみようか - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • カリー/ハワード(Curry-Howard)の対応を知らない子ども達および大人達へ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    3月19日(木)にやったセミナーに関して、さっそくにKuwataさんによるまとめが公開されています。 http://return0.dyndns.org/log/2009/03/20#s_2(20日の記事までスクロール) これがまた、とんでもない力作で驚きました。とてもよく仕上がったレポートで、僕の話なんかより、これを読んだほうが分かりやすいくらい。ホントにお疲れさま。どうもありがとう。 Kuwataさん曰く: 今回は内容的に俺がまとめを書けるレベルじゃねえと思っていたら、他の参加者から「また徹夜してまとめ書くんでしょ」と言われてもう後に引けない状況。 僕も含めて皆さん期待していたのは確か。「まとめるんだよね、帰ったら書くんだよね、朝まで書くんだよねー」と、何人かがKuwataさんに声をかけていたけど、彼を殺してしまいかねないから、もうあまり言わないように。 Kuwataさん曰く: さすが

    カリー/ハワード(Curry-Howard)の対応を知らない子ども達および大人達へ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2009/03/30
  • シネマコンプレックス「新宿バルト9」の驚嘆すべき大バカ最低システム - 檜山正幸のキマイラ飼育記 (はてなBlog)

    驚いた。あきれた。なにがどうなったらこんなバカげたシステムができるのだろう? 補足解説編もあります。 さらなる補足。 コメントをしたい方は、なるべくコレにも目を通してみてください。 連休・子連れで映画館へ 連休、安直に「映画でも」と、子供二人を連れて「新宿バルト9」にはじめて行きました。9つの映画館を集約した施設、なかなかリッパです。上映開始10分前に着いたのに、既に長蛇の列、結局25分も並ばされた。すごく混んでいた? いやっ、さほどではなかったんですよ。長蛇の列の原因は、発券カウンターの処理能力が異常に低いためでした。 上映開始15分後に入れた -- ってことは 9つの映画館すべてのチケットを一箇所の総合カウンターで発売します。全席指定、完全入れ替え制です。僕らは結局、到着25分後/上映開始15分後に入れました。ここで少し考えれば、次のことがわかりますよね。 満席になればその回は入場でき

    シネマコンプレックス「新宿バルト9」の驚嘆すべき大バカ最低システム - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2008/04/28
  • ゴミ分別Webサービスを作ってちょ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「事務所再生計画」にて: 今の部屋はもともと広くはないですが、ガラクタとデッドスペースのせいで余計に狭くなっているので、[略] それでしばらくは、ガラクタ破棄日記でも書こうか、と。 とか書いたけれども、まーだ何もやってません。 でも、「これは捨てなきゃな」くらいは考えてますよ。そこで問題になるのがゴミの分別区分やら捨て方やら。例えば、ゴム草履、ガラスの花瓶(みたいなもの)、昔の太いケーブルとかはどんな区分? 捻挫したとき患部を冷やしたスプレーが出てきたんだけど、これ燃えないゴミでいいのかな? 以前、なんかのテレビ番組でゴミの分別をクイズみたいにやっていたけど、正答率はだいぶ低かった -- この事態、ちょっと考えてみてよ、オカシイでしょ。クイズのネタになるような判断を一般市民が日常的にできるわけないでしょ。自治体や地域によっても分別区分違うし。 そこでだね、「ゴム草履」とか入力すると分別区分

    ゴミ分別Webサービスを作ってちょ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2007/09/05
  • リサ・ランドール教授と5次元 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    リサ・ランドール教授が巷で人気なのは、まー、あれだよね、ぶっちゃけ言ってしまえば、、、「美人だから」って要因も大きいと思うよ*1。 それはそうとして、彼女の余剰次元(「異次元」とか「第5の次元」とか扇情的な言葉で紹介されている)の理論*2に関して: 論理[ママ]物理学の先端が、この世を越えた世界の実在の証明に向かって動きつつあることは素晴らしいことだと思います。 … 中略 … こういう理論が証明され、霊的世界の実証に進んでいくことを心から願います。 あー、やっぱりこういう反応が出ますか。 *1:[追記]えーと、実にまったく余計なことなんですが、彼女のホームページの肖像は、現在より少し若いときのお写真かなーっ、とか思います。高校生のときの写真とかは、アイドルっぽい。僕は、リア・ディゾンよりいいと思いました。(って、いったい何の話なんだよ>俺)[/追記] [さらに追記]割と最近の画像 http

    リサ・ランドール教授と5次元 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2007/08/02
  • ウンザリ、ブタクサ・サイト - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Wikipedia丸写しや、RSSから概要をかき集めたサイトからのトラックバックがほんとに増えたなー。もう、ウンザリ。消すのもめんどくさくなってきた。 このテのサイトを作るコストは安いから、ほっておけばいくらでも増えるよな。アフィリエイトからの収入が仮に月千円(そんなにいくか?)だとして、1000サイト作れば月100万だからな。 帰化植物で、そこいらにいくらでもはえていて、花粉症の原因となるブタクサになぞらえて、ブタクサ・サイトとでも呼ぼうか。ブタクサには、ブタクサハムシという天敵がいるようですが、ブタクサ・サイトにも天敵機構がないものか? 参考: 悪徳チョイ手前のサイトとトラックバック 闇からのトラックバック

    ウンザリ、ブタクサ・サイト - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2007/07/27
  • 檜山正幸のキマイラ飼育記 - 圏論やモナドが、どうして文書処理やXMLと関係するのですか?

    …という類<たぐい>の質問に答えるのはちょっと面倒なんですけど、とりあえず1つだけ具体例を挙げておきましょう。テンプレート処理が、もろにモナドになっている、ってハナシ。今回はテキスト処理について説明。次回(いつになるかまったく不明)はXML処理の予定。 テキスト処理だけでも長ーい説明(最長記録かも)なのだけど、分割すると“勢い”がなくなるから一挙掲載。読むときはユックリ・ジックリ読んでくださいね。プログラミング課題も、実際にコーディングしないまでも、「こうやればいいな」という方針くらいは考えてください。 ※印刷のときはサイドバーが消えます。 内容: ネストしたテキスト テンプレート処理 ブロック、文字列、名前 フラット・テキストとテンプレート・テキスト 多段階のテンプレート処理 蛇足 素材を整理しよう モナドに向かって突っ走れ!! バッチリ、モナドだぜぇ 残りは脱兎のごとく 最後に言ってお

    檜山正幸のキマイラ飼育記 - 圏論やモナドが、どうして文書処理やXMLと関係するのですか?
    mickn
    mickn 2007/01/30
  • VOODOOな理論達:いいセンいってる南堂久史さん - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日のエントリー「VOODOOな理論達:平成の万能大学者」の「2004 JIS をめぐる混乱」に関して、安岡孝一さんご人から教えていただきました。安岡さんは、http://slashdot.jp/~alp/journal/313207 に次のようにコメントなさっているそうです。 JIS X 0213は例示字体を変えましたけど、JIS X 0208は例示字体を変更してません。つまり、JIS X 0213では「2点しんにょうの辻」が例示されてるコードポイントに対して、JIS X 0208では「1点しんにょうの辻」が例示されている。つまり、あるコードポイントに「1点しんにょうの辻」と「2点しんにょうの辻」が包摂されてるってのを、JIS X 0208とJIS X 0213の両方で表してるわけです。JIS X 0208について全然触れようともしない「南堂論」に騙されちゃいけません。 まー、それはそ

    VOODOOな理論達:いいセンいってる南堂久史さん - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2006/06/08
  • VOODOOな理論達:平成の万能大学者 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    エエーッ! なんでぇ? さきほど「はてなブックマーク」を見たら、はてなブックマーク - シュレーディンガーのの核心が300bookmarksを越えている。みなさん、これを「わかりやすい量子力学の解説」と思っているのでしょうか? ほえーっ。 当該ページの著者の南堂久史さんてかたは、“いろいろ”書いていらっしゃるわけですが、ちょっと引用してみましょうか。 http://hp.vector.co.jp/authors/VA011700/biology/ クラス進化論 (ダーウィンの進化論を超えて) ダーウィンの進化論の問題点を指摘し、 それに替わる新たな理論を 紹介します。 http://hp.vector.co.jp/authors/VA011700/math/welc.htm 現代数学における問題と困難 ―― 集合論をめぐって ―― このホームページに示すことは、「現代数学を構築するには、

    VOODOOな理論達:平成の万能大学者 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2006/06/07
  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
    mickn
    mickn 2006/04/19
  • デュアルプログラミングとエクソシストゲーム - 檜山正幸のキマイラ飼育記 (はてなBlog)

    ここ何年か考えているテーマのひとつが「カジュアルなフォーマルメソッド(語義矛盾は承知)」なんですよ。一連の{テスト(Test), 仕様(Specification), 振る舞い(Behaviour/Behavior)}駆動開発なんて動きは、カジュアルなフォーマルメソッドなんだと僕は捉えているわけですが、もう一歩踏み込んで欲しい感じ、隔掻痒の不満もあります。 そこでメイヤーに戻って「契約駆動」とか、あるいは「検証駆動」なんて言葉も使ってみたけど、ナントカ駆動には傷気味。"Offencive Programming"は、「攻撃的プログラミング」と訳されると真意がまったく伝わらないし、、、 紆余曲折の末、「デュアルプログラミング」って言葉を使うことに(暫定的だけど)決めました。そしてエクソシストゲームは、デュアルプログラミングを説明するために案出した“極端化した比喩”です。 内容: 設計(仕

    デュアルプログラミングとエクソシストゲーム - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2006/04/13
  • おおー、これはラムダ式だ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    コサキさんのblogエントリーに、C++へのラムダ式とクロージャ導入の提案ネタが。ふーん、そうなの。 次のような構文だそうです。 <> (int x, int y) -> int { return x + y; } 型付きラムダの記法、ほとんどそのままですね;λ(x:int, y:int).(x + y):int 。 コサキさん曰く: さすがはC++の親! シンタックスのセンスの悪さは余人の追従を許しません センスの「良し悪し」つうよりは、「独特なセンス」と言うべき、かと。 ドコが自然な構文なのかまるで分かりません。 まず -> が出てくるのが論外。これは見た瞬間にポインタに脳内置換される記号ですから他の意味に使ってはいけません 先入観を排除して「->」を見れば、ほら、何の変哲もない普通の矢印。「引数の型 →(矢印) 値の型」なら「自然」。 <>も意味分からんし。 目を細めて見てくださいよ

    おおー、これはラムダ式だ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2006/03/14
  • やっぱりJavaScriptは、ナンデモアリなのね - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「初心者でも使えてプログラマでも困惑するJavaScript」の最後に、僕は次のように書きました。 「なんでもオブジェクト」である点は“オブジェクト的”だし、動作実体が関数だけであり、高階関数も扱える点は“関数的”。が、実際のコードは“手続き的”に書かれます。というわけで、マルチパラダイムというより、パラダイムなんて派閥の枠をコケにしている言語仕様であり、ちょっと小気味よいですね。 「コケにしている」かどうかはともかくとして、特定のパラダイムや系統に所属させにくいのは確かでしょう。それゆえに、さまざまなパラダイムや系統に所属する人々が、JavaScriptを自分の流儀で使おうと試みるようです。 何度か言及しているJSAN(http://openjsan.org/)のWebサイトの先頭には、"CPAN".replace(/CP/, "JS") と書いてあります。当然ながらCPAN、つまりはP

    やっぱりJavaScriptは、ナンデモアリなのね - 檜山正幸のキマイラ飼育記 (はてなBlog)
    mickn
    mickn 2005/10/17