SAC was discussed earlier and found having rigid
(non-dynamic) compilation. Whereas a byte-coded or
virtual-machine based approach may be more appealing
in to-day's world; a technology already used in SmallTalk
long time ago. Besides SmallTalk is fully dynamic.

Although a superior choice for dynamic compilation
is .NET, still a good cross-paltform and more widespread
Java alternative sounds feasible. 

Below are a few links on the topic. I also have a very
small read-eval-print-loop (REPL) prototype in Java
with sample output below.

So I was thinking, maybe we should create a Wiki page
for the topic to collect such observations, ideas, links
and code snippets?

   2+2
4.0
   a=Math.cos(1)
0.5403023058681398
   b=Math.sin(1)
0.8414709848078965
   a*a + b*b
1.0
   sum(new double[]{1,2,3});} double sum(double[]a){ double s=a[0]; for(int i=1;
i<a.length;i++)s+=a[i];return s
6.0



The JVM as an (Un)Common Language Runtime.url 
http://www.artima.com/weblogs/viewpost.jsp?thread=176597

Add dynamic Java code to your application - Java World.url 
http://www.javaworld.com/javaworld/jw-06-2006/jw-0612-dynamic.html

The basics of Java class loaders - Java World.url 
http://www.javaworld.com/javaworld/jw-10-1996/jw-10-indepth.html


--- Robert Bernecky <[EMAIL PROTECTED]> wrote:

> 1. The design concepts of SAC are freely transferable to any other
> language,
>    or even to another implementation of the same language.
> 
> 2. The licensing terms of SAC are, I believe, primarily intended to keep
>    the lawyers away from the SAC crew.
> 
> 3. The licensing terms of SAC have been under review for
>    some time now, and are likely, I suspect, to become
>    more liberal.
> 
> Bob
> 
> On Thu, 2008-01-10 at 09:54 -0800, Jose Mario Quintana wrote:
> > > From: Robert Bernecky <[EMAIL PROTECTED]>
> > > 
> > > As for the installed user base problem, the SAC approach appeals to me:
> > > Implement a minimal core language, then define every other
> > > language (e.g., structural verbs - transpose, 
> > > rotate, reverse, reshape...) in terms of that core, placing those
> > > definitions in a standard library or include library. 
> > > 
> > > This approach offers several advantages to the all concerned:
> > > 
> > > - non-conforming changes, such as the iota change above, can
> > > be implemented by adding a NEW member to a library, or by
> > > releasing a new library with a different name.
> > > The installed user base can convert apps to the new semantics
> > > at their leisure, or not at all, as they wish.
> > > 
> > > - strong optimizations give the library code and user-defined code
> > > the same power. 
> > > 
> > > - if you don't like the distributed version of, say, iota, you
> > > can just change the definition of it in your library. At your
> > > own peril, of course, if you use other people's code and want it to
> > > work.
> > > 
> > > - SAC also lets a user define new types, at no cost in run-time
> > > efficiency, so you are not chained
> > > to the design decisions of the language implementer.
> > 
> > SAC looks intriguing; but, for some of us,
> > License Agreement ... Any use of this software with a commercial purpose or 
> > in a commercial
> environment is not granted by this license and requires explicit permission. 
> > makes it academic.
> > 
> > > 
> > > Bob
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 



      
____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  
http://tools.search.yahoo.com/newsearch/category.php?category=shopping
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to