タグ

haskellに関するnak2kのブックマーク (33)

  • 経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog

    今の会社に移って半年経ちました。めでたく試用期間終了です。といっても別に試用期間中に密かに首を切られるような事をしたとか、逆に試用期間が終わったからと言ってこれで定年までのうのうと働ける、という訳ではありません。未来は全く判りません。まあとにかく、一つ区切りがやってきました。 金融を知らないQuantsの仕事 私の職業の肩書きには Quantitatitatitatitative という単語がくっついて超カッコよさそう。普通は Quant というと、金融工学や統計数理に詳しい夜もブイブイいわしている超イケメン20代を想像しますが、私は金融とか全然知らないアラフォーお父さんです。それでも Quant です。お願いですから、私に何を買ったらいいかとか、聞かないでください。金融商品とか買った事ないし。というか、逆に教えて欲しいです。 私のチームは、当の Quant さん達が開発した、金融派生商

    経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blog
  • Haskellと副作用 - あどけない話

    よく、Haskellには副作用がないと言われるが、それは間違いだ。確かに、Haskell には状態の変化(あるいは再代入)という副作用はない。しかし、入出力という副作用はある。この記事では、Haskell の副作用に対して、命令型プログラマーにすっきりと理解できる説明を試みたいと思う。 間違った方向への第一歩 Haskell の副作用に関する典型的な説明は、こんな感じだ。 Haskell にはあらゆるレベルで副作用がない。そのため、遅延評価が可能になる。遅延評価では、コードが記述順に実行/評価されるとは限らないので、入出力と相性が悪い。そこで、IO モナドが導入されている。IO モナドのおかげで、入出力に関するコードは記述順に実行され、外界に作用できる。 この説明を聞いて理解しろという方が無理である。説明が苦しい最大の理由は、Haskell にはあらゆるレベルで副作用がないと、間違った一歩

    Haskellと副作用 - あどけない話
  • 遅延評価とIO - あどけない話

    僕は今、プログラマーとしての幸福感に満たされている。遅延評価を習得できたと思えるからだ。 遅延評価 なぜ関数プログラミングは重要かには、遅延評価の利点を以下のように説明している。 停止条件はループの体とは切離すことができ、強力なモジュール化が可能となる。 例として載っている「ニュートン-ラプソン法による平方根」は、若干難しいので、簡単な別例を示そう。Haskell には、第一引数の数だけ、第二引数を繰り返す関数 replicate がある。 > replicate 3 'a' → "aaa" これを普通に実装するとこうなる。 replicate 0 c = [] replicate n c = c : replicate (n-1) c Haskell 以外で実装する場合、きっとループを使うだろう。ただ、ここでは再帰かループかは問題ではない。 問題は、「結果を作る仕事」と「終了条件を判断

    遅延評価とIO - あどけない話
  • Haskellには副作用がないのか? - あどけない話

    ある人は、Haskell には副作用がないと言う。また、別のある人は Haskell には副作用があると言う。Haskell を学ぶ者にとって、こういった意見のい違いが、Haskell を得体の知れない言語にし、学習の障壁となっているかもしれない。そこで、この記事では、なぜこのような意見の相違が生まれるのかについて説明したいと思う。 向心力か遠心力か? 僕は高校三年になって受験勉強をするまで、物理の運動方程式が得体の知れないものに思えていた。 例として円運動を考えよう。ある説明では、円運動をしている物体には向心力が働いていると説明されている。また別の説明では、遠心力が働くと説明されている。一体、どういうことだろう? 受験勉強でたくさんの問題を解いて、ようやく分かった。これらの説明はどちらも正しい。すなわち、観測者がどこにいるかによって、説明の仕方が異なるのだと。 観測者が円運動をする物体

    Haskellには副作用がないのか? - あどけない話
  • のんびりHaskell - @IT

    プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る VBAにおけるFileDial

  • 実践的な 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

  • Haskell のリストと遅延評価が少し分かった - IT戦記

    いろいろ試行錯誤をしていて JavaScript の関数を作って呼び出すのと Haskell のそれとの決定的な違いを見つけた。 それは、たぶんものすっごい単純で当たり前なことだけど、これが分かったとたんに僕の周りのピースが一気に繋がったので、恥をしのんで書く。 僕は以下のように脳内変換していて Haskell a = 1 iszero i = if (i == 0) then True else False Javascript a = function() { return 1 } iszero = function(i) { return i()/*評価は関数呼出し*/ == 0 ? True : False } // True False はこう True = function() { return true } False = function() { return false

    Haskell のリストと遅延評価が少し分かった - IT戦記
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • SICP | Haskell | OSS-Web

    Chat (Lingr.com) Informaiton コンセプト 注意事項 About Us メーリングリスト コメントの入力方法 RSSの配信 Daily 今日の一行(2008-11-05) Column MySQL語の旅(5/1) アクセス向上秘伝(5/9) 一風変ったHaskellλ門(6/13) SICP Answer Book (5/31) 問題3.26追加 Zope Solution Zope3 幕の内 Zopeとは なぜZopeなのか Extra JavaCube 電気の使えるカフェ情報(1/8) アーカイブ Project Looking Glass XPで楽しい人生を OSS案内所 書籍の紹介 技術者のブックマーク 読書会、勉強会 Site Info Recent Changes アクセス統計情報 関連リンク 一風変った Haskell プログラミングλ門 最近注

  • 仙石浩明の日記: Haskell

    遅ればせながら Haskell で遊んでいます。 KLab の技術者の中にも、手続き型言語の世界に どっぷりつかっていて他の世界を知らない人は いるので、 tech ML (技術者向の KLab 社内メーリングリスト) で Haskell の紹介をしてみました。 Subject: [tech:8480] Haskell 仙石です。 唐突ですが、Haskell って知ってますか? 私は面接した人に教えてもらった ;) のですが、最近流行りの関数型言語です。 ブログを見てると、あちこちで話題になっていますね。 入門用のページ: やさしい Haskell 入門 (バージョン98) http://www.sampou.org/haskell/tutorial-j/index.html 「やさしい」と書いてますが、関数型言語を初めて学ぼうとする人には敷居が 高いかも知れません。まずは簡単な Hask

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • artima - If It's Not Nailed Down, Steal It

    There's a whole world of language features that we sometimes miss out on as Rubyists, such as pattern matching, S-expressions, and external domain-specific languages. But the good news is that we can have them, too, as long as we're not afraid to steal a few things first. Theft #1: Pattern Matching Pattern matching is a relatively rare language feature found in Standard ML, OCaml0, Haskell, Common

    nak2k
    nak2k 2006/06/01
    rubyでhaskellのようなパターンマッチングによる関数定義とS式を扱えるようにし、それらによってDSLを定義する。
  • 不思議なISBN-[結] 2006年5月 - 結城浩の日記

    目次 2006年5月31日 - 作業ログを書くために大切な、たった一つのこと / 2006年5月30日 - プログラミング言語の勉強日記 / 2006年5月28日 - 今日の一日 / 2006年5月24日 - 多忙 / 2006年5月22日 - 新連載「簡単実装で学ぶWeb技術2006」 / 誤植 / 2006年5月20日 - 失敗 / 2006年5月19日 - 掲示板spam / 2006年5月18日 - 誤植 / 2006年5月17日 - JSON::Hatchet / 2006年5月16日 - CGIでブラウザのキャッシュを無効にする / 2006年5月15日 - 仕事 / 2006年5月12日 - タイプタイプ / 2006年5月11日 - 仕事 / 2006年5月10日 - タイプしながら考える / 2006年5月8日 - 書きながら考える / 2006年5月5日 - 数学姉 /

  • Visual Haskell

    Visual Haskell is a complete development environment for Haskell software, based on Microsoft's Visual Studio platform. Visual Haskell integrates with the Visual Studio editor to provide interactive features to aid Haskell development, and it enables the construction of projects consisting of multiple Haskell modules, using the Cabal building/packaging infrastructure. Visual Haskell is a complete

    nak2k
    nak2k 2006/05/11
    HaskellをVisualStudio上で使えるようにする
  • Programming in Haskell

    Programming in Haskell ページへようこそ このサイトについて このサイトは、Haskell でプログラミングを楽しむためのサイトです。 現在のところ、WiLiKi というWiKiシステムで運用されています。WiLiKiの使い方は、 WiLiKi:WiLiKi:リファレンスマニュアルを参照してください。 メイリングリスト 「Haskellプログラミングを楽しむための」メーリングリストがあります. MailingListのページをご覧ください. チャット 「Haskellプログラミングを楽しむための」チャット・ルームがいくつか存在します. ChatRoomのページをご覧ください. サイトマップ Introduction Haskell とは Definition 仕様と標準ライブラリ Tutorial チュートリアル やさしいHaskell入門 モナドのすべて なぜ関数プ

  • All About Monads モナドのすべて

    モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基

  • 思いて学ばざれば則ち殆うし - sumiiのブログ

    あるところに同じようなことを(ほとんど成り行きで)書いたのですが、重要な問題のような気がしてきたので、こっちにも書いてみる。 一般に、関数型言語やプログラミング言語(および計算機科学、ないし任意の専門)についての情報は、 一般書・一般誌、Webやメーリングリストやブログ 教科書・専門書 論文 口頭での議論(学会発表や質疑応答、グループのミーティング、部屋での会話) などで交換されます。 で、一般に情報の「ディープさ」は上から下へ行くほど濃くなると思うのです(少なくとも僕の専門分野ではそう)。そのごく一部である1.だけ(しかも日語onlyで)「勉強」していろいろと議論するのは、(何もしないよりは良いのかもしれませんが)非常に危険です。その危険をちゃんと意識していればno problemですが。「高速道路」の話と同じことかも。 たとえば、日のネット(?)では今になって妙に持ち上げられている

    思いて学ばざれば則ち殆うし - sumiiのブログ
    nak2k
    nak2k 2006/04/19
    コメント欄も必読。関数型言語の研究について動向など。
  • Haskellで一番難しいのは : 404 Blog Not Found

    2006年04月08日14:28 カテゴリ書評/画評/品評Lightweight Languages Haskellで一番難しいのは 門に入ることではないか。なにせこの門はモナドで出来ているのだから(苦笑) 入門Haskell 向井 淳 これは「難しそうな」モノであれば難だってそうなのだが、特にHaskellの場合はそれが言える。それだけに、入門書は重要であり、日語によるそれが出たのをまずは讃えたい。 しかし、入門書は、ある意味最も難しい。「難しい事を簡単に」という事が最も強く求められるからだ。しかも、それだけではまだ入門書として充分ではない。そもそも門の中に入ってこさせる気を読者に起こさせなければならないからだ。難しいことを簡単、かつ楽しくやらないと駄目なのだ。 その意味で、書の入門書としての出来なのだが、K&Rやリャマや「楽しいRuby」あたりと比較すると、やはりものすごく見劣り

    Haskellで一番難しいのは : 404 Blog Not Found
  • Amazon.co.jp: 入門Haskell: はじめて学ぶ関数型言語: 向井淳: 本

    Amazon.co.jp: 入門Haskell: はじめて学ぶ関数型言語: 向井淳: 本