On 1 Dec 2010, at 18:35, Joel James Adamson wrote:

It seems natural to translate (f, g) x into ((f g) x), and () x into
(() x), but I'm not sure if the lists (f g) and () can be made acting
as functions this way.

(f g) would evaluate as a composition as long as f takes a procedure as
an argument and returns a function that takes x as its argument.  No
problems there. Alternatively you could think of f returning a function
of x when it evaluates g.

Yes, but in standard syntax would be natural to let (f, g)(x) evaluate to (f(x), g(x)), producing a list of two elements. In Guile, that would be something involving "map". If I try in Haskell, I can let (sin, cos)(2) be the same as
  map (g 2) [sin, cos] where g x = \f -> f x
   -> [0.909297426825682,-0.416146836547142]
But when I try that similar constructs in Guile, I get problems with evaluation.



Reply via email to