タグ

ブックマーク / alohakun.blog7.fc2.com (24)

  • ホワット・ア・ワンダフル・ワールド The implementation of the Gofer functional programming system

  • ホワット・ア・ワンダフル・ワールド KMC ウェブリニューアル会議

    弊社のウェブサイトがいろいろ古いので,改善点について議論するための会議が昨日開かれました. 始まる前は,弊社は 40 代 50 代の開発者が中心という,平均年齢が高い会社ですので,実効的な議論ができるかどうか正直疑問だったところもあったのですが,蓋を開けてみれば非常に活発なやりとりがなされ,あっという間に 2 時間が経過しました.大成功だったのではないかと思います. 特に印象的だったのは,40 台中盤と定年間近の営業部の方々が,積極的に議論に参加されていた様子でした. RSS などのキーワードや,使いやすいサイト・見づらいサイトなどのウェブに関する感覚が (僕もそんなに詳しくないし,それほど最先端を行っている若者でもないのですが) 普通に通じる.偏見かもしれませんが,このことだけでも非常に驚きでしたし,日ごろから当に真剣にアンテナを敏感に張っておられるのだなと,改めて信頼感が強まりました

  • ホワット・ア・ワンダフル・ワールド 組み込みソフトウェアの設計&検証

  • ホワット・ア・ワンダフル・ワールド ET Q&A

    問い詰める会 wiki の方で質問されて (私の不勉強により) うまく答えられなかったことを,研究室の M 先輩を問い詰めて (笑) いろいろ教えていただいたので,ちょっとまとめてみます. たぶん Web 上での議論には限界があるので (また収集がつかなくなる),さらなる疑問点などは,問い詰める会などでよろしくお願いします.コメント欄などに質問をオープンな形でメモするぶんには大歓迎です (レスはあまり期待しないでください) (免責 : これは私の理解,解釈であり,間違いは全て私の責任です) # というか,問い詰める会は,理論的なことをちゃんとやってる M 先輩とかが行った方が (笑) Q. 正しさの根拠の違い 命令型 : アルゴリズムの一実装 (コーディング).正しさの議論が困難.仕様 (what) の概念無し.how そのもの 関数型 : how を書くことには変わりないんだけど,プログ

    takkan_m
    takkan_m 2008/07/29
  • ホワット・ア・ワンダフル・ワールド 1+1=2を証明するためには1万ステップ以上かかるよ,という話

    なんかすごいサイトを見つけてしまいました. Metamath Proof Explorer Home Page 数学の基礎付けに関する 20 世紀の記念碑的偉業と称えられながらも,歴史上何人がこれまで読破したのか,と常にネタにされる Principia Mathematica (12 万円,2000 ページ!) に,1+1=2 の証明が載ってるっていうのはわりと有名な話だと思いますけど. 追記 : Radium Software Development 2006-06-30 : Proof that 1 + 1 = 2 # ちなみに,三巻組の大著の全文をオンラインで見ることができます."From this proposition it will follow, when arithmetical addition has been defined, that 1+ 1= 2.". このサイ

  • ホワット・ア・ワンダフル・ワールド 初心者にプログラミングを教える際の難しさ

    今のプログラミング言語は,アルゴリズム (計算手順) を書き下す (だけの) ものなんですよね. なので,初心者にプログラミングを教える際 「どうやってアルゴリズムを作れば良いのか ?」「熟練者は,どのように発想しているのか ?」 ということを教える際には,向きません.これがプログラミング教育質的な難しさです. アルゴリズムを作るための方法論と,それを表現できるプログラミング言語が無いから,結局はたくさん読ませて,問題解かせて,自分で勉強してがんばってね,数こなせば自然とわかってくるから,という前時代的な教育しかできないのです.これでは脱落者がたくさん出てしまっても無理はありません. amachang さんががんばってます.執筆中のマインドマップを引用するってのは,ちょっと申し訳ない気もするのですが,面白い一文を発見. IT 戦記 2008-07-15 プログラミング未経験者が Ja

  • ホワット・ア・ワンダフル・ワールド コンパイラインフラストラクチャ LLVM

    COINS はいろいろと微妙な気がするので,別のコンパイラインフラストラクチャ LLVM (Low-Level Virtual Machine) を見てみた. The LLVM Compiler Infrastructure Project LLVM ってのは,仮想マシンなんだけど,例えば Java の JVM,Perl の parrot,Ruby の TVM (旧旧 Rite,旧 YARV) みたいに,特定のプログラミング言語に向けたものではない (ってまぁ,みんな言うんだけど) なので,C-- のように,GC みたいな高級で,なおかつ言語に強く依存するような機能は提供しない (オプションとしては提供されているらしい) 単純な RISC-like な命令セットを持つ VM で,STL を駆使した C++ で書かれているらしい. GCC のバックエンドを持っているので,C/C++ からバイ

  • ホワット・ア・ワンダフル・ワールド OSC 2008 do 終了

    今年は,運営の方から微妙に関わらせていただき (ほんとに何も協力できませんでしたが…),スタッフも微妙にやったりやらなかったりしました.あと,セミナー発表の機会もいただきました. いろいろあったけど,終わってしまったら一瞬だったなぁ,ってのが素直な感想です. 大変良い思い出になりました.みなさまお疲れ様でした! セミナー資料は,OSC 事務局に PDF 形式で送れば公開してくれるらしいのですが,OSC 事務局のメールアドレスがよくわからないという… しかも,slideshare に,何回投稿しても失敗してしまいます… Sorry, your file failed to convert. Here's how to solve this: - There's a big chance this is just a temporary/random glitch with our serve

  • http://alohakun.blog7.fc2.com/blog-entry-925.html

  • ホワット・ア・ワンダフル・ワールド アルゴリズミックデバッギング

    研究グループの内輪の研究会がありまして,ET プログラムの自動デバッギングの話が面白かったです. (人間が頭で考えて,直接ルール (プログラム) を手書きした場合用.また,原理的に,形式的仕様記述から自動生成されたプログラムは,仕様に対しては 100 % バグが無いわけですが,それとは別のレイヤーとして,生成されたプログラムが「人間の直感的意図 (ここはインフォーマル)」と異なる挙動を示した時には,仕様のデバッグが必要になってくるので,さらに高度な研究が必要になってくる) その研究自体の詳細は (私の研究ではないので) 書けないのですが.既存研究との比較として挙げられていた,サーベイペーパーが,これまた興味深かったです. Josep Silva, "A Comparative Study of Algorithmic Debugging Strategies", 2007 論理プログラムや

  • ホワット・ア・ワンダフル・ワールド 高級言語もまた,ライブラリなのだ

    「良い言語だけど,ライブラリが揃ってないから,まだ使えない」 こういう感想は,新しい言語が出現するたびに,過去に何度も何度もつぶやかれてきた. 高級言語の価値が,プログラムの短さだとしたら,最も良い言語というのは,最もライブラリが揃っている言語,ということになる. Arcからの挑戦 どうしてそうするかって? なぜなら、プログラムを短くするために高級言語はあるからだ。 プログラミング言語のパワーは、それで書かれるプログラムの長さに反比例する。 100%確実にそうだとまでは言わないが、マジでそんな感じだ。 もし誰かがこういったとしよう。馬鹿げたことだと思わないかな。 「そのプログラム、君の言語だとコードは10行で、俺の言語だと50行だけど、俺の言語はパワフルだぜ」 こう思わざるをえない: じゃあ、あんたの言うパワーってなんなのよ? しかし,最初からライブラリが揃っている言語というものは存在しな

  • ホワット・ア・ワンダフル・ワールド C でマクロ展開系を実装してみる

    最近 Scheme とかのインタプリタを書くのが流行っているらしいね (という前振りを書くのは何回目だろうか) あのbakaiku でも取り上げられている. というわけで,僕も何か書きたくなった.言語は,たまたま紀伊国屋で見かけて読んでいた計算モデル論入門で,計算可能性の概念を示すために提案された,Scheme のほぼミニマムなサブセットであるプログラミング言語 L が手ごろで良さそうだ.構文的には P ::= C | (begin D1 ... Dm P1 ... Pn) D ::= (def X) | (def (f) P) C ::= (add1 X) | (sub1 X) | (if (nzero? X) P1 P2) | (if (nzero? X) P) | (f) これだけで,データ型は自然数だけだ.これでも現存する全てのチューリング等価なプログラミング言語と,計算能力は

  • ホワット・ア・ワンダフル・ワールド prolog プログラマは日本に10人しかいないらしい

    twitter にて.おまいら prolog を舐めすぎだ w natsutan おそらく日に 10 人程度しかいないと言われている Prolog プログラマーが、 twitter に 2 人もいる奇跡。 naoya_t おそらく日に6人程度しかいないと言われている生駒読書会参加者が、twitterに5人もいる奇跡。 yuki_neko_nyan しかし日に10人しか使う人がいないというPrologの不思議。 natsutan ゴールドセイント並の貴重さ natsutan Prolog ライブラリを使っている Lisper なら、追加で 10 人くらいいると思う yuki_neko_nyan もっとPrologは愛されてもいい。 alohakun みんな Prolog を舐めすぎだと思う.たぶん,非手続き型言語で,日語のの冊数は,Prolog が一番多い. natsutan 10

  • ホワット・ア・ワンダフル・ワールド Optimizing direct threaded code by selective inlining

    東大さんで今,mini-python のインタプリタを作るという演習をやっているそうな. んで,今 twitter の柱の hayamizu 氏を筆頭に,空前の VM (仮想マシン) ブームが起きている感じ. ちなみに,仮想マシンので僕が読んで良かったのは,Java 仮想マシン仕様の第二版と,コンパイラとバーチャルマシンってかなぁ (そんなに詳しくない). ところで,仮想マシンの構造ってのは,ナイーブには単純で,ひたすら switch 文で命令を引いて実行するだけ. なので,switch 文をテーブルに展開して,直接命令のコードの場所に goto したりする最適化が非常に効く.というのがこの論文. Optimizing direct threaded code by selective inlining (PDF) # 追記 : あ,ACM ポータルの論文は,北大ドメインからじゃないと

    takkan_m
    takkan_m 2007/11/21
  • ホワット・ア・ワンダフル・ワールド メタマス!

    字面だけ見ると 「ラブひな !」 に響きが似てますが,超数学 (メタマセマティクス) のことです (ギャグがいちいち古い管理人) メタマス! - オメガをめぐる数学の冒険 (via 最上の日々 10月22日(月) ▼ チャイティンの「 メタマス 」(白洋社)を読んでいるところ。) ちなみに,現在わたしは風邪で寝込んでいて,寝床でちょっと読んでました.昨日も寝込んでたので,たまたま普段はみないテレビNHK スペシャル,100年の難問はなぜ解けたのか〜天才数学者 失踪の謎〜 を見て,数学熱が再燃したというのもあります. よりによってこんな変な時間に目が覚めてしまい,眠れなくなってしまったので,非常にぽわーんとした頭でこれを書いてます.日語がおかしいかもしれない. まだ論 (全体 300 ページ中,200 ページぐらい.残りは作者の論文が付録として 2 つ付いてる) の半分ぐらいしか読

  • ホワット・ア・ワンダフル・ワールド v9fs

    やっぱり,Plan9 は理想的なんだけど,戦わなきゃ現実と,というわけで. 関数型言語がメジャーになることに期待するよりも,時間はかかってもその DNA を C++ とか Java とかみたいな産業言語が取り込んで進化していく方向に期待する方が現実的なように,Plan9/Inferno を実用的にするよりも,Linux を Plan9 に近づける方が現実的なんじゃないかと.しばらくそっち方面の可能性を模索してみよう. 幸いなことに,linux の 2.6.14 から,Plan9 の filesystemlinux の main tree にマージされたそうだ. Plan9 日記 2006-12-13 ■[Linux] v9fs Debian の kernel module パッケージが全然見つからなくて,情報も全然無くてえらい困ったんだけど,実はデフォルトのカーネルモジュールに普通に

  • ホワット・ア・ワンダフル・ワールド Ruby や Rails が遅くなるのには理由がある

    という主張ならば,全く正しいと思います. やむにやまれず:2007年07月20日 Rubyは遅いから使えるのです (1) Ruby が遅いから Rails が遅いというのは間違い. C で書いても,汎用フレームワークを目指そうとすれば,かならずオーバヘッドが積み重なって遅くなる. むしろ,下手なプログラマが書いたら,Ruby よりも遅くなる. というか Ruby は,Rails を書くための,C のフレームワークとさえ言える. (2) 言語の効率よりも,開発効率の方が,昨今の Web アプリケーションを取り巻く潮流からしてはるかに重要 あと,一般的に,開発効率は処理効率に直結する. プロトタイプは,効率度外視で作ることが多い. 最適化は,ある程度完成度が上がってきてからの話だから. 作りこめば作りこむほど処理効率は上がっていくのが普通. ゆえに 「言語の速度 joel のメタメタメタ… フ

  • ホワット・ア・ワンダフル・ワールド 全然関係無いけど

  • ホワット・ア・ワンダフル・ワールド 本物のプログラマは do を恐れずに使う

    Author:あろは (alohakun) WAKATSUKI toshihiro 連絡先 : alohakun ___at___ gmail.com mixi : http://mixi.jp/show_friend.pl?id=182927 twitter : http://twitter.com/alohakun abstract プログラミングという人間の知的行為を体系化し,単なる職人芸ではなく,サイエンスにするための研究をしています. 具体的には,等価変換計算モデルに基づいた,仕様記述からのプログラム合成の研究をしています. もっと噛み砕くと,プログラムの正しさをどのように定式化し,どのような枠組みで,どのように変換を進めていけば,正しさを保証したまま,効率的なプログラムを手に入れることができるのか,ということについて研究しています. キーワード : equivalent tra

  • ホワット・ア・ワンダフル・ワールド OSC 2007 in hokkaido は最高でした

    ひさしぶりの飲酒, いや,OSC 2007 は素晴らしかったです.以下,わりと酔っ払った状態で書いてる (明日なったら忘れる) ので,たぶん切れやオチが無くてダラダラです.いつもだけど.あまり面白く無いと思います. PM 2:30 からの ikegami さんの haskell の紹介に合わせて北大の学術交流会館に到着. そしたら,すぐに jijixi さんとエンカウントしたので,とりあえず名刺交換.なんというタイミングの良さ.そのまま ikegami さんの発表を見る.詳しくは jijixi さんの日記なぞを. ikegami さんは,日記のイメージでは,なんとなくサナトリアムとかが似合うような感じ (失礼) の病弱で静かな感じの方なのかなーと思っていたら,すごい関西人っぷりでびっくりしました.僕の大学の研究室の同期の兵庫県出身の奴と,顔や話し方がそっくりだったので,「関西の人間にはこう

    takkan_m
    takkan_m 2007/07/01