タグ

haskellに関するkenichiiceのブックマーク (10)

  • JavaでMonadをはじめからていねいに :: Igreque -> Info

    JavaでMonadをはじめからていねいに by Yuji Yamamoto on August 28, 2016 「モナドについてSwiftで説明してみた」という記事などで指摘されているように、プログラマー向けにMonadを説明した記事はサンプルがHaskellで書かれていることが多いので辛いですよね。 HaskellではMonadは「ないと文字通りプログラムが書けないぐらい」大事なもので、入出力処理や例外処理、ダイナミックスコープのシミュレーション、非決定計算など、普通の関数では難しい、非常に様々な機能の実装に使用されています。 その一方、MonadはC言語のポインターに並んでHaskellを学ぶ上での障害である、なんて言われたりもするとおり、他言語ユーザーからHaskellを敬遠させる大きな要因の一つともなっています。 そんな悲しい現状を少しでも改善するために、上記の記事を参考にしつ

    kenichiice
    kenichiice 2016/10/25
    「Java (Java 8以降の知識を前提とします)でMonadを定義して説明してみたいと思います 」
  • Haskell Relational Record をリリースしました - あどけない話

    Haskell Relational Record (HRR)尻叩き担当の山です。この記事では、HRR のリリースについて説明します。 なお、これは Haskell Advent Calendar 2014 の25日目の記事です。 HRR とは何か? HRRは、日比野さんが中心となって開発が進められている関係代数ライブラリです。Haskellで式を書くと、それがSQL文に変換され、データベースに問い合わせた結果が Haskell のレコードになります。以下のような特長があります。 抽象的:高レベルな式で表現すると、SQLが生成されます。対応している SQLサーバは、DB2、ProsgreSQLSQLiteMySQLMicroSoft SQL Server および OracleSQL です。 型安全:HRRの式を書いたHaskellのコードがコンパイルできれば、必ず正しいSQL文が生

    Haskell Relational Record をリリースしました - あどけない話
  • Haskellでデザインレシピ - あどけない話

    お茶の水女子大学 理学部 情報科学科 准教授 浅井健一さんインタビューを読んで、思い出しだので書いておきます。 デザインレシピを使ったプログラミングを実践するなら Haskell が最適です。以下に簡単な例を示します。 目的 作成するプログラムが何をするのかを考える。何を受け取り何を返すのかを特定し、それをもとにプログラムのヘッダを作成する。 例として、数字の文字列を取り整数を返す関数 stringToInt を考えましょう。まず、関数の型注釈を書いて、体を undefined にしておきます。 module Foo where -- | Converting 'String' to 'Int. stringToInt :: String -> Int stringToInt = undefined コンパイルが通ることを確認しましょう。 例 プログラムの動きをより明確かつ具体的にするた

    Haskellでデザインレシピ - あどけない話
  • [翻訳] Haskellで生産的になる(Pythonから移行して) - Qiita

    Matthew Griffithさんのブログ記事 MECHANICAL ELEPHANT - Becoming Productive in Haskell comming from Pythonの翻訳です。そういえばProductive ProgrammerってにもHaskellを使って実証実験する話が出てました。Haskellは何度も勉強しようとして途中で止まっては忘れを繰り返しているので見習いたいと思います。 最近になってようやく私は生産性を高められるぐらいHaskellに熟達してきました。そこでHaskellを学習してきた経験について、それらを忘れてしまう前に私の考えを書き留めておこうと思います。今や私はWebプロトタイピングのほとんどをHaskellで行っています。まだ普段はPythonを使い、また楽しんでいるにも関わらず、です。 Data First(データが第一) これは動的

    [翻訳] Haskellで生産的になる(Pythonから移行して) - Qiita
    kenichiice
    kenichiice 2015/05/08
    「この「データが第一」という考え方は私のコーディングをよりよいものにしました。Pythonに戻った時においてもそうです。」
  • 定理証明系 Haskell

    この記事は Haskell Advent Calendar 2013 および Theorem Prover Advent Calendar 2013 二十日目の記事であり、更にTCUGの新刊「Coqによる定理証明」の販促記事でもある。 型システム再考 Haskell は静的型付き言語だ。それだけでなく、強力な型推論や表現力の高い型システムを備えている。 型とは何だろうか。 こうした質問に対してよくある答えは、「値の種類を区別するためのタグ」になるだろうか。Int型は整数だし、Bool型は真偽値で、[Int]型は整数値リストを表す型だ。なるほど、値の種類を区別するものに見える。 しかし、この答えは間違ってはいないが、もっと相応しい云い方が出来るだろう。それは、「型は不変条件である」というものだ1。この言明は別に私固有の見方というわけではなく、ある程度の型レベルプログラミングをやった事のある人

    定理証明系 Haskell
  • Haskell使ってみた | GREE Engineering

    こんにちは。インフラストラクチャ部の池原です。 このエントリはGREE Advent Calendar 2013 13日目の記事です。 グリーではミドルウェアの開発にHaskellを用いています。日は、C/C++Javaの経験はあるがHaskellは初めてだった私が、Haskellをミドルウェア開発に導入した際に戸惑った事をいくつかご紹介します。 私がHaskellを使い始めたのは1年半ほど前です。最初はOCamlに興味を持っていたのですが、すでに社内で利用者がいたこともあり、諸般の事情からHaskellを選択することにしました。 Haskellに対する私の第一印象はこのような感じでしょうか。 型システムが強力なので、つまらないバグでサービスを止める事態を避けられる。 他の関数型言語と比べて読みやすい(カッコをあまりつかわなくてもよい)。 Posix関連のライブラリが充実しており、シ

    Haskell使ってみた | GREE Engineering
  • Haskellの単体テスト最前線 kazu-yamamoto/unit-test-example · GitHub

    #Haskellの単体テスト最前線 [To English] これはHaskell Advent Calendar 2012の5日目の記事です。 Haskellで作成したパッケージに対して、単体テストを書くための最新情報をお届けします。以下の記事では、Haskell Platform 2014.2.0.0 以降を使うことを前提とします。 ##要約 要点は4つです。 利用者に見せたい振る舞いは、doctest で書く 利用者に見せたくない振る舞いは、hspec で書く テストを自動化するフレームワークとしては Cabal を使う doctest でも hspec でも、純粋なコードに対しては、できるだけ QuickCheck などの性質テストを書く この記事で一番伝えたいのは、3) です。例題としては、Base64 という符号化を取り上げます。Base64 は知っていると仮定して話を進めます

    Haskellの単体テスト最前線 kazu-yamamoto/unit-test-example · GitHub
  • Haskellの単体テスト最前線 - あどけない話

    この記事の最新版は、githubで管理されています。 これはHaskell Advent Calendar 2012の5日目の記事です。 Haskellで作成したパッケージに対して、単体テストを書くための最新情報をお届けします。 要約 要点は4つです。 利用者に見せたい振る舞いは、doctest で書く 利用者に見せたくない振る舞いは、hspec で書く テストを自動化するフレームワークとしては Cabal を使う doctest でも hspec でも、純粋なコードに対しては、できるだけ QuickCheck などの性質テストを書く この記事で一番伝えたいのは、3) です。例題としては、Base64 という符号化を取り上げます。Base64 は知っていると仮定して話を進めますので、知らない人はあらかじめ Wikipedia の Base64 の説明でも読んで下さい。 この記事で利用するコ

    Haskellの単体テスト最前線 - あどけない話
  • モナドの驚異 | matarillo.com

    2019-03-22 07:06:19 Wes DyerのBlog “Yet Another Language Geek”に、モナドに関する記事が投稿されていたので、訳してみる。 (追記)Mike Hadlowのブログ記事も、ほぼ同じような内容を扱っている。 モナドの驚異 原文 「継続」という単語を聞くと目がどんより曇ってしまうとするなら、「モナド」という単語を聞けば心が麻痺してしまうことになるでしょう。だからこそ、モナドに対してもっと聞こえのいい呼び方を考えようとしている人がいるのでしょう。たぶん。 最近、プログラミング言語理論においてモナドは有名人です。モナドはいくつものブログの表紙を飾り、さまざまなものと比較されていました。果物箱から果ては恋愛まで。モナドを理解する経験によって、痛 気持ちいい 心地 になるんだ、と、オタクたちは至る所で叫んでいます。 継続と同じように、モナドは噂に聞

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

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

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