Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
僕が Haskell を学び始めた頃、Haskell の文法はすんなりとは頭に入ってきませんでした。もともと僕はプログラミング言語の学習能力が低いので、僕だけかもしれませんが、「はじめからこう言ってもらえれば分かったのにぃ」ということを書きます。 はじめの一歩 分岐は case で書きます。以下に Maybe a に対する例を書きます。 case mx of Just x -> ... Nothing -> ... 念のため、Maybe a の定義も見てみましょう。 data Maybe a = Nothing | Just a 列挙されているデータ構成子を case に列挙できることが分かるでしょう。このように、case でマッチできるのは、データ構成子で表現されたパターンになります。 ワイルドカード たとえば、以下のような型を定義したとします。 data Foo = A | B | C
Google グループでは、オンライン フォーラムやメール ベースのグループを作成したり、こうしたフォーラムやグループに参加したりすることで、大勢のユーザーと情報の共有やディスカッションを行うことができます。
Haskellには、Cabalというパッケージ管理システムがあります。RubyのRubyGemsみたいなやつです。口は悪いけど、どこか憎めない。そんなやつです。このCabalをMacに入れようとしたのですが、どうもウマくいかず。数時間かかって、やっとインストールできました。 まず、試すのはMacPorts。 $ sudo port install hs-cabal hs-httpとhs-zlibとhs-caballibがない。 で、試行錯誤していたのですが、結局、GHC 6.8.2だとダメでした。そこで、GHC 6.8.3を入れようと試みる。MacPortsでは、@6.8.3というカンジでアットマークを付けるとバージョンを指定できます。ですが、MacPortsで入るのは6.8.2まで。そこで、GHCの公式サイトからダウンロード。 Home ? The Glasgow Haskell Com
2010年3月22日に,Haskell Platform 2010.1.0.0がリリースされました(参考リンク1,参考リンク2)。 Haskell Platformは,その名の通りHaskellでプログラミングをするユーザー向けの開発プラットフォームです。Haskell Platformには,GHCに加え,GHCには含まれていないライブラリや,cabalコマンド(cabal-install)などのツールが収録されています。 Haskell Platformが生まれた理由 Haskell Platformは,Haskell処理系であるGHCに加え,実際のプログラミングで必要になるライブラリやツールなど,Haskellによるプログラミングを行うのに必要な環境一式を提供するものです。ただし,Haskell Platform 2010.1.0.0のリリース時点では,どのOSを使用しているかによって
2020/10/08 · Haskellの環境構築はじめに以前、途中で挫折したHaskellを真剣にやってみようということで、初歩的なところから始めまする開発環境・ MacBook Pro ...
Google グループでは、オンライン フォーラムやメール ベースのグループを作成したり、こうしたフォーラムやグループに参加したりすることで、大勢のユーザーと情報の共有やディスカッションを行うことができます。
Haskellでは,リストを基本的なデータ構造として様々な用途に使います。一方,Cなどの命令型の言語では,配列(Array)を基本的なデータ構造として用います。 この違いはどこから生じているのでしょうか? Haskellでリストを使う場合と配列を使う場合にはどのような違いがあるのでしょうか? 今回はこうした切り口で配列について考えていきたいと思います。 リストと配列の違い 配列には様々な実装方法があり,どのような実装を採用するかによって細かい性質が異なります。ただ,どのような実装であっても,配列には共通した性質があります。先頭からの逐次的なアクセスにもランダムな要素へのアクセスにも同じように適しているという点です。 リストは再帰的な定義になっているため,当然,逐次的なアクセスには適しています。しかし,参照(look-up)や更新(update)などの操作で必要とされる,ランダムなアクセスに
Haskell 関連の記事のリスト 1.Haskell の概要 使い捨てプログラムの作り方 [2009-08-04 19:27] Haskell のリスト操作 [2009-08-06 07:24] Haskell の高階関数 [2009-08-06 12:56] Haskell の関数 [2009-08-07 06:46] Haskell の制御構造 Haskell の遅延評価 [2009-08-07 12:49] クイックソート シーザー暗号を作ってみた Haskell ワンライナー ghci 版 Haskell あれこれ 再帰 Haskell あれこれ 再帰の種類(数値型) Haskell あれこれ 再帰の種類(リスト型) Haskell のプログラムは全て式の置き換えで理解できる。 Haskellでは再帰的定義も式の置き換え(展開) Haskell でユーザ定義のデータを簡単に作る方
Data.List モジュール探検の最中だが、ちょっと寄り道をして System.Time モジュールを散策してみる。Haskell の標準モジュールの概観は Haskell Hierarchical Libraries で眺めることができるが、かなりの量がある。 今日はその中から System.Time モジュールを使って、現在の日付と時刻を表示することに挑戦する。例によって、プログラムファイルを作らずに、ghci のコマンドラインからの操作だけでそれをやってみよう。ライブラリの使い方は、その中の関数がどう働くかをリアルタイムに見るのが一番よくわかるからだ。 まず、Prelude に System.Time モジュールをインポートする。 Prelude> :m System.Time Prelude System.Time> つぎに、現在の日付と時刻を getClockTime 関数で取
read 関数の Exception をどう扱ってよいか迷ってたところ、クールなわざを見つけた。 How to catch a no parse exception from the read function in Haskell? - Stack Overflow maybeRead = fmap fst . listToMaybe . reads 関数の重ね方とか勉強になるなぁ。 # GHC 7.6 には readMaybe という関数が追加される予定なので、リリース後は必要ないかも。 早速、試してみる。 {-# LANGUAGE NoMonomorphismRestriction #-} import Data.Maybe maybeRead = fmap fst . listToMaybe . reads 実行例 *Main> maybeRead "3.14" :: Maybe
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く