
On 2017-06-27 18:35, PATRICK BROWNE wrote:
Thanks for all your help. I was unaware that there was a relation between let/where and lambdas. Here is my effort to use a single lamda md3 n = (\n -> (dist (Point (4.0 + 0.5 * n) (4.0 - 0.5 * n)) (Point (n * 1.0) ( n * (-1.0))))) n
I imagine that this function could be written without lambdas, let, or where.
Indeed, it could. Note that your definition has the form md3 n = (\n -> (dist )) n I.e. the expression 'md3 n' is equivalent to the expression '(\n -> (dist ..)) n', which means 'apply the lambda expression to n'. You don't need the lambda expression if you apply it to a given argument directly though, i.e. the above definition is equivalent to md3 n = dist ..
Is it generally true the all/most functions could be written without lambdas, let, or where?
I believe it is true since you could define any function as a global definition (i.e. not a nested scope as in let..in or where). -- Frerich Raabe - raabe@froglogic.com www.froglogic.com - Multi-Platform GUI Testing