タグ

Haskellに関するsonota88のブックマーク (62)

  • Kalyn: a self-hosting compiler for x86-64

    Over the course of my Spring 2020 semester at Harvey Mudd College, I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to jump there. Or, take a look at the project on GitHub. Table of contents What the pro

  • ウォークスルー Haskell - Haskell 入門

    ウォークスルー Haskell たのしいモナドの世界へようこそ! 目次 Haskell について Haskell とは, Haskell の特徴, Haskell の仕様, Haskell の実装, 関連サイト 開発環境について Haskell Platform のインストール, GHC の使い方 はじめの一歩 Hello World, コメント, ブロック, レイアウト, 変数, 関数, 識別子, 多相型 基的なデータ型 データ型の紹介, 論理型, 数値型, 文字型, 文字列型, タプル型, ユニット型, リスト型, Maybe 型 式と宣言 変数の束縛, 型注釈, パターン, パターンマッチング(case 式), ガード(case 式), if 式, let 式, where 節 関数 関数の定義, 関数の型, 再帰関数, パターンマッチング(関数定義), ガード(関数定義), 高階

  • Haskell 教養としての関数型プログラミング - 秀和システム あなたの学びをサポート!

    Haskellは、情報や論理を扱う上で非常に優れた特徴を持つ、関数型プログラミング言語です。書は、知的好奇心を持ち、新しい考え方を身につけたいプログラマのために、Haskellを使った関数型プログラミングを体験しながら学ぶ入門書です。「対話環境に値をうちこむ」「かんたんな計算をしてみる」のように、ひとつずつ試しながらステップアップしていくため、プログラミング未経験者でも関数型プログラミングが理解できます。 【サポートはこちら】→https://www.shuwasystem.co.jp/support/7980html/4806.html 第0部 はじめに 第 i 章 ようこそ i-1 プログラミングのいくつもの顔 i-2 あなたにはできる 第 ii 章 このの楽しみかた ii-1 誰のためのか ii-2 前提とする知識・技術 ii-3 対象とするOS ii-4 はじめから順に ii

    Haskell 教養としての関数型プログラミング - 秀和システム あなたの学びをサポート!
  • Haskellの子供たち

    Owenのブログより。 もし、私が4年前にタイムスリップして、昔の自分にHaskellが輝きを失い始めていると言ったら、私はそれを信じないでしょう。私はHaskellで育ち、カテゴリ理論への欲求はHaskellによって刺激され、私の最大のプログラミング・プロジェクトはHaskellであり、Haskellを使った会社で働くのが夢でした。 しかし今では、以前ほどHaskellに興奮していないことに気が付きました。何が変わったのでしょうか? いくつか要因があると思います。主な要因の1つは、Haskellが当に得意としているプログラミングの種類だと思います。つまり、抽象的で正しいインタフェースを作ることは、私にとって興味のあるタイプのプログラミングではないと言うことです。キャリアとしてソフトウェアに携わりたいと思ったとき、自分を繰り返さないようにする素晴らしい機能を持った言語はとても役に立ちまし

  • 技術書を自作PDFリーダーで読む - Haskellでつくる不思議な読書体験 (1):関数型玩具製作所

    技術書典で購入したをちょっと不思議なPDFリーダーで読んでみませんか? Acrobat Readerや、Kindleとはひと味違った読書を可能とします。 【ビルド済みソフト(Windows)】 https://polymony.net/2020/12/19/post-3765/ 【動画など】 https://github.com/polymonyrks/poppyS/blob/master/READMEJP.md 自然言語にもシンタックスハイライト的な何か(着色)を試みるものです。 難しい文書、読む気すら起こらない文書を攻略できます(速読・精読)。 技術書典10に合わせてビルド済みソフトを用意できました。 ぜひ、ご自身で体験してみてください。 (書を買わなくてもソフトは動かせます、書には着色戦略が書かれています) 【扱う内容】 * 自然言語への着色による視認性向上の可能性 * 具体的

    技術書を自作PDFリーダーで読む - Haskellでつくる不思議な読書体験 (1):関数型玩具製作所
  • プログラミングHaskell第2版を翻訳しました - あどけない話

    プログラミングHaskell第2版の翻訳とレビューが完了し、ラムダノートから発売されました。レビューしてくださった5名の方に、改めてお礼を申し上げたいと思います。閉じられたissueは177個ですが、複数の指摘を含むissueもあるので、大雑把に言って250箇所ぐらいは改善されたのだと思います。 初版を買ってない方や、これからHaskellに入門したい人には、手放しでお勧めできます。この記事では、初版を持っているけど、第2版を買うべきか迷っている人に、どこが変わったのか説明します。 書体 コードが数学風の書体から、ブロック体になりました。Haskellに関する論文は、数学風の書体を使う伝統があって初版で採用されていましたが、これが一番不評でした。第2版では、奇を衒らわずに普通になりましたので、安心して読めると思います。 利用するシステム 利用するシステムが、HugsからGHCになりました。

    プログラミングHaskell第2版を翻訳しました - あどけない話
  • GitHub - haskell-jp/makeMistakesToLearnHaskell: Make Mistakes to Learn Haskell - 失敗しながら学ぶHaskell入門

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - haskell-jp/makeMistakesToLearnHaskell: Make Mistakes to Learn Haskell - 失敗しながら学ぶHaskell入門
  • Haskell社内勉強会とHaskell学習ツールの紹介 | IIJ Engineers Blog

    Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyプリキュアとポムポムプリンをこよなく愛する。 こんにちは。IIJ-IIの山悠滋です。 今日はここ数ヶ月私と有志で行っている、Haskellの社内勉強会と、そこで使用している自作のHaskell入門ツールについて紹介します。 Haskellの社内勉強会について 「社内勉強会 失敗しながら学ぶHaskell入門タイム」と称して、私はこれまでに8ヶ月近くもの間、週1回Haskellの勉強会を開催してきました。 この手の勉強会は連続して参加することが前提となっているため、どうしても最初の回から少しずつ人数が減っていくという残念なことになりがちですが、どうにか私含め4~5人程度を維持してここまで30回、18個目の課題まで進めることが出

    Haskell社内勉強会とHaskell学習ツールの紹介 | IIJ Engineers Blog
  • Haskell 解説本 小史 - golden-luckyの日記

    語圏におけるHaskellの解説には、これまで4回の波がありました。 それを思い出しながら、最後に『プログラミングHaskell 第2版』の紹介をします。 第1波 第2波 第3波 第4波 『プログラミングHaskell』が改訂されます 第2版ではプログラミングにおける型の理解が深まると思う ここで買えます 第1波 Haskell解説の1つめの波は、2006年、『入門Haskell』と『ふつうのHaskell』が出版された頃にありました。 このうち、『入門Haskell』は(おそらく)日初のHaskellです。 『入門Haskell』(2006年) 『ふつうのHaskell』(2006年) 『ふつうのHaskell』は、書名だけを見ると「特殊な言語」であるHaskellを「ふつう」に説明しているであるように思えるのですが、実はそうでもなくて、淡々と部品の説明をしていく感じの内容

    Haskell 解説本 小史 - golden-luckyの日記
  • GitHub - github/semantic: Parsing, analyzing, and comparing source code across many languages

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - github/semantic: Parsing, analyzing, and comparing source code across many languages
  • 並行並列言語Haskellの基本と特徴

    2018年11月10日、Haskell-jpが主催するイベント「Haskell Day 2018」が開催されました。純粋関数型プログラミング言語Haskellをテーマに、Haskellに興味のある人から入門者、ちょっとできる人まで、様々な層に向けたプレゼンテーションを行ったイベント。実務から研究まで、幅広いHaskellの事例を共有します。プレゼンテーション「並列並行言語Haskell 」に登壇したのは、syocy氏。講演資料はこちら 並列並行言語Haskell syocy氏:小山内と申します。『並列並行言語Haskell』ということで発表していきます。 まず、このスライドおよびソースコードはGitHubで管理しているので、そちらをご参照ください。PDFGitHub Releasesの中に置いてあります。あと、スライド中のほとんどのソースコードはDoctestでテストされています。 こ

    並行並列言語Haskellの基本と特徴
  • 動かして遊んで学ぶHaskell gloss・hamilton・コモナドを使ってできること

    2018年11月10日、Haskell-jpが主催するイベント「Haskell Day 2018」が開催されました。純粋関数型プログラミング言語Haskellをテーマに、Haskellに興味のある人から入門者、ちょっとできる人まで、様々な層に向けたプレゼンテーションを行ったイベント。実務から研究まで、幅広いHaskellの事例を共有します。プレゼンテーション「gloss: 動かして遊んで学ぶHaskell」に登壇したのは、lotz氏。講演資料はこちら gloss: 動かして遊んで学ぶHaskell lotz氏:「gloss: 動かして遊んで学ぶHaskell」というタイトルで発表させていただきます。 まず自己紹介すると、lotzといいます。 僕もHaskellは趣味で、ふだんは半蔵門で働くエンジニアです。SNSのIDをスライドに載せているので、質問があればTwitterで、気軽に声かけて

    動かして遊んで学ぶHaskell gloss・hamilton・コモナドを使ってできること
  • さようなら遅延評価 - あどけない話

    Haskellがとっつきにくい原因の一つに遅延評価がある。入門書では、無限リストと遅延評価がことさら強調される。しかし、Haskellを業務で使ってみると、遅延評価が煩わしくなってくる。遅延評価なしでもほとんどのことは実現できるし、メモリーの使用量は推測できないし、あまりいいことはない。 Haskellの評価戦略が、他の言語と同じように正格評価だったらよかったのに。 今まで、このようなセリフを何度聞いたか分からない。 そもそも遅延評価が役立つことはあるのだろうか? ある。お世辞抜きに、少なくとも以下の3つでは当に役立つ。 リスト(あるいは類似のデータ構造)処理 純粋性に対する暗黙のテスト 効率的なCAS 1.はよいだろう。2.は純粋さを守るために必要だが、コンパイラを開発する人にとって重要なのであり、ユーザには関係ない。3.は、並行プログラミングの奥義である。atomicModifyIO

    さようなら遅延評価 - あどけない話
  • 型クラスの歴史を軽くひも解く - Qiita

    現在、型クラスは Haskell のみならず、様々な言語で実装されたり似たようなものが実装されている言語機能です。 そういった風潮にも拘わらず、型クラスはどうにも大仰に捉えられがちに感じます。勿論、Haskell でも当初の仕様に比べると、最新の仕様はややこしいし、GHC の拡張や他機能と組み合わせるともっとややこしいのは事実ですが。 ということで、型クラスとはそもそもどういう motivation で発明、導入されたのか、簡単に調べてみます。 Haskell の型クラスは 1992 年の Haskell 1.2 で導入されました。1.2 のレポートに以下のような記述があるので間違ってないはず(他の言語でより早く実装されてるかもしれないけどそこまで調べてると時間なくなるので見ないふりをする。)。 Haskell is a large and complex language. design

    型クラスの歴史を軽くひも解く - Qiita
  • 関数がファンクターである、とは - doitakaの日記

    Haskell をお勉強中。 『すごいHaskellたのしく学ぼう!』をつらつらと読んでいる。 すごいHaskellたのしく学ぼう! 作者: MiranLipovaca出版社/メーカー: オーム社発売日: 2017/07/14メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る ファンクター、アプリカティブファンクター、モナド、あたりの説明を読んでいるものの、「関数 ((->) r) は、ファンクターで、アプリカティブファンクターで、モナドである」というあたりの説明が全くピンと来なかったので、解説を咀嚼する目的で自分なりにまとめてみる。 とりあえず、関数がファンクターである、ということについて。 そもそも (->) って何 (->) は型コンストラクタ。 Prelude> :k (->) (->) :: * -> * -> *具体型を2つ取って、具体型を1つ返

    関数がファンクターである、とは - doitakaの日記
  • 資金力のないWeb系ベンチャーがHaskellを採用したらどうなったか - Qiita

    はじめに 僕の業は酪農で、ヤギのさくらちゃんをお世話するのが仕事ですが、それだけではっていけないのが世の中の悲しさなので、副業フリーランスITコンサル(兼プログラマ)や株式会社UZUZっていう会社のひきこもり系最高技術責任者としてHaskellやElmを業務で使っています。 あと、個人的な趣味で株式会社ARoWっていう社員数2名のちっちゃいWeb系の会社を実験的に経営していて、そこでもメインにHaskellを使っています。 Haskellを実際に小規模な会社やフリーランスで使っている人って、実は世の中にほとんどいないみたいです。 そこで、実際のところ「Haskellって資金力のない会社や個人が業務で使えるのん?」っていう疑問に対して率直にお答えします。 日Haskell界の現状 まず、Haskell界隈の日における現状についてお話します。 知ってる方も多いと思いますが、日でH

    資金力のないWeb系ベンチャーがHaskellを採用したらどうなったか - Qiita
    sonota88
    sonota88 2017/05/21
    ヤギかわいい
  • Haskellは真面目なアプリケーション開発に向いている - syocy’s diary

    qiita.com ↑の記事で(主題ではないと思うものの)Haskellの批判に結構な分量が割かれていて、その批判のなかに「ちょっと違うんじゃないかな」という点がいくつかあったので反論ぽいことを書きます。 "Haskell は真面目なアプリケーション開発には向いてない"について これには多分いくつか事例を挙げればよくて、 Facebook ではスパム等の攻撃と戦うためのシステムを Haskell で作っています。 Fighting spam with Haskell | Engineering Blog | Facebook Code | Facebook (この記事を書いている Simon Marlow 氏は Haskell および GHC の主要開発者) より「アプリケーション」な事例が必要なら、プレゼンツールの Prezi を挙げることができます。 Case Study - Hask

    Haskellは真面目なアプリケーション開発に向いている - syocy’s diary
  • CPUの創りかた(1): 基本論理回路の定義など - Qiita

    これまではてなブログだけで書いてきたのだが、試しにQiitaにも投稿してみる。まずは以前の記事を転載してみようと思う。 (目次) CPUの創りかた(1): [基論理回路の定義など] ※ 稿 CPUの創りかた(2): decorderとmultiplexer CPUの創りかた(3): ROMをつくる CPUの創りかた(4): Flip Flop CPUの創りかた(5): 4 bitレジスタ CPUの創りかた(6): プログラムカウンタ CPUの創りかた(7): 加算器を作る CPUの創りかた(8): すべては足し算だった CPUの創りかた(9): CPUはじめました CPUの創りかた(10): おまけ、アセンブラ さて今回からは、論理回路をやろう。といっても電子工作をするわけではないので、要するにシミュレータを作るということだ。もちろん大仰なシミュレータではないが。今回唐突に論理回路を持

    CPUの創りかた(1): 基本論理回路の定義など - Qiita
  • Haskellと共に4年間を歩んだ起業家の視点 | POSTD

    (訳注:2017/11/17、頂きましたフィードバックを元に記事を修正いたしました。) 2012年、私は 新しいタイプの企業向けeラーニングプラットフォーム を開発するスタートアップ、Better ^(1) を共同設立しました。私たちのゴールは、大企業が、適応力の高いクロスプラットフォーム、多言語のオンラインコースを、速く安く開発、配信、解析できるようにすることでした。 立ち上げ初日にメインで使うと決めたHaskellは、チームが開発者10人を抱えるようになった時もバックエンドで使い続けていた唯一の言語でした。 実験と開発の期間を経て、Betterは数か月の間にAmerican ExpressやSwissportを始めとする顧客を得て、$0から$500,000超の年間経常利益を上げるまでに成長しました。しかし、更なる成長を目指すためには配信モデルが妨げになることが分かったため、最終的にオー

    Haskellと共に4年間を歩んだ起業家の視点 | POSTD
  • Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ

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

    Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