These types of discussions seem to get very broad in their scope and
not much is ever settled.

That being said, it seems one place where dynamic typing is a huge
advantage is for records--Clojure records are prevalent and extremely
easy to use, and are an excellent substrate for where we would
normally use objects.

Now, it's possible to have records in statically typed languages, but
there are many different ways to do it, and not all buy you the same
properties you enjoy in a dynamic language (duck-typing a record if it
contains the correct fields, adding additional fields the library
designer didn't originally allow, etc.)

Haskell has been trying for years to get a grip on it's record story.
This isn't because it's impossible to have nice records in a static
type system, it's simply because with a static type system you have to
make a careful up-front choice about what your type system will
allow.

In a dynamic language you have none of these worries, and you are free
to impose whatever invariants you like on your records.

Great power/great responsibility, etc.

On Sep 21, 12:09 pm, Dennis Haupt <d.haup...@googlemail.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Am 21.09.2011 19:58, schrieb Ken Wesson:
>
> > On Wed, Sep 21, 2011 at 3:00 AM, Dennis Haupt
> > <d.haup...@googlemail.com> wrote:
> >> yes, but you magically need to know a) for which types does it
> >> work? if you give a byte to the function, will you get an error,
> >> or its first bit? or its first char after its been converted to a
> >> string? b) if i want my data structure to support this, how do i
> >> have to do that?
>
> > I'm curious: in what world is API documentation considered to be
> > magical? :)
>
> - --
>
> good point. in my experience, public apis often are well documented
> (no problem with clojure standard lib) while in-team-code is rarely
> documented at all
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.14 (MingW32)
> Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org/
>
> iQIcBAEBAgAGBQJOejZrAAoJENRtux+h35aGZ8gP/0sKZAOSjMLYZgD0pFy9vs5v
> 54wUcP9/D+YEreM8hW67P1j0lNcRqFzEjPDvGX+dykdrZKOrfQ1xpFboiARusLSn
> XbtoO4vlkwxwwMv9kcB6DyWtTsP7vEc9M9jJkHRNEERynk6DKBrtAX0RHXz4Qfyj
> uHHovEG+a68vcbrY1C9GqRck/Qqhdn0JjoKwFXkZGEUaPVf6rLRfav/JY8wl5Mj2
> AKYhj/0LTUCknqkMFYkflAdLLVFjYLWX+zAeac18E2/RtRFFT5kedhYzHe3CpPY4
> x6BaT5hCS/fZkyYR2kzbar1F18RL4vixmg8HbjGceLLOobW2r5EVyNRxQMv8DIpi
> XkjZiW0jqC6XFpoK2KVCaMzJwM46SWNoY6xYglV9/prdQ0Jmf5Isa/FVL+T24Mrq
> uaI6AzlKMHk4NzfQNEvJYr22q/H9oT8waEPKDMtWgQsFkSwRFotCfkqu1L5T78MT
> BlPek1RIZLTPjxt4kXNwdTC0Q52hiLKNNJakIEakHxSdlwmeT+1i3b+v+luFfdw6
> 6mGb0H8x0pUJKnU/QHFzPA/hPhg0LMOhdwTdvUm+O/7cbFhAakvhLMdUZlEmj70Y
> 9DugBMLto6bHyMk4kXUyHzP4ProiFmTwNE5P5UFhtl60svAmkxYuQXFl6JeisxX/
> zTIgie+GRZPuGSTtcKPy
> =pfvF
> -----END PGP SIGNATURE-----

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to