haskellに関するvtwinautomatonのブックマーク (16)

  • 第12回 Haskellで学ぶ並列プログラミング(その3)並行プログラミングと並列処理

    これまで説明してきたGHCの並列化機能は,いずれもスレッドやプロセスのような並行実行の仕組みを抽象化の内側に隠ぺいしたものでした。しかし,このようにユーザーの目から詳細を隠してくれる特徴が,かえってわずらわしく思えることもあります。 GHCの並列化機能は,「ある一つの計算の処理速度を向上させる」という目的を直接的に反映したものです。このため,処理速度の向上以外の部分には,十分に手が届かないこともあります。例えば,グラフィカル・ユーザー・インタフェース(GUI)などを実現するための対話的なプログラムでは,「ある一つの計算の速度を向上させる」だけでは,プログラム全体の反応速度を思うように上げられません。プログラムをうまく制御して全体での速度向上を目指すことが重要だからです。しかし,これまで説明してきた並列化機能には,こうした制御を実現するのに必要なセマンティックス(意味論)は特に規定されていま

    第12回 Haskellで学ぶ並列プログラミング(その3)並行プログラミングと並列処理
  • 第11回 Haskellで学ぶ並列プログラミング(その2) 並列化手法

    前回は,GHCで並列プログラミングを行うための機能について説明しました。今回はそれらを使った並列プログラミングの具体的な方法について,もう少し詳しく説明していきたいと思います。 前回の補足 GHCのサイトでは,GHC6.6.1のWindows用のバイナリ・パッケージがWindows Vistaに対応していると書かれています。しかし実際には,設定上の問題がまだ残っているようです。GHCをWindows Vistaで使用するには,あらかじめ環境変数PATHをghc\ghc-<version>\gcc-libディレクトリに対して設定する必要があります(参考リンク1,参考リンク2)。 また,GHC6.8に向けて,GHCの開発版ではbaseパッケージが大きく再編成されています。その結果,前回扱ったControl.Parallelモジュールや今回説明するControl.Parallel.Strateg

    第11回 Haskellで学ぶ並列プログラミング(その2) 並列化手法
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • About Haskell

  • Haskellプログラミングチュートリアル

    Haskellは,次のような特徴をもった関数型言語です: 強力な型システム パラメータ多相のサポート 型クラスによるアドホック多相 非正格で純粋な関数型言語 関数は非正格 遅延評価:無限リストなどのデータ構造の扱いが容易 純粋:参照透明性が保存され,副作用がない モナドを用いたプログラミング 今回は,Haskellプログラムの基要素である関数と型について, 順を追って解説していきたいと思います. まずは,おおまかな字句構造から: コメントの書き方については,C, JavaやMLのそれと変わりません. それぞれの関数定義や宣言は,セミコロン ';' で区切られ,ブレース '{}' でグループ化されます. しかし,Haskellのレイアウトという構文により, セミコロンを省いた記述が可能です. いまのところ,行頭に文字があったらその行から新しい宣言 くらいに思っておけば大丈夫です.

  • Haskell のお勉強

    Haskell は関数型プログラミング言語の”標準語”として、1990 年に 誕生 (Haskell 1.0) した比較的新しい言語です。 その後、1999 年に安定した言語定義 Haskell 98 が制定され、 徐々に知名度が高くなっています。 しかし、まとまった日語の解説がほとんど無いので、 簡単な解説記事を書いてみました。 目次 Haskell とは プログラムを動かす 関数を定義する 型 入出力 Haskell で最小二乗法 自前の data と class Monad 探索 種々のデータ構造 Module 詰碁を解く

  • プログラム・プロムナード

    会誌「情報処理」連載の「プログラム・プロムナード」(2002年4月〜2005年3月掲載)と「Haskellプログラミング」(2005年4月〜2006年3月掲載)はどなたでもご覧になれます。ファイルはすべてPDF形式です。 「Haskellプログラミング」に掲載されたプログラムは http://www.sampou.org/haskell/ipsj/ から取ることができます.

  • The Haskell 98 Language Report

    Simon Peyton Jones [editor], Microsoft Research, Cambridge Lennart Augustsson, Sandburst Corporation Dave Barton, Intermetrics Brian Boutel, Victoria University of Wellington Warren Burton, Simon Fraser University Joseph Fasel, Los Alamos National Laboratory Kevin Hammond, University of St. Andrews Ralf Hinze, University of Bonn Paul Hudak, Yale University John Hughes, Chalmers University of Techn

  • work plan · Wiki · Glasgow Haskell Compiler / GHC · GitLab

  • GHC/Data Parallel Haskell - HaskellWiki

    Searching for Parallel Haskell? DPH is a fantastic effort, but it's not the only way to do parallelism in Haskell. Try the Parallel Haskell portal for a more general view. Data Parallel Haskell is the codename for an extension to the Glasgow Haskell Compiler and its libraries to support nested data parallelism with a focus to utilise multicore CPUs. Nested data parallelism extends the programming

  • Glasgow Parallel Haskell

    17 December 2015 The PhD thesis GUMSMP: a scalable parallel Haskell implementation; by Malak Aljabri describes an implementation of GpH on clusters of multi-cores. 20 September 2014 A paper on Lazy Data-oriented Evaluation Strategies; appeared at FHPC'14 02 August 2010 Overhaul of Evaluation Strategies; appeared at Haskell 2010 24 September 2010 GpH website re-launched Glasgow parallel Haskell (Gp

  • 第10回 Haskellで学ぶ並列プログラミング(その1)

    最近,並列計算(parallel computing)や分散計算(distributed computing)の話題をよく見かけるようになってきました。Peer to Peer(P2P)のアプリケーションとして広く知られるSETI@home,Mac OS XのXgridなどのグリッド・コンピューティング(grid computing),複数のプロセサを持つマルチプロセサ(multi-processor)や複数のプロセサ・コアを持つマルチコア(multi-core)のコンピュータ,様々な並列/分散処理を直接サポートしたプログラミング環境――こうした技術がパソコンや家庭用ゲーム機といった身近な環境で使われるようになっています。注目を集めているプログラミング言語Erlangや米Googleの分散処理システムであるMapReduceのような「並列/分散プログラミングでの煩雑さを解消するための技術

    第10回 Haskellで学ぶ並列プログラミング(その1)
  • nhc98

    nhc98 is a small, easy to install, standards-compliant compiler for Haskell 98, the lazy functional programming language. It is very portable, and aims to produce small executables that run in small amounts of memory. It produces medium-fast code, and compilation is itself quite fast. It also comes with extensive tool support for automatic compilation, foreign language interfacing, heap and time p

  • Programming in Haskell

    Programming in Haskell ページへようこそ このサイトについて このサイトは、Haskell でプログラミングを楽しむためのサイトです。 現在のところ、WiLiKi というWiKiシステムで運用されています。WiLiKiの使い方は、 WiLiKi:WiLiKi:リファレンスマニュアルを参照してください。 メイリングリスト 「Haskellプログラミングを楽しむための」メーリングリストがあります. MailingListのページをご覧ください. チャット 「Haskellプログラミングを楽しむための」チャット・ルームがいくつか存在します. ChatRoomのページをご覧ください. サイトマップ Introduction Haskell とは Definition 仕様と標準ライブラリ Tutorial チュートリアル やさしいHaskell入門 モナドのすべて なぜ関数プ

  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro
  • 毎日Haskell - FSWikiLite

    最終更新時間:2008年05月29日 19時15分03秒noriさんの everydayシリーズに影響されて私も「毎日Haskell」をやってみよう。基礎編はYet Another Haskell Tutorialにそってやっていくつもり。2008-05-19 【自由課題】重み順列挙を用いた幅優先探索、深さ優先探索(の思慮の足りないバージョン) (2008-05-29 追記: この回で書いているコードは無駄な動きをしている上、幅、深さとも有限な木にしか対応できていないことに気づいた。次回はこの反省に立ったネタを書くつもり)前回(2008-05-17 皿回し)使った列挙方法を幅優先探索にも使えることに気づいた。比較する値として (深さ, 選択した枝番号で構成される path) のペアを用いる。 bfs :: (a -> [a]) -> a -> [a] bfs f a = map snd $

  • 1