このサイトについて

このサイトは2014年11月にオーム社より発刊されました『関数プログラミング 珠玉のアルゴリズムデザイン』を楽しむためのサポートサイトです.

関数プログラミング 珠玉のアルゴリズムデザイン Pearls of Functional Algorithm Design

原書カバーの Puzzle no. 234 は ALGORITHM の 9 文字を使った Sudoku パズルになっています.

演算子記号とASCII文字列との対応

本書の記号 HaskellのASCII文字
≤ <=
≥ >=
∨ ||
∧ &&
⋅ .
≠ /=
∈ `elem`
∉ `notElem`
⊑ `isPrefixOf`
div `div`
mod `mod`
min `min`
max `max`
knows `knows`

演算子以外の構文記号の一部については,GHCの言語拡張UnicodeSyntaxを有効にするとソースコード中に記述可能です. 詳細については,GHCユーザーガイド 9.3.1 Unicode syntaxをご覧ください.

演算子に関しては,Unicodeの記号が使えますので,たとえば,1章については,以下のような定義モジュールをインポートすれば,そのままコードで表現できます.

{-# LANGUAGE UnicodeSyntax #-}
module Operators where

import qualified Data.List

infixr 5 \\

(\\) ∷ Eq a ⇒ [a] → [a] → [a]
(\\) = (Data.List.\\)

infix 4 ∈, ∉

(∈) ∷ Eq a ⇒ a → [a] → Bool
(∈) = elem

(∉) ∷ Eq a ⇒ a → [a] → Bool
(∉) = notElem

infixr 2 ∨

(∨) ∷ Bool → Bool → Bool
(∨) = (||)

infixr 3 ∧

(∧) ∷ Bool → Bool → Bool
(∧) = (&&)

infix 4 ≤, ≥

(≤) ∷ Ord a ⇒ a → a → Bool
(≤) = (<=)

(≥) ∷ Ord a ⇒ a → a → Bool
(≥) = (>=)

関連記事

読書メモなどを書いていただいた記事など,見つけたもの,教えてもらったもの.

質問・感想・誤りの指摘などについて

この翻訳書の内容に関するご質問,ご感想,誤りのご指摘などございましたら,

  • githubにイシューを開いていただくか,
  • twitter で @nobsun 宛にハッシュタグ #pfadj をつけて呟いていただくか,
  • chaton haskell-jaでコメントを投稿していただくか,
  • haskell-jp at googlegroups dot comに参加していただいてメッセージを投稿いただく.

などしていただければ幸いです. ご指摘などの場合は件名などにページ番号を入れていただけると嬉しいです. 十分な回答,即座の返信はできないことがあることを予めご了承下さい.