Swift : Functional ?

Swiftの関数型言語の特徴についてのメモです。私の好みの部分だけビックアップしています。
環境 : Xcode 6.3 / Mac OSX 10.10.3

f1
f2

ソースはGithub Gistにあります。
https://gist.github.com/systemsblue/526eb360ec2ffc57a8a9

・Generator
無限の数列を生成するクラスです。引数により有限も可能です。

・Curry
関数のカリー化です。Swift自身対応しているのですが(f2)、f1の方がいろいろと応用がききそうです。コメントのf1は、簡略化した表記です。Haskellみたいです。

・Pipe
F#のパイプ演算子のように記述できます。(便利なのでいろいろと使えます。一番上に定義) 

g(f(x)) -> x |> f |> g

カリー化の部分適合の考え方を参考にすると、引数を与えられます。

参考:
http://undefinedvalue.com/2014/07/13/fs-pipe-forward-operator-swift

Tags:

Leave a Reply