Evolving Java & Lisp, by Awesome Sauce Java

It's kind of a weird thing to be saying, but Awesome Sauce Java is going to make it possible to evolve Java.  I've mentioned it before in a prior post.  But, by virtue of the design, ASJ will provide users with standard JDK Java calls, in a functional form, standard Lisp calls, new idioms, and modified/simplified/cleaned-up Java JDK & Lisp calls.

I was just looking at both Java and Lisp code.  With regards to the Java code, I'm going to start with modifications by eliminating obvious redundancy.  Where a call contains the name of the argument, I'll eliminate it.  For example, the call to processWindowEvent( WindowEvent e ), could just as easily have been called process( WindowEvent e ).

While it's going to take a little time, it just makes sense.  Because once the redundancy is removed from the calls, the language becomes easier to work with.  Calls become easier to remember and expressions become more expressive.

I'll be doing the same with the Lisp calls, too.  My hope is that by offering Java and Lisp as they exist, with an evolutionary path into new idioms and more compact expressions, other developers will start riffing on the language and it'll just keep getting more expressive, while making the language approachable to Java and Lisp programmers and appealing to those capable of bringing the two languages together in new and expressive ways.

I'm not sure how this will all turn out.  But the package system I'm building will support a diverse range of packages and methods/functions.  Plus, if I'm able to build the package system to the potential that it looks to have, then the system will support a diversity of what will essentially be dialects of the main language.  My hope is that by combining the variety under the umbrella of Java and Lisp, the dialects won't be alien as the evolve, but will allow developers and users to grow, learn, and evolve with the system.

Have a great night!

Michael
2/27/18

Comments

Popular posts from this blog

I Was Studying Exceptions, But Got Confused, So I Luckily Designed The Code Editor Instead

Just a Short Update

A Day Away From a Glowing Screen