このブログの更新は X(旧Twitter)アカウント @m_hiyama で通知されます。
Follow @m_hiyama

ご連絡は上記 X アカウントに DM にてお願いします。

[参照用 記事]

ボックス の検索結果:

J言語の印象: その変態さと可能性

…を持ちます。「<」がボックス化(Box)、「<.」が切り捨て(Floor)、「<:」がデクリメント(Decrement)となります。ボックス化は、今のところ意味不明です(調べがついてない)。組み込み演算子の一覧は次のURLに一覧されています。ウエエエー、かんべんしてくれ。 http://www.jsoftware.com/help/dictionary/vocabul.htm http://www.jsoftware.com/help/dictionary/partsofsp…

Chrome(本体は濡れ衣)での検索ボックスへの入力が極度に不快

このダイアリーの一番上にある検索ボックスなんですが、Chromeだと、バックスペースキーとか空白キーが奪われてしまって、めちゃくちゃ不愉快なんですけど。なんか便利になる機能が追加されたんでしょうが、その機能も利便性も僕はよく知らない。バックスペースキーの邪魔をされことだけが不快な印象になっています。それだけでChromeを使わなくなるくらいの悪印象。

Google映画検索がなくなった?

…/features.html 「映画検索」によると: 上映中の映画をエリアから探したり、そのレビューを見るには、Google 検索ボックスに「映画」、「上映」または上映中の映画の題名を入力します。前回の検索で既に場所情報を保存している場合は、その付近にある映画館の上映スケジュールが表示されます。 この機能は割とよく使っていたのだけど、今やってみたら、単なる検索になっていた。一時的に使えない? サービスやめちゃった?[追記]今日(2012-04-25)は動いてますね。[/追記]

例外付き計算とグロタンディーク構成

…。例外処理をブラックボックスに閉じ込めれば、図の左右の違いは分からなくなり同値です。fで発生した例外をφで変換するような計算処理を (f, :φ) という記号で表すことにします。f: A → B +: X ならば、(f, :φ): A → B +: Y となります。プロファイルの例外型の部分が、XからYに置き換わります。例外付き計算の結合2つの例外付き計算 f: A→ B +: X と g: B→ C +: Y の結合の話題は何度もしています。モナドを使うのが一番スッキリする…

置換の圏から代入の圏へ

…を箱で描いているのでボックス図と呼びます。ほんとはボックス&ワイヤー図なんだけど、主役は箱でワイヤーは箱から出る端子(コネクタ、ピン)を示すだけ。まんなかの図は、「バエズとステイのロゼッタストーン論文と現代のヒエログリフ」で紹介した論文で使われています。箱の代わりに丸、方向は左から右じゃなくて上から下です。物理では、上から下より下から上に描くほうが多数派です。右の絵は、下から上の方向で描いています。そして、fを表す丸は点に退化してます。これはもう、物理のファインマン図ですね。…

変数なしプログラミングとお絵描き圏論

…がなくても平気です。ボックス&ワイヤーによる絵算(pictorial/graphical/diagrammatic calculation)を直接的に表現する絵図言語(pictorial/graphical/diagrammatic language)でプログラミングするのが自然じゃないかと思います。もっとも、僕自身はコマンドラインとテキストエディタが好きで、不満も感じない*2ので、絵図言語の直接入力系=お絵描きツールへのモチベーションがいまいちなんですけどね。 *1:ここら…

お絵描き圏論を試したい人のために、Catyスナップショットを公開します

…criptの背景は、ボックス&ワイヤー方式のお絵描き圏論です。しかし、Catyで絵が描けるわけじゃなくて、絵は紙の上に手書きしてください。それをCatyコンソールシェルのコマンドラインか、またはスクリプトコードとしてテキスト表現します。テキスト表現が好きな人は、絵のイメージなしでテキストコードを書き下せるかもしれません。CatyScriptインタプリタ(コンソールシェル)を試したい人のために、現在のCatyのスナップショットを公開します。アーカイブには、Webフレームワークと…

それじゃ困るよ、Firefox

もうひとつFirefoxネタ。最近のFirefox、脆弱なんじゃないの? Google Chromeに比べると、死んじゃうことが多いように思う。JavaScriptが暴走していることがよくあるみたい。それでスクリプト走行を制御するダイアログボックスが出るのですが:ダイアログボックスが死んでるし。

