タグ

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

  • リストモナドの動作原理を考える - あどけない話

    Haskell のリスト内包表記はとっても便利です。あまり意味がないのですが、よく出される例は、こんな感じです。 [(x,y)|x<-[1,2],y<-[3,4,5]] → [(1,3),(1,4),(1,5),(2,3),(2,4),(2,5)] このように、このリスト内包表記は、あたかも二重のループであるかのように動きます。 リスト内包表記は、実は糖衣構文であり、do に直すと以下のようになります。 do x<-[1,2] y<-[3,4,5] return (x,y) → [(1,3),(1,4),(1,5),(2,3),(2,4),(2,5)] 僕は、この意味をずっと理解できませんでした。 "<-" は、モナドという箱の中から、中身を取り出します。たとえば、Just "str" から中身を取り出すと "str" となるように、Maybe モナドを理解するのは簡単です。 でも、リスト

    リストモナドの動作原理を考える - あどけない話
  • 関数の話をしよう(1/2)- @IT

    第2回 関数の話をしよう 山下 伸夫 株式会社タイムインターメディア 2008/11/28 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう(編集部) Haskellは関数プログラミングのための言語だというのだから、関数が出てこなくては話にならない。今回は、関数の話をしよう。 関数抽象と関数適用 前回、話した標準体重値を計算するパターンは、 (〈身長値〉 ^ 2 )*〈標準BMI〉 である。〈標準BMI〉は固定された値(22.0)だから、標準体重値は〈身長値〉が変わればそれに応じて変化する。標準体重値の計算は、 (〈?〉 ^ 2 )*〈標準BMI〉 の〈?〉の部分を具体的な身長の値で「置き換え」てやればいいということになる。〈?〉を一種の穴のようなものだと考えれば、そこへ値をはめ込めばよいわけである。 この計算パターンを、

  • 再帰とデータ型の話をしよう (1/3)- @IT

    第4回 再帰とデータ型の話をしよう 山下 伸夫 株式会社タイムインターメディア 2009/2/16 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう(編集部) まず、再帰の話をしよう。 といっても難しい話はできないのでしない。ここでは、再帰は問題のありさまを表現するための方法の1つだ思うことにする。 では具体的な問題を考えてみよう。 階乗を計算する関数 階乗を計算する関数を考えてみよう。

  • InfoQ: 現実世界のアプリケーションでHaskellを学習価値があるようにさせるもの

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    InfoQ: 現実世界のアプリケーションでHaskellを学習価値があるようにさせるもの
  • Inemuri nezumi diary(2009-01-19)

    _ 論文ファイブが書けない言い訳(skipはご自由に) 職場でも居室でも論文は読むのだが、分量が違いすぎる。職場で読むほうが圧倒的に多いのである。一日あたりをいうと、少ないときは0(ここは笑う場面です)、多いときはこれは例外的でちょうど70読んだ。 70ってのはおかしすぎで、実際読んだだけで一日を終えた。これは、詳しくはいえないが、「対象についていけがみがよくわかっていない論文」の査読を依頼されたときである。しかし、著者の主張の解決策は理解できたし、私が詳細に確かめるのも悪くはないかと感じたのだった。そこで、編集者に「私、その対象については、門外漢ですが、査読にあたって最大の努力はしますよ、それで不都合があれば査読者を下ろしてください」というようなやりとりがなされたあとで、査読した(実際、差読者は複数いて、対象の専門の方も査読をなさるということだった)。 で、査読論文の1次参考文献、2

  • 珠玉のリスト・プログラミング - あどけない話

    僕は Haskell を知るまで、再帰に関しては、もう学ぶべきことはないと思っていました。しかし、繰り返しさえ再帰で実現しなければならない純粋関数型言語に触れてはじめて、再帰の深淵を見た気分になりました。 以下、Programming in Haskell から 3 つ問題を出します。あなたには、実装できるでしょうか? 問題 以下の関数を実装しなさい。 与えられたリストのすべての部分リストを生成する関数 subs 第一引数を第二引数のリストへ挿入したすべてのリストを生成する関数 interleave 与えられたリストの順列を生成する関数 perms 言葉だけではよく分らないと思いますので、実行例を示します。 subs [1,2,3] → [[],[3],[2],[2,3],[1],[1,3],[1,2],[1,2,3]] interleave 1 [2,3,4] → [[1,2,3,4],

    珠玉のリスト・プログラミング - あどけない話
  • Haskell programming tips- 他人のHaskell日記 - haskell

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    Haskell programming tips- 他人のHaskell日記 - haskell
  • 最高のHaskell入門書 - あどけない話

    輪講で「Programming in Haskell」をようやく読み終えました。このは、最高のHaskell入門書といって間違いないでしょう。 Programming in Haskell 作者: Professor Graham Hutton出版社/メーカー: Cambridge University Press発売日: 2007/01/18メディア: ペーパーバック購入: 2人 クリック: 67回この商品を含むブログ (22件) を見る 一緒に Haskell のを何か読もうという話が、友達との間で出たとき、最初は「The Craft of Functional Programming」にしようかと思っていました。ただ、出版社の人から「Programming in Haskell」を勧められたことがあったので、二冊を友達に提示したところ、直感で「Programming in Has

    最高のHaskell入門書 - あどけない話
  • Haskellプログラミングチュートリアル

    Haskellは,次のような特徴をもった関数型言語です: 強力な型システム パラメータ多相のサポート 型クラスによるアドホック多相 非正格で純粋な関数型言語 関数は非正格 遅延評価:無限リストなどのデータ構造の扱いが容易 純粋:参照透明性が保存され,副作用がない モナドを用いたプログラミング 今回は,Haskellプログラムの基要素である関数と型について, 順を追って解説していきたいと思います. まずは,おおまかな字句構造から: コメントの書き方については,C, JavaやMLのそれと変わりません. それぞれの関数定義や宣言は,セミコロン ';' で区切られ,ブレース '{}' でグループ化されます. しかし,Haskellのレイアウトという構文により, セミコロンを省いた記述が可能です. いまのところ,行頭に文字があったらその行から新しい宣言 くらいに思っておけば大丈夫です.

  • Glasgow Haskell Compiler — The Glasgow Haskell Compiler

    Latest News 1 July 2024 GHC 9.6.6 Released! [download] 10 May 2024 GHC 9.10.1 Released! [download] 16 April 2024 GHC 9.6.5 Released! [download] What is GHC? GHC is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell. Highlights: GHC supports the entire Haskell 2010 language plus a wide variety of extensions. GHC has particularly good support for

  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro
  • 1