BEGIN:VCALENDAR
METHOD:PUBLISH
X-WR-CALDESC:Haskell Annual Meeting Autumn.jp 2009 : ATND
X-WR-CALNAME:Haskell Annual Meeting Autumn.jp 2009 : ATND
X-WR-TIMEZONE:Asia/Tokyo
CALSCALE:GREGORIAN
PRODID:atnd.org/events/1048
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
BEGIN:STANDARD
DTSTART:19700101T000000
TZNAME:JST
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED;TZID=Asia/Tokyo:20090710T054438
DESCRIPTION:Thank you with best regards! The meeting was closed. See logs a
 t <a href="http://docs.google.com/leaf?id=0By_gtregmtN8OWViMjkwNDktM2IwNS00
 ZDNiLTg4NjMtZmMwM2NiNTI1MzYz&hl=ja">IRCLogs@GoogleDocs</a>.\n<hr>\nThis eve
 nt is an informal\, grassroots collaborative Haskell coding festival\; broa
 dcasts on the internet. \n\n<a href="#japanese">日本語で読みたい人は、ただちに、このリンクをたどるべし
 </a>\n\n<h1>Contents</h1>\n<ul>\n<li><a href="#about_en">About</a></li>\n<l
 i><a href="#news_en">News</a></li>\n<li><a href="#registration_en">Registra
 tion</a></li>\n<li><a href="#program_en">Program</a></li>\n<li><a href="#ta
 lks_en">Talks</a></li>\n<li><a href="#channels_en">IRC channels</a></li>\n<
 li><a href="#location_en">Location</a></li>\n<li><a href="#preparations_en"
 >Preparations</a></li>\n<li><a href="#contact_en">Contact</a></li>\n<li><a 
 href="#assignment_en">Two Haskell Assignments</a>\n<li><a href="#quotes_en"
 >Weekly Quotes of Zen until the end of this event</a>(completed)</li>\n</ul
 >\n\n<a name="about_en"><h1>About</h1></a>\n<p>\nThis event is the first oc
 casion of <strong>the online meeting</strong>\; for who live or stay in <st
 rong><a href="http://web-japan.org/">Japan</a></strong>\; about the program
 ming language Haskell with talks and discussion.\n</p>\n<p>\nHowever\, you 
 can join the meeting whenever you please\, in Japanese Standard Time (JST)\
 , which is 9 hours ahead of UTC.\n</p>\n<p>\nHaskell Annual Meeting Autumn 
 2009 (abbr. <em>HAMA.jp 2009</em>) will be held September 19-23 at the free
 node IRC channels. It is open to all. All you need is basic knowledge of Ha
 skell\, wishes to learn\, and a project you're excited to help with (or pro
 ject of your own to work on)\, finally waking up at local time where you ar
 e. A few people in Japan\, who will join the meeting\, maybe not going to b
 ed\, but still continue to talk with you\, probably.\n</p>\n<p>\nThere will
  be lots of hacking\, some talks (informal or formal)\, and of course\, fun
 ! We apologize to you that we cannot serve any good food nor drink.\n</p>\n
 <p>\nWe will create some channels for the meeting at <strong>"irc.freenode.
 net"</strong>\, and names of each channel have been decided. See <a href="#
 channels_en">Channels section</a> for the channel names. Lambdabot will be 
 stayed during the meeting. Thanks Conrad for this good proposal.\n</p>\n<p>
 \nLogs of each channel will be kept and published at the organizer's blog. 
 However\, IP-address of each member has to be erased.\n</p>\n<p>\nThe regis
 tration is not needed\; it will be described below in detail. However\, if 
 you want to give a live talk using USTREAM.tv\, slides or messages\, please
  contact the organizer. We are pleased to reserve a session for your presen
 tation or kindly messages. The address of the organizer will be written at 
 <a href="#contact_en">the Contact section</a>. \n</p>\n\n<a name="news_en">
 <h1>News</h1></a>\n<dl>\n<dt>September 19</dt>\n<dd>\n<p>\n<a href="#channe
 ls_en">The channel names on irc.freenode.net</a> have been decided. \n</p>\
 n<p>\nSchedule has been changed: Talk1 will start at 13:30.\n</p>\n</dd>\n<
 dt>August 28</dt>\n<dd>\n<p>\nProgram has been announced.\n</p>\n</dd>\n<dt
 >August 2</dt>\n<dd><p>We propose two Haskell problems to share the same to
 pics with us.</p></dd>\n<dt>July 19</dt>\n<dd><p>The first announce as a dr
 aft.</p></dd>\n</dl>\n\n<a name="registration_en"><h1>Registration</h1></a>
 \n<p>\nThe registration is not needed. The event is an online meeting at IR
 C channel of freenode at some channels. Names of each channel will be annou
 nced later at this web page. \n</p>\n\n<a name="program_en"><h1>Program</h1
 ></a>\n<p>\nSeptember 19-22\, 2009\, 10 a.m. - 10 p.m\, JST\, GMT+9. The la
 st day September 23\, we will plan to closing session\, for planning the me
 eting in next year and meeting for reviewing 3 p.m - half of 4 p.m\, JST\, 
 GMT+9.\n</p>\n<p>\nEvent time-lines and program will be fixed this web page
  before September 6. \n</p>\n<table>\n<tr>\n<th>date (GMT)</th>\n<th>01:00 
 - 02:30 (GMT)</th>\n<th>06:00 - 07:30 (GMT)</th>\n<th>10:00 - 12:30 (GMT)</
 th>\n<th>later until 01:00 (GMT)</th>\n</tr>\n<tr>\n<td>2009-09-19 (GMT)</t
 d><td>Opening session</td><td>Session for newbies</td><td>Questions and Ans
 wers about programming in Haskell</td><td>Night session for Japanese and Yo
 u</td>\n</tr>\n<tr>\n<td>2009-09-20 (GMT)</td><td>How to start your project
  in Haskell (about the latest Cabal\, Haskell Platform and etc.)</td><td>Ta
 lks 1 <strong>will start at 04:30(GMT).</strong></td><td>Talks 2</td><td>Ni
 ght session for Japanese and You</td>\n</tr>\n<tr>\n<td>2009-09-21 (GMT)</t
 d><td>Reserved</td><td>Reserved</td><td>Reserved</td><td>Reserved</td>\n</t
 r>\n<tr>\n<td>2009-09-22 (GMT)</td><td>Free discussion</td><td>How to debug
  and test in Haskell</td><td>Free discussion</td><td>Night session for Japa
 nese and You</td>\n</tr>\n<tr>\n<td>2009-09-23 (GMT)</td><td>Final lighteni
 ng talks & Closing session</td><td>Business meeting</td><td></td><td></td>\
 n</tr>\n</table>\n\n<h1><a name="talks_en">Talks</a></h1>\n<p>\nSome or All
  talks will be given in Japanese. However\, we will try to our best for tra
 nslating in English about each talk at the IRC channel. Don't hesitate to a
 bout asking a question\, please.\n</p>\n<h2>Talks 1</h2>\n<dl>\n<dt>2009-09
 -20 04:30 (GMT)</dt>\n<dd>\n<dl>\n<dt>Speaker</dt>\n<dd><p>keigoi</p></dd>\
 n<dt>Title</dt>\n<dd><p>Type level programming in Haskell and its applicati
 on</p></dd>\n<dt>Abstract</dt>\n<dd><p>keigoi will give an introduction to 
 type-level programming in Haskell and its advantage of strong type safety. 
 Also he will present an implementation of the session types. As an applicat
 ion\, an implementation of an SMTP client using type-level programming will
  be appeared. He may introduction another topics about HaskellDB and Takuse
 n.</p></dd>\n</dl>\n</dd>\n</dl>\n<h2>Talks 2</h2>\n<dl>\n<dt>2009-09-20 10
 :00–10:30 (GMT)</dt>\n<dd>\n<dl>\n<dt>Speaker</dt>\n<dd><p>smly</p></dd>\n<
 dt>Title</dt>\n<dd><p>How to compress data in Haskell</p></dd>\n<dt>Abstrac
 t</dt>\n<dd><p>A case study of how to enjoy compressed data in Haskell.</p>
 </dd>\n</dl>\n</dd>\n<dt>2009-09-20 10:45–(GMT)</dt>\n<dd>\n<dl>\n<dt>Speak
 er</dt>\n<dd><p>Sakai</p></dd>\n<dt>Title</dt>\n<dd><p>Introduction to cate
 gorical programming</p></dt>\n</dl>\n<dt>Abstract</dt>\n<dd>\n<p>\nTBA. The
  following papers and an theoretical webpage will be introduced.\n</p>\n<ul
 >\n<li><a href="http://www.tom.sfc.keio.ac.jp/~hagino/thesis.pdf">Categoric
 al Programming Language[PDF]</a></li>\n<li><a href="http://www.cs.ut.ee/~va
 rmo/papers/thesis.pdf">Categorical programming with inductive and coinducti
 ve types[PDF]</a></li>\n<li><a href="http://www.willamette.edu/~fruehr/hask
 ell/evolution.html">The Evolution of a Haskell Programmer</a></li>\n</ul>\n
 </dd>\n</dd>\n</dl>\n\n<h1><a name="channels_en">IRC server and channels</a
 ></h1>\n<p>\nWe discuss on the IRC server 'irc.freenode.net'. There are som
 e channels for this event. However\, we have not decided the prefix of name
  of each channel.\n</p>\n<dl>\n<dt>#HAMAYA</dt>\n<dd>The hall of this event
 .</dd>\n<dt>#HAMAYA-bots</dt>\n<dd>Sandbox of bots.</dd>\n<dt>#HAMAYA-stage
 </dt>\n<dd>A channel for presentation</dd>\n<dt>#HAMAYA-staff</dt>\n<dd>Sta
 ff room.</dd>\n</dl>\n<p>\nLogs at each channel will be published at somewh
 ere.\n</p>\n\n<a name="location_en"><h1>Location</h1></a>\n<p>\nMany attend
 ees live in <a href="http://web-japan.org/">Japan</a>. You do not need to v
 isit <a href="http://wikitravel.org/en/Japan">Japan</a>\, because this meet
 ing is online.\n</p>\n\n<a name="preparations_en"><h1>Preparations</h1></a>
 \n<ul>\n<li>Your favorite editor to write Haskell code.\n<li><a href="http:
 //www.haskell.org/ghc/">The latest GHC</a>\n<li>Web browser to watch presen
 tations</li>\n<li>IRC client for discussion\, which has UTF-8 encoding and 
 decoding</li>\n</ul>\n\n<a name="contact_en"><h1>Contact</h1></a>\n<p>\nFor
  any questions\, you can always send an email to IKEGAMI Daisuke\, who is o
 ne of the organizers. The address is <code>"ikegami.da" ++ chr 64 ++ "gmail
 .com"</code>. Please do not hesitate to ask your question about this meetin
 g.\n</p>\n\n<h1>Note</h1>\n<p>\nThe below is written in Japanese about the 
 same things\, and you do not have to read them. Unfortunately\, you cannot 
 write a comment at the bottom of this page\, because you have to do several
  complex steps\, which is written only Japanese... Otherwise could you send
  an email to the organizer\, please.\n</p>\n\n<a name="assignment_en"><h1>T
 wo Haskell Assignments</h1></a>\n<p>\nWe propose two Haskell assignments fo
 r you\, who has no own project. One is to create an IRC bot in Haskell. Ano
 ther is several questions of a combinatorial problem\, called 'finding the 
 minimum spanning tree from a graph'. \n</p>\n<p>\nThe aim of this proposal 
 is to share topics with us. Therefore\, you do not have to complete nor sub
 mit your exercise to us. Please do your work instead and join our meeting f
 reely. By the way\, we are going to show the following two jobs:\n</p>\n<ol
 >\n<li><a href="#IRC_en">Create an IRC bot</a></li>\n<li><a href="#graph_en
 ">Finding the minimum spanning tree</a></li>\n</ol>\n\n<h2><a name="IRC_en"
 >Create an IRC bot</a></h2>\n<p>\nThis project is simple: create an IRC bot
  and run it on 'irc.freenode.net'.\n</p>\n<p>\nNote that please do not run 
 an incomplete bot on the public network 'irc.freenode.net'. Instead\, run a
 n IRC server on your computer\, and test enough to rely entirely your bot\,
  please.\n</p>\n<p>\nDuring this meeting\, we will provide a channel for ou
 r bots\, and discuss about features and techniques.\n</p>\n<p>\nNotice agai
 n: <a href="http://hackage.haskell.org/package/lambdabot">The lambdabot\, w
 hich is made by Don Stewart</a>\, will stay every channel. You do not need 
 to make it. Please keep the following manners:\n</p>\n<ul>\n<li>Be polite s
 ocial behavior.</li>\n<li>Talk with 'notice' instead of 'privmsg' by your b
 ot on IRC. In other word\, your bot should not use any 'privmsg' message.</
 li>\n<li>Do not reply any 'notice'.</li>\n</ul>\n<p>\nDuring the meeting\, 
 you can stay your bot at <em>only</em> #HAMA-bots. \n</p>\n\n<h2><a name="g
 raph_en">Finding the minimum spanning tree from a graph</a></h2>\n<p>\n<a h
 ref="http://en.wikipedia.org/wiki/Minimum_spanning_tree">The minimum spanni
 ng tree problem</a> is a well-known problem in graph theory. \n</p>\n<ol>\n
 <li>implement several algorithms to find the minimum spanning tree for a gi
 ven graph.\n<li>implement ditto with parallel computations.\n<li>how to est
 imate the efficiency? (e.g. draw a graph\, or show the complexity\, and so 
 on.)\n</ol>\n<p>\nThe scope of this problem is how to write a procedual alg
 orithm in Haskell as fast as in another language\, such as C. \n</p>\n\n<a 
 name="quotes_en"><h1>Weekly Quotes of Zen</h1></a>\n<p>\nHere\, we quote wo
 rds of <a href="http://en.wikipedia.org/wiki/Zen">Zen</a> in Japanese.\n</p
 >\n<dl>\n<dt>28 August</dt>\n<dd>\n<p><strong>前三三後三三</strong></p>\n<blockqu
 ote>\n<p>\n前三三後三三 is a composite Chinese Kanji word which means we are brim
 ful of hope. This is the final quotation for this event. \n</p>\n</blockquo
 te>\n<dt>22 August</dt>\n<dd>\n<p><strong>本来無一物</strong></p>\n<blockquote>\
 n<p>\n本来無一物 is a composite Chinese Kanji word in a poem. The poem is very p
 opular in Zen\, because it represents the foundation of Zen. The meaning is
  'Everything come out of nothing\, really!' Zen does not apply any logic no
 r experience for dogma\, but Zen has only one doctrine : Zen Buddhist has t
 o ignore evidence\, instead be impressed by nature. We choose this word fif
 th since we believe programmer and non-programmer will join us at the event
 .\n</p>\n</blockquote>\n</dd>\n<dt>19 August</dt>\n<dd>\n<p>\n<strong>一期一会<
 /strong>\n</p>\n<blockquote>\n<p>\n一期一会 is a composite Kanji word and prono
 unced 'ichi go ichi e' in Japanese. '一' means the one\, '期' a chance\, and 
 '会' a meet\, respectively. This word is very popular in Japan\, and transla
 ted as 'We have a chance to meet at once.' In 2009\, this event makes a cha
 nce to meet several Japanese Haskell programmers and many beginners. The Ze
 n word does not mean 'Opportunity knocks only once'\, but\, I say\, this ev
 ent is an occasion to extend activity of Haskell community in Japan.\n</p>\
 n</blockquote>\n</dd>\n<dt>18 August</dt>\n<dd>\n<p>\n<strong>惺々著</strong>\
 n</p>\n<blockquote>\n<p>\n惺々著 is a composite Kanji word in Chinese and pron
 ounced "sei sei jaku" in Japanese. They have three Kanji characters\; '惺'\,
  '々'\, and '著'. Since '々' is the special character which is <em>adjective</
 em> and means the previous Kanji character repeatedly\, we see the word as 
 another word '惺惺著' that has only two characters. '惺' means 'Wake up'\, on t
 he other hand\, '著' is the emphasis word. Finally\, we can translate '惺々著' 
 as 'Wake up! Devote yourself!' We choose the word thirdly\, because the dea
 dline of a proposal of this event is the next sunday in JST. Please send yo
 ur comment to the organizer. Otherwise\, happy Haskell hacking!\n</p>\n</bl
 ockquote>\n<dt>7 August</dt>\n<dd>\n<p>\n<strong>当機</strong>\n</p>\n<blockq
 uote>\n<p>\n当機 is a composite Kanji word and pronounced "tōki". They have t
 wo Kanji characters\; '当' and '機'. In the sense of Zen in Japanese\, '当' me
 ans 'right now'\, respectively\, '機' means 'a chance'.\nThe word '当機' sugge
 sts that you shall get the chance right now.\n</p>\n<p>\nWe choose the word
  secondly\, because we wish you will not miss any chance. If you find this 
 event and decide to join\, we are welcome you\, and celebrate you with the 
 lucky keyword '当機'.\n</p>\n<p>\nOn the other hand\, '当機' is also a technica
 l word for the pilot of aircraft\, which means <em>the plain</em>. The pilo
 t says this word when the plain will take off\; '当機はまもなく離陸いたします。シートベルトをお締めく
 ださい' - translated frankly - 'The plain will take off at the airport. Fasten
  your safety belt\, please.'\n</p>\n<p>\nNow you realize that you don't mis
 s the chance (i.e. this event)\, and will visit Japan via the Internet in t
 he next month. Von voyage!\n</p>\n</blockquote>\n</dd>\n<dt>3 August</dt>\n
 <dd><p>○</p>\n<blockquote>\n<p>\n○ is pronounced <a href="http://en.wikiped
 ia.org/wiki/Ens%C5%8D">"ensō"</a> in Japanese\, which you can see this pict
 ure about Zen at the en.wikipedia.org. This symbol means the shape of the w
 orld quite simply. Because it means also the state of completeness\, we cho
 ose the first symbol of this event.\n</p>\n</blockquote>\n</dd>\n</dl>\n\n<
 hr>\n\n<a name="japanese"><h1>大見出し</h1></a>\n<p>\nこのイベントは終了しました。ログは<a href=
 "http://docs.google.com/leaf?id=0By_gtregmtN8OWViMjkwNDktM2IwNS00ZDNiLTg4Nj
 MtZmMwM2NiNTI1MzYz&hl=ja">IRCLogs@GoogleDocs</a>にあるので見てね。\n</p>\n<ul>\n<li>
 <a href="#about_ja">何をするの？</a></li>\n<li><a href="#purpose_ja">目的は？</a></li
 >\n<li><a href="#who_ja">参加資格？</a></li>\n<li><a href="#logs_ja">参加できない人は？</
 a></li>\n<li><a href="#news_ja">ニュース</a></li>\n<li><a href="#registration_j
 a">参加登録について</a></li>\n<li><a href="#schedule_ja">スケジュール</a></li>\n<li><a hr
 ef="#talks_ja">発表一覧</a></li>\n<li><a href="#places_ja">場所</a></li>\n<li><a 
 href="#regional_ja">各団体の集まる日時と場所</a></li>\n<li><a href="#IRC_ja">IRC サーバとチャ
 ンネル名</a></li>\n<li><a href="#preparations_ja">事前の準備(revised)</a></li>\n<li>
 <a href="#submission_ja">発表申し込み</a></li>\n<ul>\n  <li><a href="#format_ja">
 発表申し込みフォーム</a></li>\n</ul>\n<li><a href="#proposal_ja">イベントの提案</a></li>\n<u
 l>\n  <li><a href="#events_ja">イベント一覧(new)</a></li>\n</ul>\n<li><a href="#c
 ollaboration_ja">他イベントとの協力</a></li>\n<li><a href="#contact_ja">制作委員会への連絡先</
 a></li>\n<li><a href="#comment_ja">このページのコメントに関する注意</a></li>\n<li><a href="
 #assignments_ja">夏休みの課題 (new)</a></li>\n<li><a href="#quotes_ja">ほぼ週替わり禅語(完
 )</a></li>\n<li><a href="#comment">日程調整のためのコメント欄</a></li>\n</ul>\n\n<a name
 ="about_ja"><h1>何をするの？</h1></a>\n<p>\nおじいちゃん、おばあちゃんを大切にしよう！それから、プログラミング言語 H
 askell について、<strong>発表や議論をオンラインでつなごうぜ</strong>、という催しです。<strong>初心者歓迎</stron
 g>。秋の味覚とともに、みんなでまったりと話しあいましょう。\n</p>\n\n<a name="purpose_ja"><h1>目的は？</h1><
 /a>\n<p>\n「Haskell って名前は聞いたことあるけど、使ったことないよ」って人から、「Haskell 大好き」って人まで、いろんな人がい
 るよね。そういう<strong>皆が集まって話し合う</strong>のは楽しそうだと思わない？\n</p>\n<p>\nこの機会に、Haskell 
 についての<em>疑問</em>や<em>誤解</em>が解けたり、『何か(打つゲームとか踏むゲームとかメールサーバとか)を作ったよ！とかいう発表』が
 あればいいと思います。あと、Haskell と関係したりしなかったりする新しい<em>何か</em>を掴みましょう。\n</p>\n\n<a name
 ="who_ja"><h1>参加資格？</h1></a>\n<p>\n参加資格なんてありません！自分のことを初心者だと思っている人も、普通の人も、そう
 でない人も、皆、歓迎します。二度書くけど、「このイベントに参加する」の手順を踏む必要もありません！\n</p>\n<p>\n「話題についていけないよ」
 とか「なにそれ日本語でok」ってことがないように、複数の会場(IRC チャンネル)を用意します。\n</p>\n<p>\n皆が「礼儀正しく」、ただし、
 「わからないことはすぐ聞く！」の態度を守れば、きっと共有できてなかったことが共有されるはず、と考えています。\n</p>\n\n<h1><a name
 ="logs_ja">参加できない人は？</a></h1>\n<p>\nせっかくの四連休。参加できない気持ち、わかります。後日、このイベントのログを公
 開しますので、それをお読みになってくだされば。\n</p>\n\n<h1><a name="news_ja">ニュース</a></h1>\n<tabl
 e>\n<tr>\n<th>日時</th>\n<th>告知内容</th>\n</tr>\n<tr>\n<td>2009-09-19</td>\n<td
 ><p><a href="#IRC_ja">IRC のチャンネル名が決まりました。</a></p>\n<p>\n9/20 午後の開始時間が 15:00
  から 13:30 に変更になりました。\n</p></td>\n</tr>\n<tr>\n<td>2009-09-02</td>\n<td><p>申
 し込みくださった発表を載せました。まだ、かろうじてスロットは残っているので、喋りたい人は申し出てください。よろしくお願いします。</p></td>\n
 </tr>\n<tr>\n<td>2009-08-28</td>\n<td>\n<p>\nプログラムが決まりました。あと、IRC ログを保存することを
 書きました。\n</p>\n</td>\n</tr>\n<tr>\n<td>2009-08-01</td>\n<td>\n<p>IRC についての説明
 を追加しました。それから、\nいくつかのイベントと夏休みの課題のお知らせ！</p></td>\n</tr>\n<tr>\n<td>2009-07-28
 </td>\n<td>\n<p>\nocaml-nagoya 夏合宿と接触しました。また、タイムテーブルを少しずつ埋めています。変更はできますので早め
 にお申し付けください。\n</p>\n</td>\n</tr>\n<tr>\n<td>2009-07-26</td>\n<td><p>\n普通の人向け
 のタイムテーブルを仮に埋めました。今後イベントの提案がない場合は、微調整しつつこのまま行きます。8/23 締め切りのイベントの提案や質問を引き続きお待
 ちしております。\n</p>\n</td>\n</tr>\n<tr>\n<td>2009-07-25</td>\n<td><p>コメント欄で、皆さんの
 <strong>日時調整</strong>をやりますよ、という告知をしました。\n</tr>\n<tr>\n<td>2009-07-19</td>\n
 <td>\n<p>\n文面の修正、特に帰国子女様のための記述がなされました。\n</p>\n</td>\n</tr>\n<tr>\n<td>2009-
 07-17</td>\n<td>\n<p>\n残念なお知らせです、タイトルロゴ(仮)が掲載されました。引き続き改悪される予定です。\n</p>\n</
 td>\n</tr>\n<tr>\n<td>2009-07-12</td>\n<td>\n<p>\n最初のアナウンスです！\n</p>\n</td>\
 n</tr>\n</table>\n\n<a name="registration_ja"><h1>参加登録について</h1></a>\n<p>\nA
 TND のこのイベントに登録する必要は<em>ありません</em>。ただし、このページの<strong>コメントの読み書きには登録が必要</stron
 g>です。コメント欄では、主にスケジュール調整を行います。\n</p>\n<p>\nこのイベントで発表したい人や、集会の日時に希望がある人、発表しない
 けど自己アピールをしたい人は、ATND のこのイベントに参加する(赤いボタン「このイベントに参加する」を押して、その指示にしたがう)必要があります。発
 表したい人は、発表の手続きがあるので、最後までよく読んでね。\n</p>\n<p>\nまた口頭ライブ発表を行うひとは、直前の金曜日(9/18)のリハー
 サルにも参加してくれると嬉しいです。できるだけ。\n</p>\n<p>\nイベントの当日直前に、このページに詳細が書かれますので、また見にきてください
 。具体的には、どうすれば発表を見ることができるか、議論するにはどうするか、それからスケジュール表が確定しています。\n</p>\n\n<a name=
 "schedule_ja"><h1>スケジュール</h1></a>\n<p>\n自称初心者から普通のひと向けのタイムテーブル\n</p>\n<tabl
 e>\n<tr>\n<th>日</th><th>午前(10:00-11:30)</th><th>午後(15:00-16:30)</th><th>夕方か
 ら晩にかけて(19:00-21:30)</th>\n</tr>\n<tr>\n<td>9/18(金)</td><td>特になし</td><td>特にな
 し</td><td>オンライン発表リハーサル(発表者の方々へ : リハーサル無理だったら本番でどんといきましょう)</td>\n</tr>\n<tr>
 \n<td>9/19(土)</td><td>Opening</td><td><a href="http://www.haskell.org/haske
 llwiki/Haskell_in_5_steps">Haskellの初歩</a>(<a href="http://www.haskell.org/h
 askellwiki/Monad">モナド</a>だって初歩のうち)</td><td>Q & A</td>\n</tr>\n<tr>\n<td>9/2
 0(日)</td><td><a href="http://www.haskell.org/haskellwiki/How_to_write_a_Has
 kell_program">Haskell のプロジェクトの始め方</a></td><td>発表 1 <strong>13:30-(時間が変\n更にな
 りました!</strong>)</td><td>発表・ライトニングトーク 2</td>\n</tr>\n<tr>\n<td>9/21(月):敬老の日<
 /td><td>Reserved</td><td>Reserved</td><td>Reserved</td>\n</tr>\n<tr>\n<td>9
 /22(火):国民の休日</td><td>Free discussion</td><td>Haskell の<a href="http://batte
 rseapower.github.com/test-framework/">テスト</a>と<a href="http://www.haskell.o
 rg/haskellwiki/Introduction_to_QuickCheck">デバッグ術</a></td><td>Free discussio
 n</td>\n</tr>\n<tr>\n<td>9/23(水):秋分の日</td><td>Final lightening talks & Clos
 ing session</td><td>Meeting for reviewing & planning for this event in the 
 next year</td><td></td>\n</tr>\n</table>\n<p>\n<strong>質問は随時受け付けます</strong>
 が、特に初日の夕方は「質問攻め」の時間を予約しました。\n</p>\n<p>\n普通じゃないひと向けのタイムテーブル\n</p>\n<table>\n
 <tr>\n<th>日</th><th>午前(10:00-11:30)</th><th>午後(15:00-16:30)</th><th>夕方から晩にか
 けて(19:00-21:30)</th><th>深夜から早朝にかけて</th>\n</tr>\n<tr>\n<td>9/18(金)</td><td>特
 になし</td><td>特になし</td><td>オンライン発表リハーサル</td><td>Eve of the festival</td>\n</t
 r>\n<tr>\n<td>9/19(土)</td><td>Opening</td><td>皆の質問に答えてください</td><td>皆の質問に答えて
 ください</td><td>Night session</td>\n</tr>\n<tr>\n<td>9/20(日)</td><td>Free disc
 ussion</td><td>Talks(<strong>13:30-</strong>)</td><td>Talks</td><td>Night s
 ession</td>\n</tr>\n<tr>\n<td>9/21(月):敬老の日</td><td>Reserved</td><td>Reserve
 d</td><td>Reserved</td><td>Night session</td>\n</tr>\n<tr>\n<td>9/22(火):国民の
 休日</td><td>Free Discussion</td><td>How to debug and test in Haskell</td><td
 >Technical lightening talks</td><td>寝ましょう。</td>\n</tr>\n<tr>\n<td>9/23(水):秋
 分の日</td><td>Final lightening talks & Closing session</td><td>Meeting for re
 viewing (post event evaluation) and planning for this event in the next yea
 r</td><td></td><td></td>\n</tr>\n</table>\n<p>\nふたつのタイムテーブルは独立していなくて、同時並行で行
 われます。だから、ついていけなくなる前に質問を！わかってる人は質問に答えてくれるボランティア精神をよろしくお願いします。\n</p>\n\n<a na
 me="places_ja"><h1>場所</h1></a>\n<p>\nどこかに集まるわけではありません。が、団体発表される方々はお好きなところにお
 集まりください。\n</p>\n<p>\nもしも、日時や場所をこのページで通知したければ、ATND のこのイベントに参加する手順を踏んだ上で、コメント
 を書けばいいです。コメントは、書いた人が編集したり削除したりできます。\n</p>\n<p>\nあるいは、制作委員会にメールをくだされば、このページを
 編集します。\n</p>\n\n<h1><a name="talks_ja">発表一覧</a></h1>\n<h2>発表 1</h2>\n<dl>\n
 <dt>2009-09-20 13:30–</dt>\n<dd>\n<dl>\n<dt>発表者</dt>\n<dd><p>keigoi</p></dd
 >\n<dt>タイトル</dt>\n<dd><p>Haskellによる型レベルプログラミングと、その応用例で型付きDSLの実装について</p></dd
 >\n<dt>アブストラクト</dt>\n<dd><p>Haskellによる型レベルプログラミングと、その応用例で\n型付きDSLの実装について話した
 いと思います。具体的には、セッション型の実装と型安全な(?)SMTPクライアントの例を出します。\nできれば、その他の話題(HaskellDBやTak
 usenとか)にも触れます。</p></dd>\n</dl>\n</dd>\n</dl>\n<h2>発表・ライトニングトーク</h2>\n<dl>\n
 <dt>2009-09-20 19:00–19:30</dt>\n<dd>\n<dl>\n<dt>発表者</dt>\n<dd><p>smly</p><
 /dd>\n<dt>タイトル</dt>\n<dd><p>Haskellで圧縮</p></dd>\n<dt>アブストラクト</dt>\n<dd><p>圧
 縮されたデータを Haskell で処理する際のケーススタディ</p></dd>\n</dl>\n</dd>\n<dt>2009-09-20 19:4
 5–</dt>\n<dd>\n<dl>\n<dt>発表者</dt>\n<dd><p>Sakai</p></dd>\n<dt>タイトル</dt>\n<d
 d><p>\nCategorical Programming について紹介</p></dt>\n</dl>\n<dt>アブストラクト</dt>\n<d
 d>\n<p>\n予定している元ネタ:\n</p>\n<ul>\n<li><a href="http://www.tom.sfc.keio.ac.jp
 /~hagino/thesis.pdf">Categorical Programming Language[PDF]</a></li>\n<li><a
  href="http://www.cs.ut.ee/~varmo/papers/thesis.pdf">Categorical programmin
 g with inductive and coinductive types[PDF]</a></li>\n<li><a href="http://w
 ww.willamette.edu/~fruehr/haskell/evolution.html">The Evolution of a Haskel
 l Programmer</a></li>\n</ul>\n</dd>\n</dd>\n</dl>\n\n\n<a name="regional_ja
 "><h1>各団体の集まる日時と場所</h1></a>\n<p>\nまだ何も聞いてないよ！\n</p>\n\n<a name="IRC_ja"><h1
 >IRC サーバとチャンネル名</h1></a>\n<p>\nIRC サーバは "irc.freenode.net" を使います。チャンネルは複数作り
 ます。\n</p>\n<dl>\n<dt>#HAMAYA</dt>\n<dd>\n<p>\nみんな(帰国子女さまも含む)が集まる最初の場所。最初の日の
 最初のタイムテーブルで、簡単な自己紹介をしてもらいます。自己紹介したくない人は、一言 'pass' とつぶやいてくれればいいです。\n</p>\n<p
 >\nその後は、帰国子女様(がくれば)との交流の場所になります。とくに、Night session でこの場所を使います。\n</p>\n</dd>\
 n<dt>#HAMAYA-jp</dt>\n<dd>\n<p>\n日本語みたいな日本語で会話する場所。帰国子女様には申し訳ありません。\n</p>\n
 <dt>#HAMAYA-newbie</dt>\n<dd>\n<p>\n自分は初心者だ! という方、および質問に答えてくれるボランティアの方がたむろう
 場所です。ボランティア急募。\n</p>\n</dd>\n<dt>#HAMAYA-cafe</dt>\n<dd>\n<p>\nまたーり雑談する。Has
 kell に限らず、どんな話題でもどうぞ。\n</p>\n</dd>\n<dt>#HAMAYA-staff</dt>\n<dd>\n<p>\nこのイベ
 ントの運営者が常駐しています。なんかやっかいそうな人とか、トラブルなどがおきたら、ここに報告してください。\n</p>\n</dd>\n<dt>#HA
 MAYA-stage</dt>\n<dd>\n<p>\nIRC で発表する人のためのチャンネルです。+v で発表者のみが喋ります。その他の皆さんは、こ
 の部屋に join して、発表を聞きます。質疑応答は、#HAMAYA や #HAMAYA-jp でおねがいします。\n</p>\n</dd>\n<dt
 >#HAMAYA-bots</dt>\n<dd>\n<p>\nこのページで告知した夏休みの宿題の bot が集まる場所です。ここ以外に自作 bot は
  join しないでほしいです。ご協力お願いします。\n</p>\n</dd>\n</dl>\n<p>\nその他、この期間内のイベント(ウェブアプリ制
 作部隊とか)をやりたい人は #HAMAYA-name_of_event を勝手に作っていただいて構いません。Lambda bot が必要なら、出張しま
 す。\n</p>\n<p>\n後日、IRC channel のログは公開する予定です。ただし、皆様の IP address は削除します(IRC の仕
 様で、IP address は逆引きされて表示されてしまいます)。また、不適当なログは制作委員会のほうで適当に編集されます。あらかじめご了承ください。
 匿名希望の方は、匿名 nick と怪しいネットワーク経由でお越し下さい。保存場所は、まだ決まっていません。\n</p>\n\n<a name="pre
 parations_ja"><h1>事前の準備</h1></a>\n<ol>\n<li>空白とタブの違いを目で見て確認できるエディタ\n<li>Has
 kell インタプリタ/コンパイラ ghc 最新版\n<dl>\n  <dt>GHC 本家からインストール</dt>\n  <dd><p><a hre
 f="http://www.haskell.org/ghc/download.html">GHC のページの "Current Stable Rele
 ase"</a></p></dd>\n  <dt>Haskell Platform</dt>\n  <dd><p>もしくは、<a href="http
 ://www.haskell.org/haskellwiki/Haskell_Platform">Haskell Platform</a>の人柱になる
 (お勧めはしません)</p></dd>\n</dl>\n<li>SWF を表示できるウェブブラウザ</li>\n<li>IRC クライアント (※ U
 TF-8 に対応しているクライアントに限る)</li>\n</ol>\n<p>\n以上を用意してください。\n<a href="http://ja.w
 ikipedia.org/wiki/Wikipedia:%E3%83%81%E3%83%A3%E3%83%83%E3%83%88">IRC (Inte
 rnet Relay Chat) についてわからない子は、自分で調べてね。</a> <strong>UTF-8 を使うことができる</strong> 
 IRC クライアントを用意してください。\n</p>\n<p>\nIRC のサーバ名ならびにチャンネル名は、イベント間近に、このページで発表します。<
 a href="#IRC_ja">IRCサーバとチャンネル</a>の項目をお読みください。\n</p>\n\n<a name="submission_
 ja"><h1>発表申し込み</h1></a>\n<p>\n発表したい人、団体は ATND の「このイベントに参加する」の手続きを踏んでください。また
 、発表申し込みフォームを制作委員会にメールで提出してください。発表申し込みフォームは、この下に書いてあります。提出期限は 8/23(日) です。面倒だ
 けど許してね。\n</p>\n<p>\n発表申し込みは締め切りましたが、駆け込みで喋りたい人は、こちらに言ってもらえればなんとかします。\n</p>\
 n<p>\n発表の方法は大きく分けて、2 種類を考えています:\n</p>\n<ol>\n<li>ライブ口頭発表(<a href="http://us
 tream.tv/">USTREAM</a>などを利用)</li>\n<li>資料による発表(<a href="http://www.slidesha
 re.net/">SlideShare</a>\, <a href="http://docs.google.com/?hl=ja#">Google ド
 キュメント</a>\, ソースレポジトリなど)</li>\n</ol>\n<p>\nライブ口頭発表は、あらかじめスケジュールに時間を割り当てます。\n
 </p>\n<p>\n資料による発表は、発表者の資料へのリンクをこのページに作ります。イベントの間、いつでも IRC でみんなと議論することができます
 。\n</p>\n\n<a name="format_ja"><h2>発表申し込みフォーム</h2></a>\n<p>\nメールの Subject に
  <strong>"HAMA.jp 2009"</strong> と書いてくれると大変助かるのでよろしくお願いします。\n</p>\n<ul>\n<l
 i>名前またはニックネーム</li>\n<li>発表タイトルと概要</li>\n<li>発表時間\n  <ul>\n  <li>10分</li>\n 
  <li>30分 + 質疑応答 10 分 <li>\n  <li>その他(何分かを連絡)\n  </ul>\n</li>\n</ul>\n<p>\n長
 い名前などは、制作委員会が短くする場合があります。あらかじめご了承ください。\n</p>\n\n<a name="proposal_ja"><h1>イ
 ベントの提案</h1></a>\n<p>\n発表フォームに収まらないイベントの提案などありましたら、制作委員会にメールを出すか、あるいはこのページのコ
 メントを書いてください。コメントを書くには、ATND の「このイベントに参加する」手続きを踏む必要があります。\n</p>\n\n<h1><a nam
 e="events_ja">イベント一覧</a></h1>\n<p>\n提案されたイベントの一覧です。一人ででも、団体ででも取り組んでください！イベン
 トはもうすでに始まっています。９月まで待たずにどんどん進めちゃいましょう！\n</p>\n<ol>\n<li>Webサービスを Haskell で</
 li>\n  <ol>\n  <li>つくる</li>\n  <li>利用する</li>\n</ol>\n</ol>\n<p>\n<a href="h
 ttp://www.sampou.org/cgi-bin/haskell.cgi?Haskell2009AutumnJP">メンバーとの連絡や、具体的
 になにをするかなどは、Haskell-jp Wiki の HAMA.jp 2009 のページ</a>を利用してください。Haskell-jp Wiki
  を運営して下さる方に感謝します。\n</p>\n\n<h1><a name="collaboration_ja">他イベントとの協力</a></h1
 >\n<p>\n同時期に開催されるイベントがありましたら、私たちは喜んで協力したいと考えています(※ただし、プログラミングに関すること、あるいは Ha
 skell に限る)。タイムテーブルの変更も考えます。制作委員会までご連絡ください。\n</p>\n<p>\n当日付近のイベントは、はなずきん様の作成
 されている <a href="https://www.google.com/calendar/embed?src=fvijvohm91uifvd9hr
 atehf65k%40group.calendar.google.com">IT 勉強会カレンダー</a>でご確認ください。はなずきん様には、スケジュ
 ール表を作っていただいて感謝しております。\n</p>\n<p>\nocaml-nagoya 夏合宿と日程が重なったため、交流のための日時などを交渉し
 ています。プログラムが確定するまえなら、他のイベントとの交流も可能ですので、制作委員会までご連絡ください。\n</p>\n<p>\nなお、このイベント
 が終わると、次は <a href="http://tltc.shu.edu/blogs/projects/IFL2009/">Implementati
 on and Application of Functional Programming (IFL) 2009</a> が始まります！\n</p>\n
 \n<a name="contact_ja"><h1>制作委員会への連絡先</h1></a>\n<p>\nメイルあどれす ikegami.da アーッ
 と gmail.com まで。\nいただいたメールアドレスは、このイベントの目的のみに使います。\n</p>\n<p>\nこのページのコメントはこまめ
 に見るつもりですが、反応は遅れる可能性があります。\n</p>\n<p>\nTwitter や、Skype、MSN などは発表申し込みをしたことになり
 ません。メールで！\n</p>\n\n<a name="comment_ja"><h1>このページのコメントに関する注意</h1></a>\n<p>\
 nコメントの読み書きには、ATND の「このイベントに参加する」手続きが必須です。まったりとコメントを書いてください。\n</p>\n\n<a nam
 e="assignments_ja"><h1>夏休みの課題</h1></a>\n<p>\nHaskell 秋の例会は 9 月ですが、それまで待ちきれな
 いあなたのために、<em>ふたつの課題</em>を制作委員会が提案します。<strong>答えの提出義務はない</strong>ので、気楽に取り組んで
 ください。また、すでに個人のプロジェクトを持っている方はそれを優先すればいいです。複数人で取り組みたくなったら、<a href="#proposal_
 ja">イベントとして提案してください。</a>\n</p>\n<p>\nもちろん、参加するひとの義務でもなんでもないです。ただ、「暇だなーっ、だけど
 何していいかよくわかんない」っていう人に何かあげたかったんだ。それだけ。このイベント(HAMA.jp 2009)自体は <em>初心者大歓迎です。</
 em>課題をやらない人も、イベント当日近辺にこのページをもう一度見ればいい。\n</p>\n<ul>\n<li><a href="#IRC_bot_j
 a">Haskell を使って IRC ボットを作りましょう</a></li>\n<li><a href="#graph_ja">Haskell で全
 域木探索アルゴリズムを書き、評価しましょう</a></li>\n</ul>\n<a name="IRC_bot_ja"><h2>Haskell を使っ
 て IRC ボットを作りましょう</h2></a>\n<p>\nこの課題を行うには、<strong>守っていただきたい条件</strong>が二つあり
 ます。最初の一つは、プログラムを始める前に、<em>自分のマシンに IRC サーバをインストールする</em>ということです。もう一つは一番最後に言い
 ます。\n</p>\n<p>\n「何を言っているのか、わからないよ！」という人は、別にこの課題をやらなくてもいいです。9 月のイベントでお会いしましょ
 う。そのときに質問をすればいいんじゃないかなと思います。\n</p>\n<p>\n自分のマシンにインストールする IRC サーバは<a href="h
 ttp://gigazine.net/index.php?/news/comments/20080128_inspircd/">Gigazine さん
 の2008年01月28日の記事</a>にある、<a href="http://www.inspircd.org/">Inspire IRCd - Th
 e Stable C++ Modular IRCd</a> なんかがよいのではないかなと思います。\nこれは、Windows系\, *nix および 
 MacOSX で動くんだそうです。なお、これをインストールして何か実害がでても当イベント制作委員会は責任をとれません。というか、ごめんなさい。\n</
 p>\n<p>\nもちろん、 IRC サーバはいろいろな実装があるのでお好きなものを選んでいただければよいのですが。Gigazine さんの Wind
 ows におけるインストール手順が丁寧だったのでお借りしました。*nix や MacOSX の人は自分でなんでもするよね。\n</p>\n<p>\n次
 にやることは、 <a href="http://ja.wikipedia.org/wiki/Wikipedia:%E3%83%81%E3%83%A3%
 E3%83%83%E3%83%88#IRC.E7.94.A8.E3.82.AF.E3.83.A9.E3.82.A4.E3.82.A2.E3.83.B3
 .E3.83.88">UTF-8 に対応した IRC クライアント</a>を用意することです。これもまたたくさんあるので、好きなのを選べばよいかと。\
 n</p>\n<p>\n気をつけていただきたいのは、このクライアントで、<strong>自分のサーバに接続</strong>することです。今まで説明し
 てきたことは、一言でいえば、自分のマシンに IRC bot の開発環境と遊び場を作る、ということです。開発当初は、無限ループしたり、IRC のマナーを
 守らない bot を作ってしまうかもしれません。これはよくあることです。ですから、まず、自分のマシンで動かしてみて大丈夫だなあ、というところまで完成し
 たら合格です。未完成のまま、既存の IRC ネットワークには接続しないでください。\n</p>\n<p>\nHaskell 秋の年会 2009 では、
 会場が主に IRC なので、皆さんが完成させた IRC bot が集う部屋を準備します。イベントまでに完成しているといいですね。あるいは、ある程度しあ
 げて、イベントでコメントをもらうのもありだと思います。\n</p>\n<p>\nなお、IRC bot が集う部屋でも UTF-8 が用いられます。pr
 ivmsg や topic などの解析をするときは、文字コードにも気をつけてください。\n</p>\n<p>\nとにかく、あなたのアイデア次第で面白い
  IRC bot を作ってみてください。もしも、困難に出会ったら、それをメモしておいて秋の年会イベントで質問すればいいと思います。\n</p>\n<p
 >\n最後に、言い忘れていた二番目の約束を言います。<strong>IRC bot の発言は privmsg ではなく notice を使ってください
 。また、あらゆる notice に対して返答してはなりません。</strong>理由は、IRC プロトコルを定めた<a href="http://ww
 w.haun.org/kent/lib/rfc1459-irc-ja.html#c4.4.2">RFC 1459 IRC プロトコル</a>にあります
 。なお、訳文はタイトルが NTICE になってしまってますが、これは NOTICE の誤りです。 \n</p>\n<p>\nでは、皆さんの健闘を祈りま
 す。なお、<a href="http://hackage.haskell.org/package/lambdabot">Don Stewart の l
 ambdabot</a> は、もうすでにいますので、それ以外の bot でお願いします。\n</p>\n<a name="graph_ja"><h2>
 グラフから全域木を取り出すアルゴリズムとその評価</h2></a>\n<p>\n上から順番に解いていくと、最後までたどりつけるような工夫はしたつもりで
 す。\n</p>\n<ol>\n<li>\n<p>\nデータ構造としての<a href="http://mathworld.wolfram.com/T
 ree.html">木</a>を Haskell で定義してください。木とは、頂点と辺の二種類のデータからなります。\n</p>\n<p>\n<a h
 ref="http://mathworld.wolfram.com/Tree.html">ここで紹介した「木」の説明のうち、ページの下半分の数式</a
 >は、好きな人だけ読めばいいです。\n</p>\n<p>\n要するに「木」は、なんとなく確かに漢字としての木みたいな形になっていて、定義を言うと「サイ
 クルを持たない連結なグラフ」ということになります。何がサイクルで何が連結なグラフかを定義しだすときりがないのでやめておきます。その代わりに、<a hr
 ef="http://mathworld.wolfram.com/Tree.html">木のページ</a>の図 1 から 6 までを見てください。横に
 ふたつ以上ならんでいる図では、その一つ一つを木だと思います。ふたつ離れた木を合わせると、くっつかない、つまり連結ではなくなってしまいます。\n</p>
 \n<p>\nたとえば、このページの左上のロゴのλがよっつある図で、○を頂点とし、○と○を結ぶ直線を辺だとすると、これは「木」です。\n</p>\n<
 p>[余談]\n<em>木とは何かをすでに知っているひとは <a href="http://www.haskell.org/ghc/docs/late
 st/html/libraries/containers/Data-Tree.html"> GHC についてくる Data.Tree</a> を使って
 もいいです。そういう子は「木」だけでなく「森」についても知っているかもしれないので、その場合はこの課題を「森」に拡張してくれていいです、がんばれ。</
 em>[余談ここまで]\n</p>\n<p>\n実は Haskell において、データ構造としての木を定義する方法はいくつもあります。できれば一通りで
 はなく、複数の定義を考えてみましょう。\n</p></li>\n<li>\n<p>\nHaskell でグラフのデータ構造を定義する、のは容易ではない
 ので、代わりに <a href="http://www.haskell.org/ghc/docs/latest/html/libraries/cont
 ainers/Data-Graph.html">GHC の標準ライブラリ Data.Graph</a> を見て、どんなことができるか、いろいろ試しまし
 ょう。たとえば、どうすれば、左上のλのグラフを描くことができるでしょうか。(○を頂点と思い、直線を辺と思います)\n</p>\n<p>\nこれでは物足
 りないひとは、自分でグラフのデータ構造を定義してみてください。定義の方法は複数あります。できるだけ様々な定義を用意しましょう。\n</p>\n</li
 >\n<li>\n<p>\n全域木とは、与えられた連結なグラフの全ての頂点をもっている木を言います。別の言葉でいうと、与えられた連結なグラフには、サイ
 クルがあったとしても、全域木は、そのサイクルの一部のみを使い、グラフ全部の頂点を通る(サイクルを持たない)木なのです。たとえば、左上のロゴでλが４つあ
 る図の○を頂点と思い直線を辺と思えば、すでに全域木になっているグラフです。なんと。\n<a href="http://mathworld.wolfra
 m.com/SpanningTree.html">全域木を説明しているページ</a>の□に対する全域木などの例も見ましょう。\n</p>\n<p>\n
 グラフから全域木をひとつみつける関数 <code>spanningTree :: Graph -> Tree</code> を実装しましょう。実装は一
 通りではありません。時間/空間計算量の小さな関数をどうやって実装したらよいでしょうか。また、計算量の評価はどうやったらいいでしょうか？(ヒント: <a
  href="http://www.haskell.org/haskellwiki/How_to_profile_a_Haskell_program"
 >GHC のプロファイラを使いましょう</a>、使わなくても理詰めで計算量を導きだすことができるかもしれません)\n</p>\n<p>\n前の課題に戻
 り、木やグラフのデータ構造を上手に定義しなおすのも手です。実はこの課題は、データ構造がアルゴリズムと密接に関係がある例なのです。\n</p>\n</l
 i>\n<li>\n<p>\n次は、グラフが与えられたときに、各辺に非負整数をくっつける関数 <code>weightedGraph :: Graph
  -> [Word] -> WeightedGraph</code> を作りましょう。そのためには、データ構造 WeightedGraph を作らなけ
 ればなりません。また、関数 weightedGraph は、二番目の引数 [Word] が一番目の引数 Graph の辺の順番の付け方と一致していない
 と意味がないことに注意してください。Graph の枝の順番はどうやってつければいいでしょうか？\n</p>\n<p>\nなお Word は、<a hr
 ef="http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Word.ht
 ml">GHC の標準ライブラリ Data.Word</a> にあり、Word は非負整数を表します。データ構造 WeightedGraph の定義は
 一通りとは限りません。頭を柔らかくして臨みましょう。\n</p>\n</li>\n<li>\n非負整数が枝についているグラフ WeightedGrap
 h の全域木を求めましょう。ただし、<em>あらゆる全域木のなかで、枝の非負整数の和を極小にしてください。</em> そのような極小全域木を求める関数
  <code> minimumSpanningTree :: WeightedGraph -> Tree </code> を作りましょう。\n</p>
 \n<p>\n<p>\n関数 <code>minimumSpanningTree :: WeightedGraph -> Tree</code> の実
 装もまた一通りではありません。時間/空間計算量の小さな関数をどうやって実装したらよいでしょうか。また、計算量の評価はどうやったらいいでしょうか？\n<
 /p>\n</li>\n<li>\n<p>\n次は、Haskell 独特の手法を用います。<a href="http://www.haskell.or
 g/ghc/docs/latest/html/libraries/parallel/Control-Parallel.html#v%3Apar">並行
 計算に使う関数 par</a>と、<a href="http://www.haskell.org/ghc/docs/latest/html/users
 _guide/options-phases.html#options-linker">ghc に与える引数 -threaded</a> を用いて、並行
 計算で 関数 spanningTree および minimumSpanningTree を実装してください。core が二つ以上ないと面白くないですが
 、dual core などのマシンを持ってるひとは、ぜひ試してみてください。計算量に違いは現れるでしょうか。なお、<a href="http://ww
 w.haskell.org/haskellwiki/Haskell_in_5_steps#Write_your_first_parallel_Hask
 ell_program">HaskellWiki に簡単なサンプル</a>がありますので、そちらを読むのもお勧めします。\n</p>\n</li>\n
 <li>\n<p>\n最後に、これは今までの課題とは無関係ですが、複数の実装があったときの計算量を視覚化する試みを行ってみてください。カラフルなグラフ
 などができあがると望ましいです。この課題の評価はヒューマンインターフェースからの観点とユーザビリティの観点の二つがなされます。\n</p>\n</li
 >\n</ol>\n<p>\nなお、この課題はきわめて数学的に見えますが、その応用は幅広く、知っておいて損はないことだらけだ、と制作委員会は考えました
 。数学嫌いな子も英語嫌いな子も、格闘してくれると嬉しいです。\n</p>\n<p>\n「何を言っているのか、わからないよ！」という人は、別にこの課題を
 やらなくてもいいです。9 月のイベントでお会いしましょう。そのときに質問をすればいいんじゃないかなと思います。\n</p>\n<p>\nこれ以上課題が
 増えることはありません！安心してください。それでは、秋のイベントでお会いしましょう。このページはちょくちょく更新されますので、たまに訪れるなりするとい
 いと思います。\n</p>\n\n<a name="quotes_ja"><h1>ほぼ週替わり禅語</h1></a>\n<dl>\n<dt>昭和八十四
 年八月二十八日</dt>\n<dd>\n<p><strong>前三三後三三</strong></p>\n<blockquote>\n<p>\n「三三」
 とは、満ち足りている様を言う。此れ、即ち、我々は全面に満ち足りており、不足のないことを意味する。Haskell も Haskell でないものも、満ち
 足りていることを体感せよ。\n</p>\n<p>\nHAMA.jp に参加者が限りなく訪れ、満ち足りますよう。\n</p>\n<p>\n『碧巌録』より
 抜粋。\n</p>\n</blockquote>\n</dd>\n<dt>昭和八十四年八月二十二日</dt>\n<dd>\n<p><strong>本来
 無一物</strong></p>\n<blockquote>\n<p>\n本来無一物である。Haskell も Haskell でないものにも打ち込む
 べし。何処惹塵埃。\n</p>\n<p>\n『六祖壇経』より引用。\n</p>\n</blockquote>\n</dd>\n<dt>昭和八十四年八月
 十九日</dt>\n<dd>\n<p><strong>一期一会</strong></p>\n<dd>\n<blockquote>\n<p>\n皆と一緒
 に Haskell で遊ぶことができるのは、この連休しかないのかもしれません。\n</p>\n</blockquote>\n</dd>\n<dt>昭和
 八十四年八月十八日</dt>\n<dd>\n<p><strong>惺々著</strong></p>\n<blockquote>\n<p>\n「起きてい
 るか！」常に刃を研がねば、その刀は用を為さず。\n</p>\n<p>\n公案集『無門関』より引用。\n</p>\n</blockquote>\n<dt
 >昭和八十四年八月七日</dt>\n<dd>\n<p>\n<strong>当機</strong>\n</p>\n<p>\n<blockquote>\n
 <p>\n当機を逸すること勿れ。感覚を失して即断実行すべからず。耳で見よ、目で聞け。一喝。\n</p>\n</blockquote>\n</p>\n<
 dt>昭和八十四年八月三日</dt>\n<dd>\n<p>\n<strong>○</strong>\n</p>\n<blockquote>\n<p><
 a href="http://ja.wikipedia.org/wiki/%E5%86%86%E7%9B%B8">円相</a>に、自らの<strong
 >不足</strong>を見よ</p></dd>\n</blockquote>\n</dl>
DTEND;TZID=Asia/Tokyo:20090923T213000
DTSTAMP;TZID=Asia/Tokyo:20090710T054438
DTSTART;TZID=Asia/Tokyo:20090919T100000
CLASS:PUBLIC
LAST-MODIFIED;TZID=Asia/Tokyo:20091106T154135
SEQUENCE:0
SUMMARY:Haskell Annual Meeting Autumn.jp 2009
UID:atnd-1048
URL:http://atnd.org/events/1048
END:VEVENT
END:VCALENDAR

