[erlang-questions] Style wars: junk comments
Richard O'Keefe
ok@REDACTED
Wed Sep 12 23:59:15 CEST 2012
On 12/09/2012, at 11:48 PM, Fred Hebert wrote:
> This is the approach I like the most.
>
> It's something I picked up when working with Scheme, where functions can contain the definitions of their helpers within them, which made the code much clearer to me.
Scheme and ML have features that make this rather more useful
than it is in languages like Clean and Haskell. In ML you can
write
local
<private definitions>
in
<public definitions>
end
and this has the effect that the things defined in
<private definitions> are visible in <public
definitions>, but not outside, while the things
defined in <public definitions> are visible outside.
For example, you might have
local
fun rebalance t = ...
in
fun add k v t = ...
fun del k t = ...
end
Scheme lets you hack this by doing
(define add)
(define del)
(letrec ((rebalance (lambda (t) ...))
(set! add (lambda (k v t) ...))
(set! del (lambda (k t) ...))
'ok)
I see this quite a lot in Scheme.
If Joe's still thinking about Erlang 2, I hope he'll consider
the functionality of local-in-end.
More information about the erlang-questions
mailing list