|
![](/i/fill.gif) |
Invisible wrote:
> All I know is that every time I've used a dynamically-typed language,
> I've spent 90% of my time fixing type errors
You're not thinking clearly, then. Type errors in a dynamically typed
language are not something that crop up a lot for people who use such
languages frequently. It takes a little getting used to to remember what
types variables are while you're writing a function, but how hard can that be?
Now, if you use a lot of crappy undocumented libraries, sure, that can be
problematic. But that's true in any language.
The only time I get type problems is I'll occasionally mix up something like
a list of list of X with a list of X, but that bombs out the first time you
run it if the type system isn't absurdly forgiving, so it's not really any
more of a problem than it getting caught the first time you compile it.
(Of course, if your IDE catches such things before you've even finished
typing the body of the function, it's nice.)
> From what little I've seen, a Lisp DSL just looks like Lisp.
That's because the people writing and using the DSLs are comfortable with
LISP. LISP had read macros, so they can look like anything you want.
> Every other language I've ever seen that has an eval function has been
interpreted.
The *eval* call has to be interpreted, sure. But if you don't use eval,
everything is compiled. If you do use eval, everything but the eval is compiled.
You're aware that C# has (or will have, depending how strict you want to be)
the equivalent of eval, right? As does Java, in some sense?
--
Darren New, San Diego CA, USA (PST)
Serving Suggestion:
"Don't serve this any more. It's awful."
Post a reply to this message
|
![](/i/fill.gif) |