2010年末に再び考える、Catyスキーマとユーザーインターフェース

…ckbox チェックボックス textarea textarea 複数行のテキスト入力 select single-select セレクトボックス select multiple multiple-select 複数選択セレクトボックス 各フォームコントロールからどんなデータ型を入力するかをまとめると: コントロール データ型 text string, number password string radio enum(列挙型), boolean checkbox bag(バ…

続・ワールドを使った計算

…プロパティの値で尽きているので、これで十分でしょう。という次第で、疑問な点も2010年版の論文でだいたい解消しました。ワールド(worlds)という発想は色々と参考にはなりますが、CatyScriptのアンビエントのように、外部ストレージ操作のトランザクションを主たる目的とするサンドボックス実行(sandboxing)とは違いもあります。“実行環境”とは何であるか? という問題はもっと考えてみる必要がありますね。考えが多少まとまったら「続々・ワールドを使った計算」を書くかも。

ワールドを使った計算

…行で使っているサンドボックス機能と似てます。しかし、Catyのサンドボックスはランタイムの機能であるのに対して、ワールドは言語機能です。環境が、プログラムから操作可能なデータとして対象化(reify)されています。別な言い方をすると、ワールドはプログラミング言語のファーストクラスのデータなのです。ワールドの参照と操作には4つのプリミティブがあります。thisWorld、sprout(発芽させる)、in、commit です。 var w = thisWorld; // 現在のワ…

CatyScriptで記述するCatyのリクエスト処理

…機能が複雑でブラックボックスになっていると、このメリットが失われます。仕様がハッキリした単機能のコマンドを繋いだパイプラインなら、パイプラインの任意の位置をダンプする*7ことでたいていの事が分かってしまいます。これがまさにパイプ・アンド・フィルターのご利益です。ところで今までの話では、クッキーやセッションのことが入ってません。リクエスト処理を超えて維持される状態という概念があんまりキレイに書けないのです。リクエストのディスパッチにログイン状態が関わったりする可能性を考えると、…

Webサービスの設計:Webの状態遷移図の描き方

…ンノードは、ブラックボックスでありその内部を詮索すべきではありません。しかし、実用上はその内部構造を描きたくなることがあります。次の図の右側は、左側のアクションノード(黒丸)のなかを開いたものです。外部から見れば1つのアクションノード(左の図)が、実は2つのアクションから構成されていたわけです。アクションどうしを結ぶ辺は波線で描くことにして、この波線は内部辺と呼びましょう。内部辺は、サーバー内で完結するリダイレクト、あるいはフォーワードのような概念を表します*3。内部辺(波線…

FIT/FitNesseと多重マークアップ/多重データ構造

…構造テスト(ホワイトボックス・テスト)とは違います。実行可能な仕様記述に近いものが要求されます。そうはいっても、形式仕様記述言語(例えばOBJファミリー)を使うのはシンドイし、通常の開発作業とスムーズに接続するのが難しい。安直に実行可能仕様記述を書ける方法として、僕が思い起こしたのはウォード・カニンガム(Ward Cunningham)のFIT/FitNesseです。おおざっぱに言えば、FITとは、HTML文書またはWiki文書内にプログラムのアサーション*1を混ぜちゃう手法…

そろそろ決着、HTTPメソッド、URL、そして標準化された動詞

…プにおけるダイアログボックスのような役割を果たすのでApplicationに分類してもいいでしょう。ただし、Resource(単なるデータ)とApplicationの境界線は曖昧です。Processorはサーバー側で実行されるプログラムです。動的ページの背後にはサーバー側プログラムがありますが、それをProcessorとは呼びません、内容が変動するResourceに過ぎません。当該URLが、計算処理資源を表しているときに、そのURLをProcessorに分類します。検索や翻訳…

色付き絵算と分合律

ボックス&ワイヤー図、あるいはストリング図において、ワイヤー(ストリング)の並置はモノイド積を表します。モノイド積が2種類、例えば×と+があると、単に並置するだけではどっちの積か分かりません。そこで、ワイヤー間の帯状領域に色を塗って区別することにします。例えば、×が赤、+が青とか、3色ペンの出番ですぜ。また、A, B, C 3本のワイヤーがあるとき、「AとB」、「BとC」のどちらを先に演算するかを示すために、束ね糸を使うことにします。このお絵描き方式で分配律を描くと次のようで…

シーケント計算と例外処理コード

…でとめたり、となりのボックスと繋いだりしているうちに、シーケントの推論図と同じ図形になることを発見しました。 ゲンツェンがシーケント計算を創案したのは1930年代です。7,80年前ですよ。その推論規則が、なんで現在のプログラミング言語の例外機構と同じ形なんでしょう? 単なる偶然かも知れません。あるいは、本質的な概念は時代や分野を超えている、といえばそれまでのこと。でも、気分としては不思議でなりませんね。 さらに、例外処理と同じ絵は、テンソル計算(の絵算版)でもしょっちゅう出会…

BPStudy#26 お疲れさまでした、あと、感想/補足/反省とか

…トが実行されるサンドボックス環境を「Catyちゃんハウス」と呼びます(リカちゃんハウスにインスパイアされました)。Catyちゃんハウスは、外部(OS、Webサーバー、ファイルシステム、コンソールとウィンドウシステムなど)から完全に遮蔽されています。Catyちゃんハウス内で動いているコマンド/スクリプトは、外部について知るすべはありません。しかし、ファイルシステムをはじめとするストレージ(IOの対象物)がないと、たいていのプログラムは仕事ができません。外を見ることはできない(窓…

Catyプロジェクト/ソフトウェアについて

…ポートするであろう内容は、出会った問題と、それを解くための試行錯誤(うまくいけば解決策)ですから、簡単でもなきゃ分かりやすくもないかも知れません。 *1:Catyハウスというお家に住んでます。技術ジャーゴンとしての「Catyハウス」はある種のサンドボックス環境のことです。 *2:2つのモノイド積を持ち、それらが半環(semiring)の法則を満たす圏です。2つのモノイド積を使って2種類のスタンピング・モナドを構成できます。一方が例外モナド、もう一方が副作用モナドに対応します。

カリー/ハワード(Curry-Howard)のお絵描きを楽しもう

…の代わりに箱を描けばボックス&ワイヤー図(boxes and wires diagram)です。僕が採用しているのは、ジョン・バエズ(John Baez)の描き方、オダンゴを小さくした図はストリング図と呼びます。superstring04さん曰く: f^はxを引数として、得体の知れないものを返している。この得体の知れないものがλy.(2x+y)に対応する。 f^^は引数を取らず、しこたま得体の知れない λx.λy.(2x+y) というものを返す関数、とわかる。 「得体の知れな…

演繹系とお絵描き圏論

…、構造規則は回路図(ボックス&ワイヤー図、ストリング図)と相性がいいのです。一般的な「n-入力 m-出力」の回路図の全体は、圏というより多圏(polycategory)という構造を作るのですが、お絵描き計算には非常に都合がいい舞台です。僕が想定しているシナリオでは、ラムダ計算も命題論理もお絵描き(回路図)ありきなので、絵が描きやすいことが最優先の定式化になっているのです。 *1:セミナーで提示した系では、破棄を禁止したので技巧的変形が残ってしまいました。証明図=大きなラムダ式…

カリー/ハワード(Curry-Howard)の対応を知らない子ども達および大人達へ

… 本や論文において、ボックス(あるいはオダンゴ)とワイヤーを使った図より証明図が多用されるのは、文字組版の範囲で制作・印刷できるからでしょう。ただ、ワイヤーがない分だけレイアウトが大変です。慣れないと、何度も描き直すハメになります。(ちなみに、id:oto-oto-otoさんが、証明図のレイアウトを支援するソフトウェアを使ったことがあるとおっしゃっていました。)最近使われるようになった証明ネット(↓)だともう、テキストエディタや文字組版では無理で、図版として描くしかないですね…

ラムダ計算とスノーグローブ現象:oto-oto-otoさんの疑問に答える

…関数 -- ブラックボックス、抽象的な「存在」 ラムダ式 -- 関数の実装(の詳細)=ソースコード、具体的な「存在」 関数は確かに抽象的ですが、「いま目の前にある」とか「隣の椅子に座っている」と考えてください。もっと抽象度の高いものがウジャウジャ出てくるので、関数はリアルでファミリアーなんだと思わないと、雲をつかむような感覚になってしまいますからね。(小さな)ラムダ式はソースコードじゃなくて、むしろオブジェクトコードと考えてください。記号計算機械の機械語です。機械が十分高水準…

ホッピングボール:何が面白いのか、どんなことを考えるのか

…で(つまり、ブラックボックスのまま)、ホッピングボール・マシンの動作を記述するにはどうしたらよいでしょうか? 目的に応じて、適切なホッピングボール・マシンの記述方法を開発する必要があります。この課題を、「ホッピングボール・マシンの記述問題」と呼ぶことにします。●ホッピングボール・マシンの構造推測問題前節で例に挙げた、ホッピングボール・マシンを外部から見ての「動作の記述」ができたとします。すると、そのような動作をするホッピングボール・マシンの内部構造はどうなっているか? という…

ホッピングボール:書きはじめよう、ゆるゆると

…れば、完全なブラックボックスです。ホッピングボール・マシンに対して出来る操作は、入り口の穴にボールを入れることだけです。そして、出口の穴から出てくるボールを確認して「2 -(4秒)→ 1」のような観測命題を述べるのです。でも、いざとなったらホッピングボール・マシンの箱を開けて中を覗いてもかまいません。ホッピングボール・マシンの動作は非決定的でも、中の仕掛けは決まっています。ノードと呼ばれる場所と、ノードとノードを結ぶ辺と呼ばれる矢印から構成されています。これを図示すると有向グ…

自己関手の圏とモナド

…いけど魅力的 準備:ボックス図からストリング図へ 準備:徹底的に左から右の記法 自己関手の圏End(C) 余談:圏論は、ほぼ計算だけ 厳密モノイド圏 実例:行列の圏 実例:非負の実数 実例:釘にラベルが付いたブレイド図の圏 ほんとに面白いのは モナドはモノイドだ -- 言ってるだけ実は、「モナドはモノイドだ」ということは、アッチコッチで断片的に述べてます。「無理して(圏論的)モナドをJavaで説明してみる」の「モナドの効用」のところで、 モナド結合律とモナド単位律が、通常の(…

ErlangとJavaのあいだでリモートメッセージング (後編)

…pawn/3 メールボックス生成 node.createMbox() 名前付け register(name, Proc) 名前付け mbox.registerName("name") 確認 net_adm:ping(RemoteNode) 確認 node.ping(remoteNode, timeout) 送信 {Name, RemoteNode} ! Msg 送信 mbox.send(name, remoteNode, msg) 受信 receive ... end 受信 …

僕もErlangを試してみたよ -- 軽量プロセスを中心に

…セージキュー(メールボックス)をreceiveで読み出す方式です。 % 新しいgreet_forever_slowly greet_forever_slowly() -> greet(), receive _Any -> io:fwrite("~w, exit.\n", [self()]), exit(ok) after 3*1000 -> ok % タイムアウト、何もしない end, greet_forever_slowly(). > spawn(hello, greet_…

A4の紙を整理する良い方法はないだろうか?

以前100円ショップで買った蓋付きのケースは、そこそこ使いものになっていたのだけど、今は売ってない(もっとまとめ買いしておけばよかった)。文房具屋に行ってみたら、ドキュメント・ケースファイル、マガジンボックス、ドロワーボックスなんて製品があるのだけど、いずれも1000円以上。高すぎ。結局、800円ほどのデスクトレイってのを買ってきたが、これは積み重ねが難しい。無印良品に、縦に積み上げられる引き出しのようなモノがあったような、今度アレを試してみよう。

DI(依存性注入)からどこへ行こうか その1

…ん。マイクロソフトのボックス・アンド・スプーン図(ロリポップ図)を知っている人は、ほぼ同じ図だと思ってください。ポートを箱のどの場所に取り付けるかは大問題なんですが、今ここでは立ち入らないでエエカゲンな場所に配置することにします。再びDI:フィールド・インジェクションさて、ポートベース・コンポネントをDIで実現したいわけですが、インジェクションにはフィールド・インジェクションを使うことにします。フィールド・インジェクションはファウラー先生の原典にはない方法ですが、いたって単純…