タグ

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

  • 「すごいHaskellたのしく学ぼう」9章 todo.hsのバグ修正など

    「すごいHaskellたのしく学ぼう」でHaskellを勉強し始めてみた。通称すごいHなと言われるですが、Hは変態言語の頭文字のHなのかなあと思うほどに自分にとっては新鮮な概念が多く、久しぶりに言語を勉強して脳がリフレッシュされていく感じがします。Hello Worldが3分の1くらい読み進まないと出てこないです。説明が丁寧で初めてHaskellに触れる自分でも理解しやすいです。訳者が自分の大学学部時代の同じ学科の同級生らしく、感心している場合ではないなあと思う今日このごろ。 そして、原著はオンラインで読めたのだな。。。。 Learn You a Haskell for Great Good! 今日は、第9章のtodoリストのコードにバグらしきものをいくつか発見したので、誰かの役に立てばと書き記しておきます。 ちなみに、Haskellのシンタックスハイライトは下記をBlogのテンプレ

  • karky7のブログ: Gentooでemacs+haskell環境を作る

    三島Haskell無名関数の会 第一回目にて 「三島Haskell無名関数の会 第一回目」ということで静岡の富士市で行った勉強会の中で、@kzfmさんが「静岡のHaskellerはemacsを使う」というお題でemacsのhaskell環境を披露してもらった。 題としてはemacsでhaskell環境を作るということで以下の環境を作成 virthualenv(Haskellの仮想環境) hlint(コードチェック) ghc-mod(Haskellコードの保管) flymake(構文チェック) この作業の中で感激した機能で emacs-24で利用可能な「M-x list-package」というパッケージインストール機能 hlintでコードの書き方のチェック flymakeでコード編集時の構文チェック ということで実際に設定してみる emacs-24のインストール Gentooでのインストー

    karky7のブログ: Gentooでemacs+haskell環境を作る
  • Haskell 用の emacs カスタマイズ例 - わからん

    Haskell Advent Calendar 2011 への参加記事です。ふだん emacs でコードを書いているプログラマが Haskell を使ってみようと思ったときに、10 分でそれなりの環境構築するための、便利な手順書となることを目指して書きました。~/.emacs や ~/.emacs.d/init.el などの設定ファイルは、dot.emacs と表記しています。 Haskell の環境構築 Haskell 自体の環境構築の説明はこの記事の範囲外ですが、前提ですので、信頼できそうな説明へのリンクを載せておきます。 トラビスさんの『Haskell Platform インストール Linux編』 shelarcy さんの『Haskell Platform インストール Mac編』 tanakh さんの『Haskell Platform インストール Windows編』 ただし、私

    Haskell 用の emacs カスタマイズ例 - わからん
  • Emacs 24でHaskell環境構築 - 12FF5B8

    Ubuntu 13.04でHaskell環境構築 - 12FF5B8の続き. EmacsでHaskellを書くのに必要なメジャーモードや,補完機能の設定をする. haskell-mode haskell-modeの最新版(2.8.0)をダウンロードし,解凍する. $ wget http://projects.haskell.org/haskellmode-emacs/haskell-mode-2.8.0.tar.gz $ tar xf haskell-mode-2.8.0.tar.gz load-pathを通し,Emacsの設定ファイルに以下の内容を追加する。 ;; haskell-mode (autoload 'haskell-mode "haskell-mode") (autoload 'haskell-cabal "haskell-cabal") (add-to-list 'auto

    Emacs 24でHaskell環境構築 - 12FF5B8
  • Hoogle

    Welcome to Hoogle Links Haskell.org Hackage GHC Manual Libraries Hoogle is a Haskell API search engine, which allows you to search the Haskell libraries on Stackage by either function name, or by approximate type signature. Example searches: map (a -> b) -> [a] -> [b] Ord a => [a] -> [a] Data.Set.insert +bytestring concat Enter your own search at the top of the page. The Hoogle manual contains mor

  • Introduction | Hackage

    Hackage: The Haskell Package Repository Hackage is the Haskell community's central package archive of open source software. Hackage has been online since January 2007 and is constantly growing. You can publish libraries and programs or download and install packages with tools like cabal-install (or via your distro's package manager). Package Downloads Browse packages Search packages Recent uploads

  • モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド

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

  • 【Haskell】Preludeの関数いろいろ - Qiita

    目的 1. どんな関数が組み込まれているのかを知る → 組み込まれているのを知らずに自分で作ってしまうという事態を避ける → 完全に覚えていなくても、「こんなのあったような…」程度に思い出せれば十分 2. 自分で関数を定義する際の参考にする → 組み込まれている関数の定義は洗練されている 3. 使い方を妄想する ソース http://hackage.haskell.org/package/base-4.7.0.2/docs/Prelude.html 上から順に見ていきますが、四則演算など自明なものは省く TODO わかりやすいようにソースに沿った段落を入れる (&&) :: Bool -> Bool -> Bool 論理演算子のAND Bool型の値2つを引数に取り、ともにTrueの時にTrueを返す。 *Main> (&&) True True True *Main> (&&) True

    【Haskell】Preludeの関数いろいろ - Qiita
  • Haskell Programming

    We're writing this book because many have found learning Haskell to be difficult and it doesn't have to be. Learning Haskell from the ground up is easier and works better - for both experienced hackers and people new to programming. The language is different enough from any you might've already tried that building up from the foundations will be less difficult and more enjoyable. If you are an exp

  • Haskellで生産性を高める-Pythonからの移行 | POSTD

    (注記:11/30、いただいた翻訳フィードバックを元に記事を修正いたしました。) 最近、Haskellでも生産性の高い作業ができるほどに、この言語を使いこなせるようになりました。定期的にPythonを使いもしますが、今ではWebプロトタイプ作成のほとんどをHaskellで行っています。それで、時間が経ってしまう前に、この言語の学習経験を通じて考えたことなどをまとめたいなと思っています。 データファースト これはどちらかというと動的言語から静的言語への移行に関しての考えなのですが、Haskellのデータ構造は、ほとんどの場合、データ宣言と型シグネチャで提示されるのに対し、Pythonの場合、おおむねコードによって暗黙に定義されます。 Pythonの関数について私が初めて抱いた考えは、「コードに何が書かれているか?」でしたが、Haskellでは、「データはどう見えるか? この関数は___を受け

    Haskellで生産性を高める-Pythonからの移行 | POSTD
  • Haskell の Windows へのインストールと Emacs モードの設定 | プログラマーズ雑記帳

    Haskell は純粋関数型のプログラミング言語です。 今回は Haskell の Windows へのインストール、使い方および Emacs での設定について説明します。 Haskell とは Haskell は関数型プログラミングをやるために作られたような言語で、 大きな特徴は次の 2 つです。 純粋関数型言語 遅延評価 関数型プログラミングでは値を変更しないように作ります。 しかし、関数型言語はいろいろとありますが、多くは使いやすさ等の理由により、制限付きで値が変更できるようになっています。 そんな中 Haskell は純粋関数型なので、当に値が変更できません。 これは融通が利かないとも思われるかもしれませんが、 純粋に関数型でプログラミングできるだけの機能がそろっているとも言えます。 最近では C# の LINQ といったように関数型にとどまらず、高階関数を使った Stream

  • Haskell入門 5ステップ - HaskellWiki

    WindowsではGHCとHugsの両方が動作しますが、HugsのほうがよりWindowsとの親和性が高いと思われます。しかし、GHCが最も活発に開発やメンテナンスが行われているので、たいていの人は入門者はもちろん、プログラミングになれた人にもGHCを勧めます。またここにもMac OS XにHaskellをインストールする方法が載っています。 Haskell事始め ターミナルを開いてください。もしGHCをインストール済みであれば、コマンドプロンプトに"ghci"と入力してください。(GHCインタプリタの実行ファイル名です)Hugsをインストール済みであれば"hugs"と入力してください。 $ ghci ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.4, for Haskell 98.

  • Glasgow Haskell Compiler — The Glasgow Haskell Compiler

    Latest News 1 July 2024 GHC 9.6.6 Released! [download] 10 May 2024 GHC 9.10.1 Released! [download] 16 April 2024 GHC 9.6.5 Released! [download] What is GHC? GHC is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell. Highlights: GHC supports the entire Haskell 2010 language plus a wide variety of extensions. GHC has particularly good support for

  • 6さいカンファレンス 第2回「数学の定理を自動で発見するAI を Haskellで作ろう!」まとめ

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

  • 静的型付き言語プログラマから見た動的型付き言語 - あどけない話

    およそ20年前にAlan Kay の講演をきいたことがある。印象に残ったのは、彼が引き合いに出した McLuhan の言葉だ。 I don't know who discovered water, but it wasn't a fish. (拙訳)誰が水を発見したかは知らないが、発見者が魚でなかったことは確かだ。 誰しも信念という水の中を泳ぐ魚のような存在だ。思い切って飛び跳ね空気に触れてみなれば、自分が信念という水の中にいることに気付かない。 ある手法の利点を語るには、その手法の欠点や、他の手法の利点や欠点とできるだけ客観的に比較しなければ説得力がない。ただ、これを実践するのは難しい。この記事では、客観的になれているか自問自答しながら、動的型付き言語と静的型付き言語について比較してみようと思う。 僕は静的な C 言語から、動的な Perl、Lisp、JavaScript を経て、現在で

    静的型付き言語プログラマから見た動的型付き言語 - あどけない話
  • Haskeleton: a Haskell project skeleton

    Haskeleton: a Haskell project skeleton by Taylor Fausak on March 04, 2014 I’m new to Haskell. I’ve learned enough to feel comfortable writing programs in it. I can solve code katas like exercism.io, H-99, and Project Euler. Yet I don’t feel comfortable developing software with it. Writing idiomatic, maintainable and well-tested Haskell code remains a mystery to me. Cabal, the Haskell build tool, p

    Haskeleton: a Haskell project skeleton
  • Part I: Dependent Types in Haskell | FP Complete

  • My Programming Escapades - Comparing Haskell Web Frameworks

    Intro Lately I got sucked into Haskell. When I first saw it it looked like it might be a bit impractical for real-life projects but this prejudice faded away slowly. Now I’m at the point where I have an idea for a web application and I’d like to do it in Haskell. After a quick search I found many frameworks and libraries that I might use. So I decided to do some exploration and implement a bunch o

  • Yesod入門 (1) インストールから起動まで | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 以前から気になっていた Yesod というフレームワークをインストールしてみました。 Yesod は Haskell で作られたフルスタックの Web アプリケーションフレームワークです。 まだ Haskell に詳しくないので、言語を学びながら Yesod を使っていきたいと思います。 What's Yesod? 公式サイトによると、Yesod はタイプセーフで RESTful なハイパフォーマンス Web アプリケーションを効率良く開発するためのフレームワークだそうです。 Why Yesod? Yesod には以下の特徴があるそうです。 実行時エラーをコンパイル時エラーに 文字コード絡みの問題や XSS 対策のために、できるだけ型システムの力を活用する。 非同期化が簡単 計量グリーンスレッドとイベントベースのシステムコールを活用することで、書いたコードは特に苦労

  • Haskellで書かれたWebフレームワーク「Yesod」のチュートリアル | gihyo.jp

    YesodというHaskellで書かれたWebフレームワークで簡単なアプリケーションを作成するチュートリアル記事です。 最近は関数型プログラミングの評価が高まりHaskellの書籍や情報が増えてきましたが、Haskell自体や関数型プログラミング特有の概念がネックになり、アプリケーションを作り上げることを楽しむリソースがあまり多くありません。記事執筆者はこの問題点を指摘し、当の初心者向けに書かれたドキュメントが足りないことからこの記事を作成するに至ったようです[1]⁠。 Haskellの主要Webフレームワークには、Yesod、Happstack、Snapの3つがありますが、その中で比較的初心者が取り組みやすくコミュニティが活発なことからYesodを取り上げています。このチュートリアルを読むにあたって、他言語のWebフレームワークを経験しているのであれば特にHaskell自体の知識は必要

    Haskellで書かれたWebフレームワーク「Yesod」のチュートリアル | gihyo.jp