タグ

preludeとlistに関するishideoのブックマーク (1)

  • Haskellのリスト操作をOCamlに移植(1) - みずぴー日記

    30分プログラム、その342。たまにはProject Euler以外も。 Haskellの関数、特にPreludeにあるようなやつは実に考えられている。例えば、foldl1あたりは簡単に書けるのに、かなりいろんなところで使えて便利だったりする。 というわけで、このあたりの関数をOCamlに移植してみる。とりあえずリスト関係の関数から。いちおうユニットテストも書いておいた。 使い方 # last [1;2];; - : int = 2p # sum [1;2;3];; - : int = 6 ソースコード let (@@) f g = f g let ($) f g x = f (g x) let rec last = function [] -> invalid_arg "HList.last" | [x] -> x | x::xs -> last xs let init xs = let

    Haskellのリスト操作をOCamlに移植(1) - みずぴー日記
  • 1