Hatena::ブログ(Diary)

yukobaのブログ このページをアンテナに追加 RSSフィード Twitter

2008年01月21日 Haskell Hackathon やりたいね!

[] Haskell Hackathon やりたいね!

前回の Scheme Hackathon の時に、次は "Haskell Hackathon" やりたいね、という話が出ました。はっきり言って、僕は、「Haskell ぽか〜ん」の人です。モナドがわかりません。Scheme は実装することで、少し理解しました。きっと、Haskell も処理系作ったら、理解できるのではないかと期待しています!(おぃ

というわけで、Haskell Hackathonは「12時間で Haskell の処理系を実装しよう!」というイベントです。

詳細はこんな感じ。

  • 参加者全員、Haskell の処理系実装!
  • 会場は、関東関西名古屋です。UstreamSkype Video などで会場をつなぎます。関東は、サイボウズ・ラボ、関西は株式会社グッディ、名古屋は来栖川電算です。
  • 時間は、3/1土曜日のAM11時〜PM11時です。
  • 実装言語は、不問。僕の経験から言って、動的言語や関数型言語の方がお勧めです。
  • 参加者は、サイボウズラボの人とか、Preferred Infrastructureの人とか、来てくれたら嬉しいなぁ。あと、Haskell 界の人、全然面識無いので、お会いしたいです!
  • 実装範囲は、自分が実装したい範囲まででOKです。2+3=5ができるところまででも全然OKですし、最後まで実装しても当然OKです。僕自身がヘタレですが、処理系の実装経験が無い方でも、可能な限り面倒を見ようと思います。思っているだけで実は何もできないかも…
  • 以上、それ以外の運営の面倒なことは、id:amachang に押しつける。(おぃ

そんな感じ。運営するに当たって一つ不安なのが、Haskell の構文解析って簡単にできるのでしょうか? LALR(1) に収まるならば、どの言語で実装しても簡単ですが、Perl6 みたいなことが起こると12時間では収まらなくなるので… 誰か教えて! → yaccでOKだそうです。

日程が合えば、参加してくださる方の一覧(アルファベット順)

最新の情報は、no title

関東@サイボウズ・ラボ

  1. あかさたさん - Ruby
  2. id:amachang - JavaScript
  3. 尾藤正人さん - PHP
  4. hibinoさん - OCaml
  5. id:hoge1e3さん - Java
  6. id:hogelogさん - D言語 or C言語
  7. id:hayamizさん
  8. id:jbkingさん - Java
  9. 笹田耕一さん - Ruby
  10. クジラ飛行机さん - ActionScript
  11. mayahさん - OCaml
  12. 三廻部さん
  13. mizyoさん
  14. muddydixonさん
  15. id:nishiohirokazu - Python
  16. id:cho45さん - Ruby or JavaScript
  17. shelarcyさん
  18. id:shinichiro_hさん
  19. id:SiroKuroさん - Java
  20. id:smellmanさん - Python
  21. id:soutaroさん - OCaml
  22. id:tanakhさん - Haskell
  23. id:TAKESAKOさん(竹迫さん) - Perl
  24. 手塚真樹くん
  25. 山口清弘さん - Ruby
  26. yossyさん - ActionScript
  27. yosukeさん - Ruby
  28. id:yukoba - Scala

関西@株式会社グッディ

  1. id:blanketsky - minkeさん
  2. imoくん - PHP
  3. naoya_tさん - Scheme
  4. id:nushioさん
  5. id:ranhaさん - Concurrent Clean ?
  6. id:ujihisaさん
  7. id:yharaさん

名古屋@来栖川電算

  1. seraph_rさん
  2. id:squldさん
  3. 山口陽平さん

シリコンバレー

  1. gusさん

シドニー

  1. k.inabaさん - PyPy の RPython

自宅

  1. id:yuum3さん - Scheme

未定

  1. 吉田悠一さん - oxyさん

参加者用のMLを作ったので、追加したいので、参加される方は、yukoba あっ〜と accelart.jp まで、メールをいただけないでしょうか?

チャットはこちらです。http://www.lingr.com/room/haskell_hackathon_2008パスワードはhaskell_hackathon_2008です。

wiki はここ:http://ja.doukaku.org/wiki/index.php/Haskell_Hackathon_2008

nishiohirokazunishiohirokazu 2008/01/21 12:20 http://www.sampou.org/haskell/report-revised-j/syntax-iso.html
>>
字句構文および文脈自由構文の両方において、いくつかの曖昧性が存在し、 これらは、文法句を左から右へできるだけ伸ばすことで解決する(シフト還元 構文解析では、シフト/還元の衝突はシフトすることで解決する)。字句構文 において、これは「大喰らい」法である。文脈自由構文では、これは、条件 文、let-式、λ抽象は、可能な限り右へ拡張されるということを意味する。
<<
だって。

yukobayukoba 2008/01/21 12:26 西尾くん、Nice!!
ということは、yacc の shift/reduce を無視すれば、yacc でもOKということだよね?
BNF打ち込んでみて、yacc で reduce/reduce エラーが出ないことを確認しないといけないなぁ。

SiroKuroSiroKuro 2008/01/21 13:27 haskell の構文解析はちょっと技術がいると思います。具体的にはオフサイドルールを yacc でどう処理するかの問題ですが……。

jmukjmuk 2008/01/21 13:53 Haskell を12時間で実装するのはたぶん無理なので Helium あたりを目標にするのがいいと思いますよ。
http://www.cs.uu.nl/helium/

yukobayukoba 2008/01/21 14:13 > SiroKuroさん
> SiroKuroさんのハテブより
> コメントした……けどちょっと的外れだったかも。西尾さんの URL、携帯から見るのは無理><;

申し訳ないのですが、あとで加筆お願いします m(_ _)m

> jmukさん

Haskell の全部を実装すると言うより、12時間で実装できるところまで実装するというイベントです!

Helium レベルになるかもしれないし、それ以下かもしれません。まぁ、作る人次第ということで。
構文解析が面倒だと、それすらできないからなぁ…

nishiohirokazunishiohirokazu 2008/01/21 14:52 オフサイドルールが面倒なら実装しない方針で。{foo;bar;baz}で代用できるんじゃなかったっけ。

nishiohirokazunishiohirokazu 2008/01/21 15:07 ぼく中置演算子の実装は捨てるかも。本質的じゃない気がするから。
日程が決まったらcojiさんが中継の時に使った5万円の機材を貸してくれるそうなので
みんなディスプレイ切り替え機につないでいつでも切り替えられるようにするってどうだろう

SiroKuroSiroKuro 2008/01/21 15:44 > yukoba さん
あ、いえ、自分は単に「オフサイドルールあるから、BNF読ませれば終りってわけにはならないんじゃないかなぁ」って思っただけっス。
「的外れかも」ってのは、もし西尾さんの出した URL にそのあたりのスマートな解法が載ってたら恥ずかしいなぁと><;

nishiohirokazunishiohirokazu 2008/01/21 16:04 amachangはyaccを作るところからはじめるのでshift/reduce conflictionの時はshiftする実装にすれば問題なし!?(ぉ

amachangamachang 2008/01/21 16:08 shift/reduce って何!?><

そこから勉強だよお><

smellmansmellman 2008/01/21 16:36 Haskellぜんぜんわからないんですけど、参加したいです!言語はPythonで!n年前にyaccとか使ってインタプリタ言語実装したことぐらいしかないですが!!

yukobayukoba 2008/01/21 16:45 > SiroKuroさん
> オフサイドルールあるから、BNF読ませれば終りってわけにはならないんじゃないかなぁ

オフサイドルールって、「レイアウト規則」のことなんですね。
西尾君が引用したURLによると、lex と yacc の間に処理を書ければいいようです。(本当??)。形式的に定義されているようです。

> nishiohirokazu
構文解析さえちゃんとできていれば、中置演算子は何にも難しくないよ。って、Haskell の中置演算子って特別なことないよね?

> shift/reduce conflictionの時はshiftする実装
これが、yacc 系の実装だよ(って、知っていたらごめん)

yukobayukoba 2008/01/21 16:47 smellmanさん、こんにちわ〜
追加しました!

SiroKuroSiroKuro 2008/01/21 17:47 >yukobaさん
ですです。少々小細工が必要でして。

それから……もし御迷惑でなければ、自分も参加したいと思っています。よろしくお願いします m(_ _)m

yukobayukoba 2008/01/21 18:09 SiroKuroさんどうぞ〜
何の言語で実装します?kuzha?

SiroKuroSiroKuro 2008/01/21 18:17 いえ、それはそれで惹かれますwが、今回は java で考えています。

jbkingjbking 2008/01/21 18:28 Scripting for Javaの実装を作ってみたいのでJavaで参加させてくださいー。

yukobayukoba 2008/01/21 18:32 jbking さんと、クジラ飛行机さんを追加しました〜

tanakhtanakh 2008/01/21 19:24 はじめまして。PFIの田中です。私もHaskellに興味があるので、よろしければ参加させていただけないでしょうか?二月以降なら日程があうと思います。

yukobayukoba 2008/01/21 19:48 PFIきた〜!
よろしくお願いします。m(_ _)m

> 私もHaskellに興味があるので
ICFP世界3位の人に、さらっと書かれると(笑)

imo くんと、tanakh さんを加えました。

あと、経歴を勝手に書いてみました。書かない方がいいかな?
まずそうだったら消します。というか、参加者しずらくなるかなぁ…

初めましての方は経歴の欄を書けなかったんですが、自慢したいネタがありましたら、コメント欄までよろしくお願いします。

ちなみに、自分が実装したいところまで、半日で実装できる範囲でOKなので、2+3が5と表示されるところまで!という人もどうぞ〜

ranharanha 2008/01/21 19:56 はじめましてyukobaさん。
私も日程が合えば、ですが、参戦させて貰えると嬉しいです。
他の方には遥に経歴が及びませんが、本年度SuperCon3位という事で一つ手を打ってもらえればw

使用言語は決定では無いのですが、C++かDで行くと思います。

nushionushio 2008/01/21 20:43 はじめまして。nushioです。
たいへんよい機会をもうけていただいてありがとうございます、
参加を申し込みたいと思います。

squldsquld 2008/01/21 21:02 Haskell触ったことないけど面白そう!
名古屋会場設置&参加します。
日程決まったら教えてください。

nishiohirokazunishiohirokazu 2008/01/21 21:14 うわっ、いつの間にか10人になってる!
20人超えたら絶対にダメだからね!机足りないからね!

yukobayukoba 2008/01/21 21:33 参加者用のMLを作ったので、追加したいので、参加される方は、yukoba あっ〜と accelart.jp まで、メールをいただけないでしょうか?
これ、ちゃんとみんなに伝わるかなぁ〜

yukobayukoba 2008/01/21 21:58 良くない気がしたので、経歴消しました

nishiohirokazunishiohirokazu 2008/01/21 22:17 http://www.lingr.com/room/haskell_hackathon_2008
Lingrに部屋作った。パスワードはhaskell_hackathon_2008。

yossy44yossy44 2008/01/22 16:16 こんにちは。Haskell名前ぐらいしか知らないのにActionScript3で乗り込んでみたいと思います。

yukobayukoba 2008/01/22 16:19 yossy さんキター!
メールアドレスを僕にメール頂けないでしょうか?

hoge1e3hoge1e3 2008/01/22 22:59 よろしくお願いします.
すみません2回TBしてしまったようです.

yuum3yuum3 2008/01/23 00:37 すいません!
インプリ言語は たぶん gauche。 それからサイボウズラボに行かず、お家からの参加です。

cho45cho45 2008/01/23 23:00 いくます! 言語未定で! (たぶん Ruby か JS)

KiyoyaKiyoya 2008/01/24 04:17 参加したいです!けどもう枠空いてないかな……

yukobayukoba 2008/01/24 17:45 会場は変更するかもしれません。メールでご連絡ください。