タグ

haskellに関するprajnaのブックマーク (11)

  • やさしいFunctional reactive programming(概要編) - maoeのブログ

    あと、やはりネットワーク周りなどI/Oの多いプログラムの書きにくさが課題になっている印象。関数的なI/OはFRPで解決できそうな気がするんだけど調べてない。そろそろFRPをちゃんと理解したいなー。 Parsec 3活用事例: Keepalived構文チェッカ - maoeのブログ なんて書いてから早1ヶ月半、ようやくFRPが掴めてきたのでわかったことをまとめてみます。 Reactive programmingって何? FRPの前に、一般的にwikipedia:en:Reactive programmingと呼ばれるパラダイムについて触れておきます。reactive programmingとは疑似言語を使ってかなーり大雑把に説明すると、 var a = 1 var b = a + 1 a = 10 // aを書き換える print b // => 11print bの出力は2ではなく11です

    やさしいFunctional reactive programming(概要編) - maoeのブログ
  • 素数判定 - あどけない話

    要約:素数判定に使われるミラーラビン法を解説しながら、Haskell で実装してみる。 フェルマーテスト 大きな数を確実に素数だと判定するには、大変時間がかかるので、実用的には「ほぼ素数だ」と確率的に判定する。確率的な素数判定の代表格がフェルマーテストである。 フェルマーテストには、以下に示すフェルマーの小定理を利用する。 a^p ≡ a (mod p) a は任意の整数。p は素数である。法 p の下で a を p 乗したものは、a と合同であると言う意味だ。a には制限はないが、特に a を p より小さい整数、0 ≦ a ≦ p - 1 とすれば、a を p 乗して、p で割ると a に戻るとも解釈できる。 最初に見たときは、だからどうしたと思われるかもしれない。しかし、有名なフェルマーの大定理が実用上何の役にも立たないのに対し、フェルマーの小定理はいろんな場面で活躍する。 実際に計

    素数判定 - あどけない話
  • Haskell基礎文法最速マスター - think and error

    見ていただけるのは嬉しいですがこのエントリは十分古いため、新しい情報へアクセスをしてください。以下のをお勧めします。 すごいHaskellたのしく学ぼう! 作者: MiranLipovaca出版社/メーカー: オーム社発売日: 2017/07/14メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus) 作者: 大川徳之出版社/メーカー: 技術評論社発売日: 2014/11/14メディア: 単行(ソフトカバー)この商品を含むブログ (8件) を見る みんなHaskellやろうぜ!! ということで書きました。 CやJavaRubyなど他言語を知っている人は、これを読むことでHaskellの大抵のことはマスターでき…ません。 特殊な構文が多すぎて他言語との類

    Haskell基礎文法最速マスター - think and error
  • GHC と UTF-8 - あどけない話

    GHC が、どう UTF-8 を扱うか調べてみました。 コードへの埋め込み 文字列リテラルに UTF-8 が使えました。 str = " システム " どう扱っているのか、確かめてみます。 import Data.Char map ord str → [32,12471,12473,12486,12512,32] Char は1バイトではなく、UTF-8 の文字が収容できる大きさになっているようです。うまくできていますね。 UTF-8 ファイルの読み込み UTF-8 で " システム " と書いたファイルを用意し、以下のコードを実行して、読み込ませます。 main = do cs <- getContents print $ map ord cs 結果は、こうなりました。 → [32,227,130,183,227,130,185,227,131,134,227,131,160,32] 単

    GHC と UTF-8 - あどけない話
  • 正規表現を超える--CSVファイル編 - あどけない話

    正規表現を超えるの補足として、CSVファイルを例に挙げて考えてみる。 CSVファイルの定義は、RFC4180にある。 file = record *(CRLF record) [CRLF] record = field *(COMMA field) field = (escaped / non-escaped) escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE non-escaped = *TEXTDATA TEXTDATA = %x20-21 / %x23-2B / %x2D-7E COMMA = %x2C CRLF = CR LF CR = %x0D LF = %x0A DQUOTE = %x22 これを Haskell の Parsec で書くと、ほとんどそのままの形で実装できる。 import Text.

    正規表現を超える--CSVファイル編 - あどけない話
  • 山本和彦の発表資料

    2019/11 GHC の GC 2019/09 HTTP/2時代のコネクションの切り方 2019/06 関数プログラミングことはじめ 2019年度版 2018/03 ユニットテストあれこれ 〜 Haskellerの視点から 〜 2018/02 TLS 1.3 draft 23 ハンズオン 2018/02 TLS 1.3 の標準化動向 2017/01 TLS 1.3 2016/09 HTTP/2 and TLS in Warp 2015/11 関数プログラミングことはじめ 2015/11 HTTP/2 in Warp with Haskell lightweight threads 2015/11 Server Implementations of HTTP/2 Priority (revised) 2015/10 Server Implementations of HTTP/2 Prio

  • 自由に働ける新宿のチャットレディ求人は大学生にもおすすめ

    大学生にピッタリな新宿の在宅チャットレディ求人 大学生の方で、楽しい大学生活で必要になるお金をもっと確保したいという方は、新宿のチャットレディプロダクションで在宅チャットレディになってみるのもオススメです。在宅チャットレディ求人の魅力は、プロダクションからパソコンやマイクなどを借りて、自宅で配信環境を作って仕事を行います。プロダクションのチャットルームのような、充実した環境での配信ではありませんが、忙しい大学生の方でも、自宅で配信ができるので仕事がしやすいというメリットが出てきます。 日中は大学で講義を受け、夕方はサークルや友達との飲み会などで帰ってくるのは21時以降という女子大生の方も多いですが、そんなハードスケジュールの方でも在宅チャットレディなら問題ありません。22時や23時頃から1、2時間程度配信をすれば、それでお金を稼げるからです。普通のコンビニなどのバイトでも、夜遅くから仕事

  • 実践的な Haskell の本 - あどけない話

    Perl6 は何年経っても正式にリリースされません。そんな Perl6 を Audrey Tang さんは、たったの数ヶ月で作りました。その実装は Pugs と呼ばれています。短期間の開発を可能にした秘密兵器は Haskell です。 その Audrey さんが、2006年に日で Haskell について説明してくれました(資料)。残念ながら、そのころの僕は Haskell に興味がなかったのでチュートリアルは受けていませんが、その概要にはこう書かれています。 コーナーケースを探すのにユニットテストを書くのに疲れた? QuickCheck を使ってコンピュータに書かせちゃいましょう。正規表現ベースのパーサはメンテナンスしにくいのに気づいた? Parsec を使って 15分で Perl6 の完全なパーサを書く方法を勉強しましょう。デッドロックやレースコンディションはもううんざり? STM

    実践的な Haskell の本 - あどけない話
  • Real World Haskell

    Why functional programming? Why Haskell? 1. Getting started 2. Types and functions 3. Defining types, streamlining functions 4. Functional programming 5. Writing a library: working with JSON data 6. Using typeclasses 7. Input and output 8. Efficient file processing, regular expressions, and file name matching 9. I/O case study: a library for searching the filesystem 10. Code case study: parsing a

  • http://www.mew.org/~kazu/material/2008-haskell.pdf

  • HaskellでRSA - あどけない話

    Haskell には Integer があるので、RSA の計算は簡単なのではと思い立ち、作ってみました。RSA の計算方法や、RSA129 を知らない人は、まず「はやわかりRSA」を読んでみましょう。 暗号化と復号化 x^exp (mod n) を高速に計算する関数を実装できれば、暗号化も復号化も簡単です。 rsaEncrypt :: Integer -> Integer -> Integer -> Integer rsaEncrypt e n plain = powerMod plain e n rsaDecrypt :: Integer -> Integer -> Integer -> Integer rsaDecrypt d n cipher = powerMod cipher d n powerMod x exp n = iter exp seq 1 where seq = it

    HaskellでRSA - あどけない話
  • 1