タグ

haskellに関するhtzのブックマーク (4)

  • 関数型プログラマのためのRust | POSTD

    この投稿はEdward Z. Yangが2010年に書いた OCaml for Haskellers 、私自身が今年頭に書いた Haskell for OCaml programmers の流れに沿っています。 目次 プロローグ なぜRustを学ぶべきか 直接対応が可能なもの トレイト:Rustの型クラス アドホックなオブジェクトとメソッド 安全な参照 寿命と記憶域、そして管理オブジェクト オブジェクトの共有:RcとArc マクロとメタプログラミング リテラル 謝辞 参照 Copyright and licensing 注 : この記事の最新版は下記サイトで見られます。 http://science.raphael.poss.name/rust-for-functional-programmers.html 他のフォーマット: Source , PDF プロローグ C言語プログラマのための

    関数型プログラマのためのRust | POSTD
  • 第19回 配列でデータ・アクセスの効率を上げる

    Haskellでは,リストを基的なデータ構造として様々な用途に使います。一方,Cなどの命令型の言語では,配列(Array)を基的なデータ構造として用います。 この違いはどこから生じているのでしょうか? Haskellでリストを使う場合と配列を使う場合にはどのような違いがあるのでしょうか? 今回はこうした切り口で配列について考えていきたいと思います。 リストと配列の違い 配列には様々な実装方法があり,どのような実装を採用するかによって細かい性質が異なります。ただ,どのような実装であっても,配列には共通した性質があります。先頭からの逐次的なアクセスにもランダムな要素へのアクセスにも同じように適しているという点です。 リストは再帰的な定義になっているため,当然,逐次的なアクセスには適しています。しかし,参照(look-up)や更新(update)などの操作で必要とされる,ランダムなアクセスに

    第19回 配列でデータ・アクセスの効率を上げる
  • 第24回 マルチスレッド環境下でのFFIの利用

    並行処理の存在は,プログラムやそれを記述するための言語仕様に対して,良くも悪くも影響を及ぼします。FFIも例外ではありません。FFIの仕様やFFIを使ったプログラムを並行処理しようとする場合,きちんと考慮しなければうまく動作しない可能性があります。 第12回で説明したように,GHCの拡張機能や次期標準Haskell'で追加される新機能という形で,Haskellにもスレッドを使用した並行処理の仕組みが存在します。今や,実用的なプログラムを作るうえで,FFIとスレッドとの関連を避けて通ることはできません。 FFIをスレッドに対応させるための追加仕様は,「Extending the Haskell Foreign Function Interface with Concurrency」という論文,およびそれを要約した「The Concurrent Haskell Foreign Function

    第24回 マルチスレッド環境下でのFFIの利用
  • Tour of the Haskell Syntax

    Author: Arjan van IJzendoorn ( afie@cs.uu.nl ) This document gives an informal overview of the Haskell syntax. A formal syntax can be found at the Haskell homepage. I've made this document because the book we use for teaching here (Haskell School of Expression, Paul Hudak) introduces language constructs by example and the reader may not get a feel for for the language as a whole. For example

  • 1