Version française
Home     About     Download     Resources     Contact us    
Browse thread
Dynamic loading. Again.
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: John Max Skaller <skaller@o...>
Subject: Re: Dynamic loading. Again.
Chris Hecker wrote:
> 
> >{I think all this stinks, and is a result of using a stupid language
> >like C for systems programming .. but that's another story]
> 
> Okay, I'll bite.  Why does the current situation stink, and how would you change it?
> 
> Chris

	I'd start by eliminating global variables;
probably, I'd eliminate the stack as well and use continuation objects.
Function pointers would denote closures (not just code objects).
I'd throw out all primitive data types (except possibly bool).
main would go. Compiled interfaces with type-safe linkage.
Decent syntax. More formal standard. 
Ummm.. just about everything you can think of is wrong with C.

	I'm currently developing an application level language
(called Felix) that does some of this. [No global variables,
closures, procedural continuations, garbage collection.
Functional code still uses the machine stack for performance.
Functions cannot have side effects (but they can depend on
variables in their environment). 

	The translator control inverts procedural code so that
one writes blocking reads, but the generated code is actually
event driven. 

	There are no primitive data types (except, sort of, bool).

	Gak: the generated code is C/C++. For a low level systems programming
language, you'd need to target assembler (which is much harder).
The syntax is a bit C like, to attract the C/C++ people.

-- 
John (Max) Skaller, mailto:skaller@maxtal.com.au
10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850
checkout Vyper http://Vyper.sourceforge.net
download Interscript http://Interscript.sourceforge.net