Re: [scala-language] The cake’s problem, dotty des ign and the approach to modularity.

Shelby <[email protected]>
Newsgroups gmane.comp.lang.scala
Message-ID <[email protected]>
Thanks nafg, Vlad, Rex, some-snytt, et al.

I will come back to this asap and with proper organization. I was in an 
extreme rush and just wanted to get my first thoughts recorded some where 
they might be seen. I especially wanted to get that summary post into the 
Scala Roadmap thread, because I am concerned that DOT and Dotty need some 
radical tweak yet before we go that direction. All the progress is great, 
but I think by not discarding subclassing and replacing it with my proposal 
for compiler assisted inversion-of-control (assuming it can't be otherwise 
unified from some other perspective such as category theory), then we will 
have lost a critical opportunity to be the next mainstream language that 
overtakes Java finally.

I recently watched the video of Martin's presentation from Scaladays 2015 
and I really love the TASTY direction to modularize orthogonal compilation 
layers. Kudos!

And I love the conceptual idea of simplification via unification (paradigm 
shift) in DOT. I just think we will miss a huge opportunity if we don't 
deprecate subclassing for Scala 3. If we love at the popular languages, it 
is Java #1 but on a steady decline (perhaps Android and Java 8 staved off a 
free fall for a short while) and all these FP languages as nipping at its 
heels, e.g. Scala, Clojure, Python, etc..

Scala needs to be cleaned up and even less verbose. Eliminating subclassing 
can enable the DOT calculus to become much simpler and also enable more 
opportunities to infer types to reduce verbosity.

IMO what has prevented an FP language from overtaking Java is the lack of 
mainstream need for any particular feature of FP, as well as it being 
presented a bit too obtusely. Scala made some leaps forward on being less 
obtuse because it looks more like a familiar OOP language, eager evaluation 
by default, non-total by default, etc.. But the most salient point IMHO, is 
there is no requirement to use typing in programming. People can make 
arguments either for and against static typing.

But I think I have shown (and I understand I need to organize my 
presentation and thoughts soon) that no one can get fine grained 
extensibility without refactoring and recompilation without my idea for 
inversion-of-control which requires the sophisticated and unified typing of 
DOT (sans the subclassing).

Even if Scala's community doesn't want to make my idea the main direction, 
I hope I can experiment and present as a side effort.

I'll try to get organized before the final commitment to current DOT has 
too much momentum. I am racing right now on other project first.

Apologies for cluttering the list with my stream of consciousness posts.

On Tuesday, July 28, 2015 at 3:01:26 AM UTC+8, Rex Kerr wrote:

-- 
You received this message because you are subscribed to the Google Groups "scala-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.