A Vim + Haskell Workflow This post is out of date and has been updated for modern workflow.This page is left for posterity. Hoogle Hoogle is a Haskell type search engine which can be used online or installed locally.
Haskell Advent Calender 2013 12/5日当番記事です。 CoffeeScriptとかHaxeとかTypeScriptみたいなJavascriptにトランスレートして使う言語たちをAltJSっていうそうです。HaskellコードをJSに変換するプログラムもいくつかあって、このページに一覧があって詳しい。そこに掲載されてるFayとHasteを触ってみます。他にUHCやGHCJSというのもありますが試したら弱冠インストールでハマったのでそれらは機会あればまた。 そいつらを上手く使えば、サーバサイトはYesodまたはScotty、クライアントサイドはHaskellなAltJSを使ってオールハスケルなWeb開発が(マークアップをHaskellでやるやつとかもありますね)可能になります。ちなみにScottyのTipsを以前少し書いたので以下もあわせてどうぞ。 Scottyで
(Haskellな日々になってるな…。) モナドというものがあり、Haskellで有名ですが、実際には、Java8のOptional、ScalaのOptionやfor内包表記などでは使用されています。ScalazというScalaのライブラリや、monadlogieというGroovyのライブラリでも使われています。 とはいえ、一般に、Haskellでのように積極的には使われていないというのが公平な見かたでしょう*1。Haskellでは本当にいろんなものがモナド化されています。入出力(IO)、状態、失敗するかもしれない計算(Maybe、Either)、非決定計算、継続、パーサ(モナディックパーサ)、リーダ、ライタ、etc.etc……。 なぜこのような差が生じるのでしょうか? その前に、まず押さえておくべきことは、モナドは非常に汎用的な機能だということです。数学的定義はともかく、機能的に言うと、
I’ve been having a lot of fun learning Haskell these past few months, but getting started isn’t quite as straight-forward as it could be. I had the good fortune to work at the right place at the right time and was able to take Bryan O’Sullivan’s Haskell class at Facebook, but it’s definitely possible to get started on your own. While you can play a bit with Haskell at Try Haskell you’ll eventually
この記事は Vim Advent Calendar の 274 日目の記事です。昨日は id:osyo-manga さんの unite-highlight つくった でした。 はじめに 先週の日曜日(8/25)になごやまつりというイベントがあり、そこで Haskell を Vim で書く方法というネタで LT をしてきました。発表するのが決まったのが前日ということもありちゃんとまとまった内容になっていなかったので、本エントリで少し補足を書きたいと思います。 すごいVimでhaskellを書こう@なごやまつり from cohama とりあえず、インデントをどうにかする 発表では「Haskell のデフォルトのインデントプラグインは全然ダメ」という発言をしましたが、間違いでした。訂正します。 「Haskell のデフォルトのインデントプラグインなんてなかった!」 まさか、ないとは...。 と
This tutorial is designed as a practical guide to writing real world code in Haskell and hopes to intuitively motivate and introduce some of the advanced features of Haskell to the novice programmer. Our goal is to write a concise, robust and elegant IRC bot in Haskell. A packaged-up version of the code is available on GitHub. Getting started You'll need a reasonably recent version of GHC. Our fir
If you are not redirected automatically, follow the link to example
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本はいきなりのIOを避けているものが多いですよね。こ れらの本を読んでわかった気になっても、実際に日々のタスクに使おうとした 場合に結構ハマることが多いんですよね。 「習うより慣れろ」みたいなスタイルでHaskellの学習をするとどういう学習曲 線をたどることになるんだろうか? phpのように動けばいいや(偏見?)というス タンスでHaskellのコードを書くことは可能なんだろうか? と疑問に思ったので、よくあるスクリプト言語の入門書(IOから入る系)のよう な話題を取り扱ってみようかなと。 Sphinxという良い感じに文章をかけるツー ルと、書いた文章をGitHub Pagesで手軽に公開できるような環境の存在も、こ の試みを後押ししました。というか書いていて楽しいので、みなさんもSphinx つかうとハッピーになれると思います。 フィードバックな
Written April 17, 2013 updated: May 20, 2013 Here's a simple value: And we know how to apply a function to this value: Simple enough. Lets extend this by saying that any value can be in a context. For now you can think of a context as a box that you can put a value in: Now when you apply a function to this value, you'll get different results depending on the context. This is the idea that Functors
May 02, 2011 Update Nice people have translated this article into Portuguese and Russian. For the past weeks I've been working hard studying monads. I'm still learning Haskell, and to be honest I thought I knew what monads are all about, but when I wanted to write a little Haskell library, just to sharpen up my skills, I realized that while I understood the way monadic bind (>>=) and return work,
About Roy is an experimental programming language that targets JavaScript. It tries to meld JavaScript semantics with some features common in static functional languages: Damas-Hindley-Milner type inference Whitespace significant syntax Simple tagged unions Pattern matching Structural typing Monad syntax Try the current version below. The code is on GitHub. Follow @roylangjs for news on developmen
この記事では, Haskellに用いられる「遅延評価」の仕組みを, 図に描いて説明します. 更に, 遅延評価版のフィボナッチ数の無限列を, JavaScriptで実装します. 遅延評価とはどのように動くのか, 考えて行きましょう. HaskellのコードとJavaScriptのコードの比較 Haskellでの x = y y = 10 と, JavaScriptの var x = y; var y = 10; というコードを考えてください. Haskellのコードは, これだけでは何も起こりません. print xとすると, x = y = 10 となって 10 が表示されます. 一方, JavaScriptのコードは var x = y; を評価した瞬間, 「ReferenceError: y is not defined」というエラーが出ます. 更に, main = let x = 1
さて、今日は、いつもとは違ったことを紹介しよう。 Haskellのプログラムをちょこちょこ紹介していたが、今日は、世界に飛び出してみよう。 つまり、日本以外、世界ではHaskellでどんなことをしているのだろうか。とくに、大学などで、Haskellをどのように教えているのか見てみよう。 まず、Haskellをやる以上、かならず見るべきサイトがある。 The Haskell Programming Language (www.haskell.org) うまく表示されないときは、新しいタブ・新しいウィンドウに表示させるようにしてみてください。 そして、いままで使ってきたのがGHCなのだが、このGはグラスゴー大学のGなのだ。 ということで、グラスゴー大学で探すと、Functional Programming Research at Glasgowがすぐに見つかったが、文字情報はいっぱいあるものの
あけましておめでとうございます。本年もよろしくお願いいたします。 唐突ですが、Haskellを少しやってみたので、その感想を書いてみます。 僕は正月休みにHaskellでProject Eulerに挑戦していました。これは、数学っぽい問題をプログラムを書いて解いていくサイトです。数学は再帰的な定義が多いため関数型言語が向いているだろうと考え、ほぼ未経験のHaskellを試してみました。 解けそうな問題から50問解いてみましたが、随分スラスラ書けるようになってきた気がします。また、書いていると不思議と気持ちがいい言語だという印象を受けました。気持ちよさは複合的なものだと思いますが、その要因になっていそうな特徴を紹介してみます。 数学や英語の知識で「読める」表現が多い いきなり印象論なんですが、Haskellのコードは初見でもそこそこ読める気がします。中の人が読みやすさを大事にしているためだろ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く