Hi Ian,
I was wondering how much your current thoughts on FONC have evolved from the
original COLA paper you wrote (pre-VPRI). 

Could you detail what concepts are the same, and what has evolved? Has the
concept of "the real thing" changed much from your original formulation?
(e.g. is jolt just an intermediate step which will eventually be
superceded?)

Barry Silverman                

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ian
Piumarta
Sent: Tuesday, November 27, 2007 6:11 PM
To: VPRI Fonc
Subject: Re: [fonc] goals

On Nov 23, 2007, at 5:04 AM, Waldemar Kornewald wrote:

> wait for Ian to make an official statement.

Can I make an officious statement instead? ;)

> What are the goals for the programming language you are creating?

For the language:

- minimum 'default' syntax[1] and semantics[1] to satisfy the  
following bullet points
- malleable syntax, semantics and pragmatics (runtime support/ 
primitives)
- completely self-describing (from machine insns to HLLs) and self- 
hosting
- static and dynamic compilation and anything in between
- support for static[1] and dynamic[2] typing and anything in between[3]
- late-bound implementation that could replace itself completely at  
runtime[4]

[1] minimum needed to (1) understand C header files and generate  
library glue and check API correctness and (2) for [3] below
[2] including multiple dispatch, since the cost is more than  
amortised by simpler back-end and numeric code
[3] e.g., static type annotations that mangle selectors to help  
create transparent 'dynamic cast' mechanisms between objects and  
primitive types
[4] including function calling conventions, dynamic dispatch  
mechanisms, etc.

For the system (as opposed to the language):

> As far as I understand the goals for the language are:
> * increased productivity (20K lines of code)
> * more correct code (?by using better concepts and automatic  
> checking?)

A goal is certainly to create an environment conducive to these.  See  
my previous message about intent vs. optimisation.

> * ?better performance than Smalltalk?

It entirely depends on what you are trying to do.  If you stay  
entirely within the functional part of the language and avoid  
closures you can expect performance as good as (or even better than)  
C.  If you spend most of your time sending messages, count on them  
costing 150% to 250% of a static (C-like) function call for one  
dynamic (single) dispatch.  If you build your own inference engine  
and feed it prolog, your might never even terminate. ;-)

> What about goals that give this language an identity:
> ? easy to learn

No.  Trivial to 'mutate' into a language that is easy to learn: YES!

> ? minimalistic syntax

Yes.

> ? very readable code

No.  Conducive to creating languages that attempt to optimise  
readability: YES!

> ? free of unnecessary complexity

Yes.

> ? easy and natural to think in

No (except for a very particular kind of brain).  Conducive to  
creating systems that are easy and natural: YES!

> ? attract many mainstream programmers

No.  Conducive to creating systems/languages (standard or otherwise)  
that will attract the mainstream: YES!

> If you say "yes" to most of them could you (and the other VPRI
> members) please order them by priority?

All of the above.  The 2.5 'yes' responses should fall right out of  
the circular system described at the start of this message.

Cheers,
Ian

PS: Seeing the next message in this thread, I agree with everything  
Yoshiki said.  (He was being way too modest in the last line of his  
reply.)


_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc



_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to