先日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
Introduction About this tutorial So what's Haskell? What you need to dive in Starting Out Ready, set, go! Baby's first functions An intro to lists Texas ranges I'm a list comprehension Tuples Types and Typeclasses Believe the type Type variables Typeclasses 101 Syntax in Functions Pattern matching Guards, guards! Where!? Let it be Case expressions Recursion Hello recursion! Maximum awesome A few m
誤訳 以前、「サーバサイドJavaScriptのNode.js、最初はCやHaskellを検討し失敗。開発者ライアン・ダール氏へのインタビュー」という記事が twitter で話題になっていました。 ―― なぜJavaScriptを選んだのでしょう? ダール氏 実は最初は違いました。最初はC、Lua、Haskellなどで失敗していました。そんなときV8(Chromeが採用しているJavaScriptエンジン)に気がついて、やろうとしていることに対してJavaScriptが完璧な言語だと突然ひらめいたのです。 ただでさえ、Haskell は遅いと誤解されているのに、このような悪意さえ感じらえる訳だと、さらに誤解が深まりそうです。原文にはこう書かれています。 Dahl: Originally I didn’t. I had several failed private projects doi
大学生にピッタリな新宿の在宅チャットレディ求人 大学生の方で、楽しい大学生活で必要になるお金をもっと確保したいという方は、新宿のチャットレディプロダクションで在宅チャットレディになってみるのもオススメです。在宅チャットレディ求人の魅力は、プロダクションからパソコンやマイクなどを借りて、自宅で配信環境を作って仕事を行います。プロダクションのチャットルームのような、充実した環境での配信ではありませんが、忙しい大学生の方でも、自宅で配信ができるので仕事がしやすいというメリットが出てきます。 日中は大学で講義を受け、夕方はサークルや友達との飲み会などで帰ってくるのは21時以降という女子大生の方も多いですが、そんなハードスケジュールの方でも在宅チャットレディなら問題ありません。22時や23時頃から1、2時間程度配信をすれば、それでお金を稼げるからです。普通のコンビニなどのバイトでも、夜遅くから仕事が
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
あとで書く. #include <iostream> template<int x, int y, int z> struct tarai; template<int x, int y, int z, bool f> struct tarai_ { enum { value = tarai< tarai<x - 1, y, z>::value, tarai<y - 1, z, x>::value, tarai<z - 1, x, y>::value >::value }; }; template<int x, int y, int z> struct tarai_<x, y, z, true> { enum { value = y }; }; template<int x, int y, int z> struct tarai { enum { value = tarai_<x, y, z
_ [haskell] Haskellのたらい回し関数をアセンブラで見てみる 今日の関数型言語勉強会での一幕。 ふつうのHaskellプログラミング ふつけるのp.121にあるたらい回し関数を アセンブラで見てみる。 -- tarai.hs main = print (tarai 20 10 5) tarai :: Int -> Int -> Int -> Int tarai x y z = if x <= y then y else tarai (tarai (x-1) y z) (tarai (y-1) z x) (tarai (z-1) x y) まずは普通にコンパイルして実行してみる。 $ time ghc tarai.hs -o tarai real 0m0.194s user 0m0.148s sys 0m0.043s $ time ./tarai 20 real 0m0.00
Introduction There is a common misconception that the purpose of writing Haskell programs is to instruct a machine to perform certain computations, and to report the results thereof. This myth is perpetrated by numerous lecture courses, books, websites and other media, which merely teach how to write programs with the desired functionality. In actual fact, to write a good Haskell program is to cre
Gauche > Archives > February 16, 2007 # nobsun # 話は換るけど。2chのHaskellスレ # at 4:57am (February 16) # http://pc10.2ch.net/test/read.cgi/tech/1162902266/ # at 4:58am (February 16) # 735あたりからのモナドの解説すばらしい。 なんか,読んでたら,世界は広いのー (日本だけど) という気がしてきたよ. Haskell とかまでくると,本当に数学科の方が情報系よりも強い気が.というか,物理学科でも,普通に情報系よりも計算機わかってる人はゴロゴロしてそうだしなぁ.やっぱり,体系化のレベルが全く違う.歴史の重みを感じる. だって,数学科の人よりも数学わかる素人とか,物理学科の人よりも物理わかる素人って (学部のレベルでさえ) ほ
Haskellの特徴 † Haskellのおもな特徴を列挙すると次のようになる。この手の言語に慣れていない人には意味の分からないところがあるかもしれないが、それは筆者が手を抜いて説明を省いているからなので、適当にスルーしてほしい。 代数的データ型と、パターン照合。 インデントを利用した簡潔な構文。 型推論つき静的型付け。 型推論と多重定義を両立する、型クラス。 純粋な(つまり、式に副作用がない)関数型であること。 第一級の動作による入出力。 ↑ 関数型言語って何 † Haskellは純粋関数型言語に分類される。関数型言語というのは、関数的プログラミングがしやすいような言語、という意味だ。では関数的プログラミングとは何というと、これは手続き的プログラミングと比較してみるのが良い。 現在主流の言語は、ほぼ全て手続き型言語だ。手続き的プログラミングでは、コンピュータに単純な命令を出すことができて
$Id: index.html,v 1.9 2006/06/01 16:35:13 aamine Exp $ [ 正誤表 | 書誌情報 | 詳細目次 ] [ SBCr | Amazon ] リスト処理・文字列処理の基礎からモナド、パーサコンビネータまで。 ふつうのプログラマに贈る関数型言語入門。 サポート情報 正誤表 GHC 6.4.2 のダウンロード [www.haskell.org] LazyLines のダウンロードとインストール サンプルコード (オンライン) サンプルコードのダウンロード (.zip) サンプルコードのダウンロード (.tar.gz) リファレンスマニュアル検索ツール href 質問や間違いの指摘などはメールで aamine AT loveruby.net (AT は @ に置き換え) までお願いします。 書誌情報 書名
情報科学なんでもセミナーの「Haskellがアセンブリになるまで」を聞いてきました。 話者の中村さんは 3 週間ほどで GHC のソースコードを読んだそうです。発表もしっかりしていて、とても B3 とは思えませんでした。あと聴衆に shelarcy さんとか shinh さんとか著名な人が来ててこれもすごかったです。僕が発表した頃の内輪だけのなんでもセミナーとはまるで別物です。 詳細は発表資料が公開されることを期待しつつ、印象に残ったことだけメモ。 GHC の実装では type checker が desugarer より先 (参考) 。先に desugar してしまうと型エラーの表示がしにくくなるからとか? 型クラスのディスパッチは Dictionary Passing Style というので行われているらしい。型クラスのメソッドはトランポリンみたいなもので、呼び出し側で関数の実体 (最
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く