Compositionality: the properties of interest at system level can be determined from relevant properties of its constituent components
Composability: the properties determined for individual components in isolation should hold in the face of composition with other components
という文を見つけました:http://www.ada-europe2013.org/talks/S9T2%20Baldovin.pdf
Programming F#の原著のExample3-3 Functions returns functionsで、
> // Functions returning functions
let generatePowerOfFunc baseValue =
(fun exponent -> baseValue ** exponent);;
val generatePowerOfFunc : float -> float -> float
> let powerOfTwo = generatePowerOfFunc 2.0;;
val powerOfTwo : (float -> float)
> powerOfTwo 8.0;;
val it : float = 256.0
> let powerOfThree = generatePowerOfFunc 3.0;;
val powerOfThree : (float -> float)
> powerOfThree 2.0;;
val it : float = 9.0
という例があって、そこに説明として
If you look closer at our generatePowerOfFunc function, you’ll notice that its parameter
baseValue is used in the two lambdas it returned.
とありますけど、これが言っている意味(two lamdas?1個しかないように見える)が分かりません。
ちなみに訳書を見ると、
generatePowerOfFunc関数をよく見てみると、baseValueという値が2つのラムダ式中で使用されることが分かります
とあります。