On Sun, May 3, 2015 at 6:42 AM, Keean Schupke <[email protected]> wrote:
>The syntax usually used
> for your example is:
>
> let x = 3,
> y = 4
> in x + y
afaict they don't have multiple = let, so they would have to use
let (x, y) = (3, 4)
in x + y
or the long form of
let x = 3 in
let y = 4 in x + y
I don't find that a compelling reason
the only reason which i find might be (potentially) compelling is replacing:
let x = someList
y = someOtherList
in
let foo = someSlowOperationOn(someList)
bar = someSlowOperationOn(someOtherList) in
in someResult(foo,bar)
into:
let x = someList
y = someOtherList
in let foo = someSlowOperationOn(someList)
& let bar = someSlowOperationOn(someOtherList)
in someResult(foo, bar)
rather than:
let x = someList
y = someOtherList
in let foo = someSlowOperationOn(someList) in fn result(x) =>
someResult(foo, x) let bar = someSlowOperationOn(someList) in bar
that is that two let declarations only use parameters from their
parent environments, and not from every leaf in the sequential
evaluation which multiple let assignments use...
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev