Hello David,
Am Donnerstag, 21. Juli 2011 15:54:56 UTC+2 schrieb David Nolen:
This is something I personally don't like at all. What does this code do:
>> (geto x y z)? You can't tell you have to look at the surrounding context.
>> And that context can be arbitrary large. A similar example is Erlang pattern
>> matching. What does this erlang code do: {X, Y} = {1, 2}? You can't tell.
>> You have to look at the context whether X and/or Y are bound there.
>>
>
> You do not need to look at the surrounding code to know what (geto x y z)
> does. It establishes the geto relation between x y z. x must be some key in,
> y must be a vector of key-value pairs and z must be a value in y. The
> relation guarantees this.
>
But then the "return value" (I know that there is no return value) is again
boolean. Either it succeeds or not. Either (x, z) ∈ y, or not. But I will
shut up now and wait for more Ambrose-Tutorials to learn about logic
programming. When this sinks in, I will understand it.
Meikell
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en