タグ

haskellに関するducky19999のブックマーク (23)

  • C++の入門書を書くためにHaskellを学ぶことにした

    C++17の参考書、江添亮の詳説C++17はすでに書き上げて、来年の出版を待つばかりになっている。 https://github.com/EzoeRyou/cpp17book 次に書くC++の入門書にしようと思っているが、入門書を書く前に、少し時間をかけてHaskellを学ぼうと思っている。 なぜHaskellを学ぶのか。Pandocのためだ。 Pandoc 私のは、Markdownで書いてPandocで各種フォーマットに変換している。アスキードワンゴでは、Pandocを使ってlatexに変換した上で、手作業で出力されたlatexを編集して組版している。つまり、私の参考書の執筆はPandocに支えられていると言ってよい。 さて、アスキードワンゴ編集部(ドワンゴ)は私がを出版契約している出版社であり、かつ私が雇用契約している会社でもある。アスキードワンゴの編集者は私の編集者であり同僚

  • oreilly.com

    More than 5,000 organizations count on our digital courses and more to help their teams learn the tools and technologies that drive business outcomes. We can help yours too. New AI policy for O’Reilly authors and talent O’Reilly president Laura Baldwin shares the company’s ethical approach to leveraging GenAI tools and ensuring O’Reilly experts are compensated for their work. Read it now It’s time

    oreilly.com
  • Home · Simon Marlow

    Rethinking Static Reference Tables in GHC - June 22, 2018 Fixing 17 space leaks in GHCi, and keeping them fixed - June 20, 2018 Hotswapping Haskell - October 17, 2017 Asynchronous Exceptions in Practice - January 24, 2017 Haskell in the Datacentre - December 8, 2016 Haskell positions at Facebook - August 24, 2016 Stack traces in GHCi, coming in GHC 8.0.1 - February 12, 2016 Fun With Haxl (Part 1)

  • なぜHaskellを学ぶと良いか - Qiita

    なぜこれを書くのか 私がQiitaに投稿した記事を見た方から、メールが届きました。 プログラミング言語のHaskellを勉強し始めたものの、難しくてやめようかと考えているそうです。 その気持ちも非常によく分かります。 すごいHが出版されてから年月も経ち、それなりに勉強しやすくなったとはいえ、お世辞にもHaskellを学ぶ環境が整っているとは言えません。 私はHaskellで製品開発をする会社を保守運用していたことがあり、また自分自身もHaskellでプログラムを書いています。 また、Haskellを普及させるべく、「こわくないHaskell入門」という記事を書いたこともあります。 これらの経験を踏まえ、この機会にあらためて「なぜHaskellを学ぶと良いか」についてまとめたいと思い立ちました。 Haskellについてまだよく知らない方が、入り口として読める内容を目的としているので、できる

    なぜHaskellを学ぶと良いか - Qiita
  • 翻訳:Haskellと過ごした4年間〜ファウンダーの観点から〜 - Qiita

    BetterというEラーニングの会社をやっていたCarl Baatzさん表題のような記事を書いていて、とても有益だと思ったので訳してみました。 だいたい逐語訳ですがところどころ意訳したり端折ったりしてます。プロの翻訳家ではないので間違いもあるかと思います。ご了承ください。不安なところは原文をご参照頂ければと。自信ないところは括弧に原文を残しているので、よい訳があれば編集リクエストお願いします。あと脚注も Thank you Carl for sharing great experince and knowledge! 原文: A founder's perspective on 4 years with Haskell http://baatz.io/posts/haskell-in-a-startup/ [追記] InfoQでもこの記事が取り上げられていました。 製品開発においてHask

    翻訳:Haskellと過ごした4年間〜ファウンダーの観点から〜 - Qiita
  • Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ

    最近の趣味は「Haskellはいいぞ」と呟くかTwitter Search: Haskellを巡回して を押して回ることです 毎日巡回しているとHaskellに入門しようとするも細かいところに引っかかって前に進めないでいる人をちらほら見かけます。今回はそんな見回りの知見を活かしてHaskell初心者が躓きやすいポイントをまとめてみたいと思います。 1. 入門書は何がいいの? それはもうすごいH一択でしょう!…と言いたいところですが時々不満の声を聞くこともあります。確かにすごいHこと『すごいHaskellたのしく学ぼう!』は世界一わかりやすいHaskell入門書であることは間違いないと思いますが、逆に内容が平易すぎるため記述が冗長だと感じたり読み終わっても何か自分で作れるようになった気がしなかったりするかもしれません。なので僕は「プログラミングも初心者でHaskellから入門してみたい」

    Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ
  • Haskell IOモナド 超入門 - Qiita

    Haskellではモナドと呼ばれる部品を組み合わせてプログラムを作ります。今までアクションとして取り扱っていたのはIOモナドというモナドの一種です。IOモナドの仕組みを調べることで、IOモナドを組み合わせることの具体的なイメージを説明します。モナドについての一般論へ進む前の準備を目的としているため、IO以外のモナドや圏論には言及しません。 シリーズの記事です。 Haskell 超入門 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 ← この記事 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文

    Haskell IOモナド 超入門 - Qiita
  • Chapters - Learn You a Haskell for Great Good!

    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

  • 1から学ぶHaskell: プログラマ向けのHaskell入門

    (工事中 25%) はじめに 純粋関数型言語Haskellを学ぶのは海の向こうの国を知ることだ。 第一級関数、参照透過性、遅延性、静的型付けなどが特徴だ。デザインの美しさを犠牲にすることなく優れた実用性を実現している。 対象 このチュートリアル プログラムを組んだことがあり「関数」「変数」「引数」「返り値」の意味がわかる人が対象だ。 書籍 書籍では以下のかたを、対象にしています。 高校くらいの数学の知識がある 圧縮ファイルの解凍ができる gitが使えれば、なお良い なんらかのエディタが使える コマンドラインが使える 書籍購入の際の注意 「誰でも理解できるように」と心を配って、書いてはいますが、それでも、理解できない人は出てしまいます。 このチュートリアルから派生した書籍は、知識はないけれど、柔軟な知性を持っている人が対象です。 書籍の内容が、1回で理解できなければ、2回読んでください。それ

  • モナド入門以前 - Qiita

    前書き これはモナドチュートリアルではない、だろう。 この文章を書く動機は、モナドを知らない人がモナドという未知の概念に期待しているものが根的にずれているかもしれないという懸念である。 命令型言語でプログラミングを覚えた人がモナド、もしくはHaskellや関数型言語(と言われる言語)を学習する際にしばしば受ける助言はこうだ: 「命令型言語で今まで習ったことを全て忘れて取り組むと良いよ」 この助言はそこまで外していないかもしれないが、雑である。 いつか僕の友人がこのようなことを言った: 「プログラマがチームで働く時、必要なのは相手を思いやる気持ちだよね」 この発言は恐らくそこまで外れてはいないが、思いやりで全てを解決しようとすると、全てのコストが非常に高くなる。個々の問題へ目を向け、それぞれの解法を知っておくことによってコストは低くすることが出来ると僕たちは知っている。まあ友人はそんなこと

    モナド入門以前 - Qiita
  • Haskellのlensの使い方 (基本) - みゆっきのにっき

    ekmett先生のlensに関して Lens'は便利に使えはするけど、Prism,Iso,Traversal,Foldみたいなのは触ったことがなかったので調べた。 Lensの利用 1 import Control.Lens して 1 2 3 4 5 6 >>> ("hello",("world","!!!")) ^. _2 . _1 "world" >>> ("hello",("world","!!!")) & _2 . _1 .~ 42 ("hello",(42,"!!!")) >>> ("hello",("world","!!!")) & _2 . _1 %~ map toUpper ("hello",("WORLD","!!!")) みたいに使う。優先順位は以下のようになっている: 1 2 3 >>> ("hello",("world","!!!")) ^. (_2 . _1) >>

    Haskellのlensの使い方 (基本) - みゆっきのにっき
  • IDE for Haste projects

    I finished an Elm-like IDE for Haste projects. Haste is a compiler from Haskell to Javascript. The software is at: https://github.com/agocorona/tryhplay Running in a heroku instance with a simple example: http://tryplayg.herokuapp.com/try/console.hs/edit Besides to edit-compile and run, it can also import , compile and run haste projects from git repositories (Although this, like the rest of the p

  • Arrow化pipeはFRPの夢を見るか?(GUI編) - Qiita

    バックナンバー Arrow化pipeはFRPの夢を見るか? 記事も引き続き、Arrow記法対応のpipe系(ないしはIteratee系)自作ライブラリmachinecellの紹介です。 machinecell: Arrow based stream transducers 今回はインパクト重視のデモとして、小さなGUIプログラムを披露します。 その前にイントロとして、なぜIteratee系のライブラリをArrow化したか、というモチベーションの部分について、前回の記事より少し突っ込んで触れてみようと思います。 イントロ:Arrow化のモチベーション Iteratee系ライブラリとは、データを読み、書き、副作用を実行する小さな部品を「あたかもUnixのパイプのごとく」連ねて、一連の処理を行う事ができる「機能」を提供するものでした。 ArrowとはCategoryの拡張で、「あたかもパイプの

    Arrow化pipeはFRPの夢を見るか?(GUI編) - Qiita
  • 6さいカンファレンス 第2回「数学の定理を自動で発見するAI を Haskellで作ろう!」まとめ

    2012/09/13にくいなちゃんさん主催で開催された6さいカンファレンスのまとめ。 第2回は「数学の定理を自動で発見するAI を Haskellで作ろう!」です。 勝手にまとめてしまったので、何か問題があれば@shogo82148まで。 WELCOME TO HELL!! くいなちゃん: それでは、まず、数学の「定理」とは何か、について説明したいと思います。 みなさん、日常的に「定理」という言葉を使っていると思いますが、「定理」とは何か、説明できますか くいなちゃん: 「教科書に載っている公式が、定理だ!」と思うかもしれませんね。 確かに、教科書にも定理は載っています。 くいなちゃん: では、曖昧な理解の方のために、厳密かつ ゆるふわに説明しましょう。 くいなちゃん: 定理とは、次のように定義できます。 公理であるならば、定理である。 定理を推論規則によって推論したものは、定理である。

  • 関数型言語を学ぶことは実務でどう役に立ったか - Rejasupoem

    関数型LT大会で「実社会の問題を解決する関数型言語」というタイトルで発表しました。 というのも、会社で「すごいHaskellたのしく学ぼう!」の輪読会をしていて、最初こそ10人以上の人が参加していたのだけど、章が進むごとにどんどん人が離脱していって、主催者としてはなんとか完走したいという思いがあったので、調べたのですが、 ヒアリングから、この二つの線がクロスしたときに、人は離脱するという知見が得られました。 ということで、Haskellに対して実用性を見出したいと思いながら半年を過ごしたのですが、実用的 = 仕事で使うということであれば、今の現場でHaskellに移行するのは現実的ではありません。 でも、Haskellには関数型言語のエッセンスが詰まっていて学びが多かったと思っていて、直接的には使っていないけど、概念として役立つことがあると思ったので、それを伝えるために今回文章に起こしまし

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

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

    Haskell使いの高頻度取引の会社にお邪魔した
  • 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
  • Act as Professional |

    プログラマは1日のほとんどを座った状態で生活している人がほとんどではないでしょうか? この「座りすぎ」の毎日は病気のリスクを高くすることが明かになっています。 座りすぎは病気のリスクを高める この「座りすぎ」の生活は2型糖尿病、心血管疾...

    Act as Professional |
  • QAで学ぶMonad - あどけない話

    この記事は、Monad でつまづいた Haskeller のための Monad 再入門です。 Monadとは何ですか? Monad とは、単なる型クラスの一つです。難しいという風評もありますが、それ以上でもそれ以下でもありません。 この型クラスのメソッドは、return と >>= です。 class Monad m where (>>=) :: m a -> (a -> m b) -> m b return :: a -> m a つまり、以下を満たす型の集合が Monad です。 m a で表現できるように一つの型変数を格納するコンテナ型 >>= と return を実装 return は新しいコンテナを作り、>>= は二つのコンテナを合成します。 Monad のインスタンスは失敗系と状態系に大別できます。以下に代表的なインスタンスを示します。 失敗系: Maybe、[] (リスト)

    QAで学ぶMonad - あどけない話
  • 書籍編集局ブログ|Ohmsha

    2月15日(木)に開催された「Developers Summit 2018(デブサミ)」(主催:翔泳社)にて「ITエンジニアに読んでほしい! 技術書・ビジネス書大賞2018」のプレゼン大会と投票が行われ、大関真之先生の著書『機械学習入門 ボルツマン機械学習から深層学習まで』がみごと技術書部門の大賞の栄冠に輝きました! プレゼン大会では大関先生自ら書に関する熱い熱い思いを披露していただました。このプレゼンによって「読んでみたい!」「数式が苦手だけどこのなら読める!」と惹きつけられるオーディエンスが続出!みごと大賞に選ばれることとなりました。ブラボー! 書は、おとぎ話の白雪姫に登場するお妃様と鏡の関係をなぞらえ、その問答により「機械学習とは何か」「何ができるのか」を楽しいストーリーと可愛らしくしかも的確なイラスト、そして数式をまったく用いることなく解説している画期的な内容です。 登場する

    書籍編集局ブログ|Ohmsha