4 ms·
This http://www.dartlang.org/docs/technical-overview/index.html http://www.dartlang.org/docs/technical-overview/index.html A delightfully blank page :-) Yes it
by zohebv 15y ago
This http://www.dartlang.org/docs/technical-overview/index.html http://www.dartlang.org/docs/technical-overview/index.html
A delightfully blank page :-) Yes it mentions classes, interfaces, optional types, libraries, tools, structured yet flexible language. But all of these are a given. Is there nothing else?
What about Generics, Covariance/Contravariance ? Type inference? Odersky thinks type inference in the presence of subtyping is untenable. Is it the same here? Are interfaces linearized as in Scala? What about immutability? It might be too much to ask for rank-2 polymorphism and Haskellish Type Classes but what about support for delimited continuations? Let me guess, these aren't "design goals". All I am saying is this isn't 1990 either.
- mda 15y agoI guess you should have a look at the language spec, there are answers to some of your questions and concerns. (http://www.dartlang.org/docs/spec/dartLangSpec.pdf http://www.dartlang.org/docs/spec/dartLangSpec.pdf) For example: " Dart supports optional typing based on interface types. The type system is unsound, due to the covariance of generic types. This is a deliberate choice (and undoubtedly controversial). Experience has shown that sound type rules for generics fly in the face of programmer intuition. It is easy for tools to provide a sound type analysis if they choose, which may be useful for tasks like refactoring."
- rayiner 15y agoAlmost none of those things are relevant to a dynamically-typed language. If you want a statically-typed language use a statically-typed language. What Dart brings to the table is a dynamic web language that's somewhat more structured than Javascript by using a class mechanism and optional typing. This is a great region of the design space, inhabited by languages like Common Lisp and Dylan.