タグ

ICFPに関するharu-sのブックマーク (4)

  • 純粋関数型雑記帳

    TL;DR 簡潔で直感的に扱える、宣言的なRust向けのコマンドライン引数パーザーを作りました。 https://crates.io/crates/argopt モチベーション Rustにstructoptというライブラリがあります。これはコマンドライン引数をパーズするライブラリなんですが、僕はこのライブラリが大好きなんです。Rustのライブラリの中で一二を争うほど好きです。なんならコマンドラインツールをRustを書く理由の大部分がこのライブラリの存在といっても過言ではないかもしれません(過言ですけど)。 しかしstructoptも使い続けていると、どうにももっと便利にできるんじゃないのかと思う部分が出てきます。structoptでは名前の通りコマンドライン引数をstructで定義して、それに#[derive(StructOpt)] とStructOptをderiveすることでパーザーのコ

    純粋関数型雑記帳
    haru-s
    haru-s 2010/09/29
    ICFP2010優勝おめでとうございます!
  • [ICFP] ICFP Programming Contest 2010 参加記 - 純粋関数型雑記帳

    pure pure code ++ というチームで参加していました。今回は問題がとても面白かったと思います。楽しめました。チームのメンバは http://twitter.com/nya3jp/status/16604202811 の6人。6人目のメンバーはトンちゃんでしょうか。 http://www.icfpcontest.org/2010/ コンテストのページはこちら。 http://icfpcontest.org/icfp10/score/teamAll 順位表はこちら。 上位5チームはリストには表示されないようです。pure pure code ++ は表示されていないので5位以内ということみたいです。上位5チームのの点数とチーム名が非表示なので自分のチームが一体何位なのか全くわからないのですが、それなりの手応えはあります。発表まで順位が分からないようにとのことなので、点数などの公表

    [ICFP] ICFP Programming Contest 2010 参加記 - 純粋関数型雑記帳
    haru-s
    haru-s 2010/07/02
  • ICFP Programming Contest 2010 - なんとなくな日々のコメント

    色々な問題の集合のコンテストなので、とても一人では参加できる能力もないし、他の人が大半やっているのですが、取り敢えず一部の問題だけ比較的に良いものができたのでメモしておきます。 部分問題 0#という名前の2入力2出力のゲートを使って、特定の出力を構成せよ、という問題。ゲートは一直線にならべ、評価はその順番に行われる。逆に戻るような信号線は次のサイクルで評価される。信号線を分岐させることはできない。 ゲート仕様 左入力Xと右入力Yがあって、左出力には(X-Y)%3が、右出力には(X*Y-1)%3が出てくる。細かいことはさておき、以下で重要になるのは右出力は入力のどちらかが0だと2になってしまうために使い勝手が悪い半面、左出力は片方の入力を固定できればもう一方の入力を操作することで任意の出力が可能であるということ。また、ゲートの初期値は0なので、それを利用する。 解法の流れ 各サイクルごとに出

    ICFP Programming Contest 2010 - なんとなくな日々のコメント
    haru-s
    haru-s 2010/06/22
  • 1st prize in ICFP Programming Contest 2009 - 兼雑記

    なんか優勝しちゃったようです。それでエジンバラにいます。というわけでこの一年は C++ のわるくちを言うことはゆるされません。くれぐれも、気をつけて下さい。 勝因としては、まぁ運が良かったんだろうなーという。9位だったのに verification round で 1位になったそうですし。もうちょいポジティブに評価するならテストケース変わっても動く程度に robust だったってことですかねぇ。 なにか速報してくれてる方がいたのでリンクを。 http://twitter.com/liyanghu/status/3691832714 写真

    1st prize in ICFP Programming Contest 2009 - 兼雑記
    haru-s
    haru-s 2009/09/09
    いやすごいわー
  • 1