タグ

haskellに関するaiamのブックマーク (31)

  • Best Haskell

    This site provided by apiary web framework. source code on github

    aiam
    aiam 2014/09/18
  • オブジェクト指向 v.s. 関数型プログラミング

    近年、関数型プログラミングの重要性はいろんなところで叫ばれています。 Javaの最新バージョンに関数型プログラミングに関する新機能が加わりました。 Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています。 プログラミングの教科書の大手、オライリー社から、Javascriptで関数型プログラミングを行うための解説書が発行されました。 関数型プログラミングへの注目度は高まってきています。 おそらく、みなさんは既にオブジェクト指向が何か、を知っています。 でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います。 実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、 関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。 この記事を読む方の中で、「関

    オブジェクト指向 v.s. 関数型プログラミング
    aiam
    aiam 2014/04/11
    いつか全部の言語が透過的に使える日が来ますように
  • I/Oストリーミングライブラリの実装の基礎 - 前編 - Pixel Pedals of Tomakomai

    conduitやpipesなどのストリーミングライブラリの実装は結構わかりにくい。Pipes to Conduitsという一連のエントリが分かりやすい解説なのだが、それでも序盤からFunctorやFreeモナドを駆使していてハードルが高めな印象を受ける。 理解するには自分で実装するのが一番の近道だろうから、このエントリでごく簡単なストリーミングライブラリを実装してみよう。ストリーミングライブラリではI/Oを扱うのが目的であるため、来であればモナドを扱えるように実装しなければ意味がないのだが、ストリーミングの基的な仕組みとしてはモナドは重要ではないので、ここでは純粋な値のみを扱うストリームを作成する。 ストリームを表す型 ここが一番重要かつわかりにくい部分だと思われる。今回の実装では、「入力」「出力」「結果」の3つの型をストリームで利用する。が、「出力」と「結果」の違いとはいったいなんな

    I/Oストリーミングライブラリの実装の基礎 - 前編 - Pixel Pedals of Tomakomai
    aiam
    aiam 2013/11/01
  • 48時間でSchemeを書こう - Wikibooks

    Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch

    aiam
    aiam 2013/07/01
  • Reddit - Dive into anything

    The Haskell programming language community. Daily news and info about all things Haskell related: practical stuff, theory, types, libraries, jobs, patches, releases, events and conferences and more...

    Reddit - Dive into anything
    aiam
    aiam 2013/07/01
  • 純粋関数空間 Hideyuki Tanaka

    ここは田中英行(Hideyuki Tanaka, a.k.a tanakh)の個人ページです。 Recent Posts Run Rust code on PEZY-SC processor - December 20, 2016 RustのコードをPEZY-SCというプロセッサーで動かしてみる PEZY Computing 求人情報 - January 20, 2016 第12羽「転職は僕の決定的瞬間」 - December 25, 2015 ごちうさ Advent Calendar 2015 友利奈緒とコミュニケーションするアプリ - December 20, 2015 友利奈緒 Advent Calendar 就職しました - July 12, 2015 就職しました …or you can find more in the archives. Copyright (c) 2011-

    aiam
    aiam 2012/11/12
  • Clojure すごい Haskell たのしく学ぼう! (1) はじめの一歩 - tnoda-clojure

    関数プログラミングについては良い教科書がたくさん出ていますが, 残念ながら OCaml か Haskell で書かれたものが目につくばかりで, Clojure でサンプルコードが示されたものを私は見たことがありません. 関数プログラミングを勉強しようと思うと, これらどちらかのプログラミング言語を修得しないといけなくなるわけですが, ちょうど, すごい Haskell たのしく学ぼう が発売されたので,Haskell を勉強してみることにします. ただし,を買うお金が無いのでオリジナル Web サイト, Learn You a Haskell for Great Good! を読みすすめることにします. 訳は見たことがないのですが,きっと,どちらを読んでも同じでしょう. このシリーズでは,Miran Lipovača 著 Learn You a Haskell for Great Go

    Clojure すごい Haskell たのしく学ぼう! (1) はじめの一歩 - tnoda-clojure
    aiam
    aiam 2012/11/09
    素晴らしい!チートシート!
  • HaskellでJSON Web APIを作ると幸せになれるかもよ - Fujimura

    先日Yesod勉強会第2回でHaskellでJSON Web APIを作る話しをしました。 内容的には下記のような感じです。 Web開発はクライアントサイドの技術が発達して、Web APIを作る機会が多くなった最近のフロントエンドは難しいし、分業したほうがいいっぽいYesodは独自技術&フルスタックすぎて分業辛いではscotty + persistent + aesonでJSON Web API作ろうぞなんか想像以上の相性の良さ。幸せになれそうなイキフンがビシビシ来てる発表資料はこちら。 ちなみにscottyはsinatraみたいな奴、aesonはJSONライブラリ、persistentはORマッパーです。 何しろaeson + persistentの相性がバッチリでした。発表後に@thimuraさんが見つけた じつは persistent のスキーマ定義で、テーブル名の横に js

    HaskellでJSON Web APIを作ると幸せになれるかもよ - Fujimura
  • fay-lang.org

    This domain may be for sale!

    aiam
    aiam 2012/09/20
  • Create a static Haskell Linux executable

    It's not often two things I love so much come together to cause me so much annoyance (besides my kids). I've written a Haskell program at work that uses libraries like text, xml-enumerator, attoparsec-text, etc. I have it working properly on my Windows machine at work, my Ubuntu virtual machine at work (32-bit), my Ubuntu desktop (32-bit again) and an EC2 instance running Ubuntu (64-bit). Our clie

    Create a static Haskell Linux executable
    aiam
    aiam 2012/08/22
  • 「第3回 スタートHaskell2」ツイートまとめ

    2012/8/19(日)の「第3回 スタートHaskell2」ツイート纏めです。参加者さんは、どなたでも編集いただいて構いません。

    「第3回 スタートHaskell2」ツイートまとめ
    aiam
    aiam 2012/08/20
  • HaskellでOpenCLを使ってみる その2

    Control.Parallel.OpenCLを使う 今回はその2。 Control.Parallel.OpenCLには通常のOpenCLと同じく OpenCLのカーネル関数をビルドすることや、 ホストコードの実行などをHaskellから呼び出せるようになっています。 Control.Parallel.OpenCLのGithub:https://github.com/zhensydow/opencl にexampleがあるのでそれを見ていけば基的には問題はないです。 しかしこのライブラリ、単にラップしているだけなので便利なユーティリティ関数は用意されていません。 という事で、少し手を加えた実行例を示します。 Haskellでは型情報が大いに情報を持っているのでそれを参考にしながら書いていきます。 OpenCLではカーネル関数を読み込んでデバイスドライバ側でビルドを走らせます。 そのカーネ

    HaskellでOpenCLを使ってみる その2
    aiam
    aiam 2012/08/17
  • Joining forces to advance Haskell

    Yesod is a Haskell web framework for productive development of type-safe, RESTful, high performance web applications. August 13, 2012By Michael SnoymanView source on Github When I started working on Yesod (almost four years ago now!), my objective was simple. I strongly believed that Haskell was the best language out there for general development, and wanted to have a full set of tools both for ge

    aiam
    aiam 2012/08/14
    無茶しやがって
  • モナドを理解しにくい理由 - セカイノカタチ

    先日モナドを悟った、id:qtamakiです。(´・ω・`) Haskellの勉強を始めて、ほぼ一年が経ちました。 最近になってようやっと、モナドが何なのか把握してきた気がするのですが、ここまで理解するのにだいぶ時間がかかってしまいました。 そこで、現時点での理解を振り返ってみて、どうしてこんなに時間がかかってしまったのか、自分なりに考えてみました。 そもそも、CのポインターやJavaのオブジェクト指向など、コンピューティングやプログラミングパラダイムの根幹を担う概念を理解するのはとても大変ですよね。 思い返すと、始めてこれらの概念に触れた当時、そうとう頭の筋肉を疲労して時間もかかった記憶があります。 Cのポインターは1年ぐらい。オブジェクト指向に至っては、概念の理解に1年、実践で使いこなせるようになるのに3年ぐらいかかったと思います。 関数型言語に関しては、やはりモナドの概念が難しいとさ

    モナドを理解しにくい理由 - セカイノカタチ
    aiam
    aiam 2012/08/11
  • Wiki設置するならgitit!

    ソースコードはこっち https://gitorious.org/masterq-docs/masterq-docs/trees/master/presentations/20110528_qpstudyRead less

    Wiki設置するならgitit!
  • 高速WebサーバMighttpdのアーキテクチャ | IIJの技術 | インターネットイニシアティブ(IIJ)

    IIJ-II技術研究所では、2009年の秋からMighttpd(mightyと読む)というWebサーバの開発を始め、オープンソースとして公開しています。この実装を通じて、マルチコアの性能を引き出しつつ、コードの簡潔性を保てるアーキテクチャにたどり着きました。ここでは、各アーキテクチャについて順を追って説明します。 ネイティブ・スレッド 伝統的なサーバは、スレッド・プログラミングという手法を用いています。このアーキテクチャでは、1つのコネクションを1つのプロセスかネイティブ・スレッドが処理します。 このアーキテクチャは、プロセスやネイティブ・スレッドを生成する方法で細分化できます。「プール」方式では、あらかじめ複数を起動しておきます。例としては、Apacheのpreforkというモードが挙げられます。「都度」方式では、コネクションを受け取るたびに生成します。このアーキテクチャの利点は、制御を

    高速WebサーバMighttpdのアーキテクチャ | IIJの技術 | インターネットイニシアティブ(IIJ)
    aiam
    aiam 2012/05/29
  • Blank Canvas | Functional Programming Group at KU

    blank-canvas is a Haskell port of the HTML5 Canvas API. Tutorials and examples for the HTML5 Canvas should be trivial to port to this library. blank-canvas works by providing a web service that displays the users' Haskell commands inside a browser. Example Compile the program on the left, access http://localhost:3000/, see the picture on the right. import Graphics.Blank main = blankCanvas 3000 $ \

  • Haskellの関数の適用や合成をどうイメージしていますか? - Qiita

    プログラミングHaskellなどを読んで、小さなコードは頭では分かるようになったのですが、大きなコードを読んだり自分で設計する際に、どのように関数の適用や合成などをイメージしたり図として表したらいいか分からず悩んでおります。 具体的には、f(x,y,z) = z*(x+y) という関数が表現したい場合、 (*) :: Num a => a->a->a (+) :: Num a => a->a->a f1 x y z = z * (x + y) f2 x y = (*) $ (+) x y f3 x = (*) . (+) x

    Haskellの関数の適用や合成をどうイメージしていますか? - Qiita
    aiam
    aiam 2012/02/10
  • 本物のプログラマはHaskellを使う:ITpro

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

    本物のプログラマはHaskellを使う:ITpro
    aiam
    aiam 2012/01/22
  • フロントページ - DarcsWiki

    with cabal: cabal install darcs with stack: stack install darcs Darcs binaries for many platforms (not up to date though) current release source tarball Darcs is a free and open source, cross-platform version control system, like git, mercurial or svn but with a very different approach: focus on changes rather than snapshots. Darcs offers a freer way of working, and a simpler user interface. Darcs

    aiam
    aiam 2012/01/22