Arc Forumnew | comments | leaders | submitlogin
1 point by aw 5629 days ago | link | parent

That's interesting that Haskell also uses the term "implicit". The differences seem mostly related to the type system. For example, since the variables are statically typed, it's easy for them to overload "let" to do dynamic binding with implicit parameters. Is there some other subtle difference that I'm missing?

The "it's always been called X before" argument would prevent us from ever improving the language by coming up with better names; we'd still be calling anonymous functions "lambda" instead of "fn" etc.



1 point by rntz 5613 days ago | link

Er, see the post you replied to: that code I gave is precisely the same modulo syntax, but in Common Lisp it evaluates to 1 and in Haskell to 0. Essentially, Haskell's implicit variables don't allow rebinding/shadowing. It's a bid hard to explain, but look at the example and play around a bit and you'll see what I mean.

-----

1 point by aw 5613 days ago | link

Ah, I don't know enough Haskell to really be able to see what's going on. Thank you for the description though.

-----