タグ

Haskellに関するainameのブックマーク (14)

  • 社内Haskellチュートリアルのススメ | GREE Engineering

    こんにちは。インフラストラクチャ部の竹辺(@beketa)です。 このエントリはGREE Advent Calendar 2013 12日目の記事です。 1. グリーでのHaskellプログラマ採用 Haskellを導入する企業が増えているようです。最近国内のメディアで紹介された事例だけでも Tsuru Capital様: http://itpro.nikkeibp.co.jp/article/Watcher/20131003/508622/ NTTデータ様: http://itpro.nikkeibp.co.jp/article/NEWS/20131126/520642/ の複数があり、すっかり実用的なプログラミングとして定着した感があります。 弊社でも2012年の中ごろから複数のプロジェクトでHaskellを使い始めており、昨年からは一部の商用サービスでもHaskellで開発したミド

    社内Haskellチュートリアルのススメ | GREE Engineering
    ainame
    ainame 2013/12/12
    “Haskell朝練 ”
  • Objective-Cでカリー化とか部分適用してみる | TOKOROM BLOG

    導入 会社でHaskell勉強会に参加して、カリー化とか部分適用のパートの輪読当番になったのだが、正直、輪読時点でもそれがなんなのかよくわかっていませんでした。 しかし、勉強会で参加者のみなさまに教えてもらった結果、カリー化とかがやっと理解できました! ということで嬉しくなって先日寝るときに布団の中で「Objective-Cでもできるかなー」と脳内コーディングしてみた結果を実装してみました。 もう他の人がやってるかもとか、こんなん実装しても実際のところ使わないよねとか、そんなことはまったく気にせずです。 実際やってみたソースコードは こちら に置いてあります。 ひとまずのゴール カリー化して部分適用ができる状態までということで、Haskellのmapが実現できるところまでを目標にしました。 map (+3) [1, 2, 3] これです。 Objective-Cでは当然、空白区切りで引数を

  • Haskell使いの高頻度取引の会社にお邪魔した

    先日、日経コンピュータ特集記事の取材で東京都内の某所にある「Tsuru Capital」という、高頻度取引(HFT、High-Frequency Trading)を手掛ける企業のオフィスにお邪魔した。 HFTというのは、プログラムによって株式などの金融商品を数ms(ミリ秒)から数μs(マイクロ秒)で高速に自動取引すること。自己資金で取引する「プロップファーム(proprietary trading firm)」と呼ばれる企業が中心で、米GETCO(2013年7月に米Knight Capitalと合併)などが有名だ。 HFTを行うプロップファームの多くは、米国など海外に拠点を置いており、Tsuru Capitalのように日国内に拠点を置く企業は珍しい。株式売買では、海外企業であっても国内の証券会社と契約し、自社の取引プログラムをその証券会社のサーバーに配置すれば日市場でのHFTは行える。

    Haskell使いの高頻度取引の会社にお邪魔した
    ainame
    ainame 2013/10/07
    すごい世界
  • モナドが解らない人へ、図解で絶対わかるモナドのしくみ - セカイノカタチ

    前置き みなさん、モナドって、わかりにくいですよね。 なので、図解することで解りやすく説明できるんじゃないかと、何回かモナドの図解を試みてきたのですが、むしろ複雑さが強調されてしまい残念な感じになってしまいました。 過去の図解 モナドってなんだよ!?全然わからないんで分解して図解してみた(´・ω・`) モナドの分解ふたたび ただ、以前よりモナドを表すメタファのイメージがあって、レゴブロックを組み合わせるようなカタチに例えてうまく説明できるんじゃないか。という予感がしていました。 そして、去年の年末ぐらいに、ついにそのカタチの具体的なアイディアを閃きました。 モナドを解りやすく図解する方法思い付いてるんだけど、絵心が足りなくて表現できない。モナドちゃんとかそう言うことではなく(´・ω・`) 2013-01-18 05:05:22 via ついっぷる for Android 今日、この記事を書

    ainame
    ainame 2013/06/25
    あとで読んでみる
  • Android - HaskellWiki

    This article is a stub. You can help by expanding it. Introduction Android is an operating system for mobile devices, based on Linux; software development is mainly done in Java. See the Wikipedia article for more information. How to develop Android software in Haskell There are two main approaches to writing Android applications. You can either use the Java Native Interface (JNI) or the Native De

  • 2004-07-30

    実は昨日の話題はこれから書こうとする話とつながりがあるのだ。 (直接的には無いけど) (序) 突然であるが、Haskellは文字列処理が強力だと思う。 それも最強レベルに。 他のいわゆる文字列処理が得意であるとされる言語のように 正規表現による置換が可能であるとか、文字列がオブジェクトで 有用なメソッドがたくさん使えるとかそういった 小手先のものではなくてもっと根的なレベルで強力なのである。 それはHaskellに於いて文字列が文字のリストであらわされていることに 起因する。わからない人から見ると文字列がリストであるということは Cにおいて文字列が配列で表されているのとかぶるかもしれない。 Haskellが文字列をリストとして持っていてうれしいというのは Haskellが全言語中でもほとんど最強のリスト操作能力を持っているからである。 Cで文字列が配列になっていても何もうれしくないのは、

    2004-07-30
  • 第3回 mapからモナドを理解する

    今回は「モナド(monad)」について説明します。モナドはHaskellの重要な特徴の一つなので,名前くらいは聞いたことがある人が多いでしょう。ただ,「モナドは難しい」という声もよく聞きます。 モナドとは一体なんでしょうか。前回,「HaskellはIOを取り扱うためにモナドと呼ばれる特別な仕組みを使用することで有名です」と書きました。Haskellは遅延評価を行うため,プログラマが処理の順番を確実に指定することができず,そのままでは入出力の処理には不向きです。モナドを使えば制御構造を導入できるため,この問題を解決できます。前回でいえば,(IO a -> IO a)にマッチする関数――finallyやprintThenAdd――を定義している部分がモナドに相当します。また,GHCiのプロンプトにもモナドが使われています。このように入出力操作を行うモナドの代表格が「IOモナド」です。ライブラリ

    第3回 mapからモナドを理解する
  • RubyでMabyeモナドを実装してみた。 - このブログは証明できない。

    最近、Haskellやってません。今日は、Scalaの基文法を読んでました。いいですね、Scala。いや、それよりHaskellを。モナド。モナド、意味わからん。理解しなくても使える気もしますが、それもなんだか気持ち悪い。モナドをある程度(圏論まで踏み込まず)理解するには、どうすればいいでしょうか。 Maybeモナド?それ、Rubyでできるよ。え、できるの?できるかな?やってみましょう。やりましょう。 失敗するかもしれない処理をうまいことやってくれるMaybeモナド。まず、Haskellで。サンプルコードは、「あどけない話」(Haskellと言えば!)から。 Haskell とモナド - あどけない話 db = [("alice", [("title", "Ms."), ("job", "sales")]), ("bob", [("title", "Mr."), ("job", "eng

  • HakyllとpandocとMighttpdでサイトを作った話 - 純粋関数空間

    このページについて ページのフッタに書いてあるので、お気付きの方もいらっしゃるかと思いますが、 このページは Hakyllと Pandocと Mighttpdにて運用されています。 完全なソースコードを https://github.com/tanakh/tanakh.jp から参照できます。 HakyllとはHaskellによる静的ページ生成ツールで、 Jekyllにインスパイアされて作られたものだそうです。 JekyllがRubyによって書かれ、Rubyによってページの構造を記述するのに対して、 HakyllはHaskellによって書かれ、Haskellによってページの構造を記述します。 Pandocとはいろいろなドキュメントフォーマットのコンバータです。 Haskellで書かれています。さすがにもうHTMLを手で書きたくはない、 かついろいろなブログの独自のフォーマットなんて覚えてい

  • CoffeeScriptがさらに拡張されたLiveScriptの紹介 - mizchi log

    2ヶ月ぐらい前にHackersNewsで見かけて、触ってみたらやたらかっこよかったので紹介。 LiveScript http://gkz.github.com/LiveScript/ LiveScriptはCoffeeScriptがさらに拡張された、JavaScriptにコンパイルされる系言語。 JavaScriptが最初に名付けられた名前「livescript」に立ち返って、関数型の特色が色濃い言語のようです。 OOPと関数型のマルチパラダイムという点でScalaなどに近いのかもしれません。型が弱いScalaで、見た目はHaskell。 インストール npm install -g livescriptより関数型っぽくしたい人のための prelude-lsと一緒に使うのが推奨されているそうです npm install prelude-ls追加されるメソッドについては以下を参照 prelud

    CoffeeScriptがさらに拡張されたLiveScriptの紹介 - mizchi log
  • すごい Haskell たのしく学ぼう!は本当にすごいのか? - ぐるぐる~

    すごいHaskellたのしく学ぼう! 作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行(ソフトカバー)購入: 19人 クリック: 552回この商品を含むブログ (36件) を見る 今話題の、すごい Haskell たのしく学ぼう!を読んだのですが、ちょっと思ったことがあるので書評と合わせて書いておきます。 思ったこと 関数型言語がこれほど話題になるのはとても嬉しいことです。 しかし、一方で懸念点もあります。 ノリで「すごい」とだけ言う人たちがいる その人たちに乗せられて (自分には合わないのに) 買ってしまって、挫折してしまう人が出てきそう このは、いいです。 翻訳の質も素晴らしく、読んでいて「読みにくいな」と思った部分はありません。 それに加え、訳注と Appendix も素晴らしい。 しかし、誰にで

    すごい Haskell たのしく学ぼう!は本当にすごいのか? - ぐるぐる~
  • YBlog - Haskell web programming

    update: updated for Yesod 1.2 tl;dr: A simple Yesod tutorial. Yesod is a Haskell web framework. You shouldn’t need to know Haskell. Its efficiency (see Snap Benchmark & Warp Benchmark1). Haskell is an order of magnitude faster than interpreted languages like Ruby and Python2. Haskell is a high level language that makes it harder to shoot yourself in the foot than C, C++ or Java, for example. One o

    ainame
    ainame 2012/05/17
    Haskell早い....
  • Amazon.co.jp: すごいHaskellたのしく学ぼう!: Miran Lipovača (著), 田中英行 (翻訳), 村主崇行 (翻訳): 本

    Amazon.co.jp: すごいHaskellたのしく学ぼう!: Miran Lipovača (著), 田中英行 (翻訳), 村主崇行 (翻訳): 本
  • モナドという言葉を使うことなく、純粋関数型言語の入出力を解説する。Rubyで。 - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥

    これはRuby Advent Calendarの21日目の記事です*1。20日目は@sasata299さんのHerokuって便利だし利用までたった3ステップですお!!でした。 はじめに 当は「Pure Rubyで動くかっこいい形態素解析エンジンができた!!!」みたいな記事を書く予定でしたが、目標のクオリティに達しなかったのでリリースは延期されました。 クリスマスごろにリリースされるといいですね。 さて、この記事では、Haskellのような純粋関数型言語がどのように副作用を伴う処理を実現しているかについて、Rubyによる実装を使って解説します。モナドという言葉が全く出てこないのでアレルギーのかたも安心ですね。 純粋関数とは 同じ引数を渡す限り、どのような順番で何度呼んでも同じ結果が返るような関数のことです。 何が問題なのか puts 'hello!' res1=gets puts 'hel

    モナドという言葉を使うことなく、純粋関数型言語の入出力を解説する。Rubyで。 - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥
  • 1