6 ms·
Scala got no macros. Which makes it infinitely less powerful than any language with macros, including even something like Clojure.
by sklogic 11y ago
Scala got no macros. Which makes it infinitely less powerful than any language with macros, including even something like Clojure.
- bonobo3000 11y agoSimilarly, Clojure got no types. Which makes it infinitely less runtime-safe then any language with types. Takes a more nuanced argument.
- sklogic 11y agoFor a language with macros it does not matter at all. You can add any type system you like on top of it. Metalanguages are infinitely flexible.
- justthistime_ 11y agoThe strength of a type system is that there is one. If everyone uses his/her own self-made pet of a typesystem most of the benefits are gone as soon as you are more than a one-man-hobbyist project. Probably explains why most Lisps consist of one-man-hobbyist projects, though.
- sklogic 11y ago> The strength of a type system is that there is one. I do not agree. There is no single type system that would fit all the possible use cases. > Probably explains why most Lisps consist of one-man-hobbyist projects, though. No, it does not.
- justthistime_ 11y agoType systems are by-definition only a conservative approximation of all programs. The good thing is that 99.999999999999% of all programs never need to be written, and there are plenty of type systems which deal well with the last 0.00000000001. > No, it does not. Ok, that leaves the failure of Lisp outside of hobbyist mom's basements a mystery.
- sklogic 11y ago> Type systems are by-definition only a conservative approximation of all programs. This is where I lost a track of your arguments. > Ok, that leaves the failure of Lisp outside of hobbyist mom's basements a mystery. Lisp did not fail. It's in pretty much all the mainstream languages now.
- justthistime_ 11y ago> This is where I lost a track of your arguments. Then maybe you should maybe spend some time studying these topics instead of acting up on HN. > Lisp did not fail. It's in pretty much all the mainstream languages now. This is where I lost the last doubts about the reality and your lack of closeness with it.
- sklogic 11y ago> Then maybe you should maybe spend some time studying these topics instead of acting up on HN. Chances are, I implemented more varieties of type systems than you can name. > This is where I lost the last doubts about the reality and your lack of closeness with it. Scala fanboys are much more detached from the reality. The reality rejected bondage&discipline languages long ago.
- justthistime_ 11y agoYou continue to amuse me.
- justthistime_ 11y agoWhat makes you think that Scala has no macros?
- sklogic 11y agoIt got some rudimentary macro support only recently, and still they're not the proper macros, more like a TH limited approach. The worst part which makes macros much less useful is that you cannot have a macro definition and use it in the same compilation unit. In fact, adding proper macros support to any language is trivial. Pity that very few are bold enough to do it.
- justthistime_ 11y agoYour whole comment tells me that you are completely unaware of how macros in Scala work and how they are developed further.
- sklogic 11y agoSo now it's possible to use a Scala macro in the same module it's defined? Good. But then documentation is too much behind, and this is most certainly not good at all.
- dragonwriter 11y ago> Scala got no macros. Which makes it infinitely less powerful than any language with macros, including even something like Clojure. Scala has macros since 2.10 http://docs.scala-lang.org/overviews/macros/overview.html http://docs.scala-lang.org/overviews/macros/overview.html