λx. x K S K @はてな

このブログ内に記載された文章およびコードの著作権は,すべて Keisuke Nakano に帰属します.

6年がかりと7年ぶりなこと

2002年に提出した論文がようやく受理されました. 長かった….Editorのおかげで提出したときよりだいぶ進化しています. 一方,全く毛色の違う論文の方もとある会議に受理されたようです. そして,久しぶりにICFPのプログラミングコンテストに参加しました(…

あけましておめでとうございます

って,もうすぐ3月ですが…. 左のは昨年末に作成したアンビグラムで今年の年賀状に使用したものです.*1 いろいろ立て込んでいたので更新していませんでしたが,今年のこれまでのまとめは以下の通り: 桑港に出向いてPLAN-Xで発表,PEPM, Coq Tutorial, POPL…

PLAN-X 2008

めでたく2本とも採択されました. 一方はXMLのストリーム処理の話,もう一方はXML変換としての型検証の話です. XML Stream Processing Using a Lazy Concurrent Language XMLストリーム処理のメモリ効率をあげるには,ただ単にXMLパーサとXML木処理を融合…

caml-listにて

caml-listにてgolfの話題が….*1 といっても,segmation faultを起こす最短のコードを見つけようという問題だったので, 開発者の逆鱗に触れてあっという間に鎮火. 普通の(?)golfの話題ならどういう反応があるかなぁ. *1:ただし,golfという単語が直接出て…

Timeout.ml

無限ループでも重い処理でもよいので3秒間実行し続ければOKという問題. OCamlだとwhileを使うものが最短のようですが, 考えられる解をいくつか記録しておきます. まず,最短であると思われるwhile版 (17B).while 0=0do()done とかwhile-7<7do-7done とか…

もしもプログラミング言語が車だったら

こういうのって,書いた人の好みに大きく影響するなぁ. 例えば Haskell は, 通常は速く走れない.速く走るには30分前にエンジンをかける必要がある. とか言ってほしいもの. Ruby の記述もなんだか手抜きだなぁ.

双子素数

ほげほげしてたら,サーバを落としてしまったようです. すみません.

Pyramid Quineのまとめ

問題を解いてくれた皆さん,ありがとうございました. 以下は,解答(を公開)してくださった順です. yamaguchi_keita さん( Rubyで id:keita_yamaguchi:20070807:1186492348">9点,8点 ):Ruby版の解答を逸早く公開してくださいました.OCaml版も豪快です…

Pyramid Quine

以下は d:id:KeisukeNakano:20070807:1186422886 の解答です.問題はそちらをご覧ください. なお,この問題はSPOJのCTQUINEというクリスマスツリー型のQuineを求める問題を簡略化したものです. さすがに,1-2時間で解かせる問題としては難しいと思ったので…

Pyramid Quine

恒例の研究室合宿でのプログラミングコンテストで出題した問題を(一部編集して)公開. 解答は一週間後にここで発表します. その出力がそのプログラム自身と一致するようなプログラムのことをQuineと呼ぶ. ここでは, Quineの名の元となった哲学者Willard…

一段落

先月は論文の締め切りに追われて,他の事にあまり手が回らずに終わってしまった. 定理・証明の繰り返しが延々と続く重い論文だったので, 予定が大きく狂ってしまい,ICFP PC どころではなく…. 今年も面白そうな問題だったのになぁ. 遠藤さんを救う問題(…

あどえす到着

しかし,7月中は色々仕事が重なって忙しいので触る暇もなさそう.

Excel で Haskell

Excel で Haskell を使うことについて, 尾上さんによるまとめ. やっぱり,入出力が数値(Double)しかないというのは気になるなぁ. Excel の上で計算するのなら,レンジをリストとして渡したり文字列を出力したりできた方が便利だし. Haskell の良さがあ…

やばいのか日本

【やばいぞ日本】序章 没落が始まった(1)「ダイナミズム失う」 このデータがどの程度の意味があるのか分からない. 海外に留学しても日本で博士を取る人も多いとか, 研究する環境が整備されてないからアメリカに行くだけとか, このグラフの上にヨーロッ…

PPL Summer School

今年の PPL Summer School のページを発見したので, 早速参加申し込みをしたところ,実はそのページは試験公開だったらしく, 申し込み第一号になってしまったようです. まだアナウンスしてないみたいなので,そのページは内緒. すぐに見つかると思います…

core golf

さて、core dump するコードの短さで競う core golf はゲームとして成立するでしょうか。明らかに環境や処理系に依存するのでルールの決め方が難しいです。 -- core golf - まめめも とりあえずうちで core dump した C のコード (5B) .main; うーん.

quine.bf

前の記事のコメント欄で shinh さんから私の投稿した Brainfuck の Quine が実は世界記録ではないかという指摘があったので一応メモ. 負数のメモリ番地は反則らしいので,投稿した 392B (改行除く,以下同様)ではなく shinh さんの書き直した 404B が最短…

Quine

ああ,問題をちゃんと読まずにインチキをしてしまった…. 全言語で禁じるのは難しいのかなぁ.

Accept

されたのはいいが,Accepted Paper が本家のページで発表されるよりも前に, TYPES/announce やら OCaml やら Haskell やらのメーリングリストに先に流れるのは何故だろう… (もちろん notification はもっと早くて一週間ほど前だったけど).

Foundations of F#

という本が出たらしい. Foundations of F# (Expert's Voice in .NET)作者: Robert Pickering出版社/メーカー: Apress発売日: 2007/06/01メディア: ハードカバー クリック: 20回この商品を含むブログ (14件) を見る

回文 Hello, World!

行コメントの文法がある言語では,回文で Hello, world! を書くのはさほど難しくない. たとえば,こちらにもあるように Ruby ならputs"Hello, world!"#"!dlrow ,olleH"stup と書けるし,Haskell ならmain=putStrLn"Hello, world!"--"!dlrow ,olleH"nLrtStup…

半ネタばらし(Fizzbuzz.ml)

んー bool に対する C の | みたいなのは無いのかいな。 はじめてのにき(2007-05-31) 不等号を使うと必ず両辺が実行されて,true > false の時だけ真になるとか.

List.map

この件について更に無意味に List.map の実装を覗いてみる.let rec map f = function [] -> [] | a::l -> let r = f a in r :: map f l ついでに,実験. Objective Caml version 3.09.3 # let rec upto n l = if n < 0 then l else upto (n-1) (n::l);; va…

純粋関数型言語で定義できない純粋な関数

こちらから引用.なかなか興味深いですね. ちなみに,h5 は,例外を使うことにより,let rec h5 g = try g (fun () -> raise Exit); h5 g with Exit -> () でも定義できますね. ただ,h5 g1 の計算の際に再帰の度に try が例外処理をスタックに積む所為で…

2の平方根

SPOJ の Open Contest 2007 にはほとんど OCaml で参戦していましたが, 成績的にはあんまりでした.ocamlopt で勝負させてほしいなぁという感じもしますが….実は,ocamlopt でコンパイルされているらしい.なんだか妙に遅いが… で,最も盛り上がっていた(…

お知らせ

今月上旬と中旬に色々な締め切りに追われた結果, 一ヶ月ほど空白になってしまいました(golfとかspojとかはしてましたが). 明日 PTT(≠ Pebble Tree Transducer)でプロジェクトの成果に関する発表を行いますので, 時間のある方はお越し下さいませ.普段…

非ネタばらし

ハミング数を出力する問題で OCaml の記録が大幅に縮んだので, 試しに Ruby で書き直したところ,あっさり一位になってしまいました(その後,すぐに flagitious さんに抜かれました.バイナリの 3B って何?). その後,碌に技を知らない Perl,二行以上…

ネタばらし(e.ml)

e の 79B はあまりにインチキなので,公開してしまうことにします.

#010 オプショナル引数

suiginto さんの記事に関連して, OCaml でのオプショナル引数の利用に関する二つの制限についてメモ*1. OCaml のように多相型と関数型を許した型体系でのオプショナル引数には, 意味論を健全にするためなどの理由からいくつかの制限が設けられている. ま…

正統派 echo

Sys.command を使わない echo にまだ改善の余地がありました. ということで,29B. [追記] 実はほんの少し入力依存なところも….同様のプログラムで rotate lines も大幅短縮できました.