Re: Garbage Collection (Real Features)

new topic     » topic index » view thread      » older message » newer message

Improvements to the garbage collection system. This could mean switching from
reference counting to mark/sweep, mark/compact or a copying collector. Possible
benefits include faster execution and smaller size for translated code. Possible
drawbacks include having to reserve more memory than is actually needed, and
random noticable delays during execution while garbage is collected.
Alternatively, we might simply find a way to tweak the reference counting system.

clipped from: http://www.rapideuphoria.com/future.htm 


Robert, What do you mean by "tweaking" the reference counting system? 
How about you give us some "REAL" features for v3.0! Using UPX with EX.EXE, 
changing the GC system, 32x32 icons, etc.. offer us absolutely nothing new to
the language specification. Just like the rewrite of Euphoria front-end with
Euphoria (30/70 interpreter) offered us nothing, other than the PD source
Euphoria, which only Matt Lewis and I have really used. Some of these are good
ideas, but they do not count as actual features. All they are are internal
changes and/or enhancements, NOT new features that we can use. We dont want to
wait 1 to 2 years for silly internal changes/improvements; especially this time
with Euphoria v3.0 (the next "major" release)!

Here are some "REAL" feature ideas: 

* C++ style local & global namespaces 
* Current namespace system improvement (Matt's idea) 
* The use of '=' in conditional statements 
* Assignment on declaration 
* 'Continue' Interation' keyword 
* 'Repeat Current Iteration' keyword 
* 'Constant' declaration to be scoped at routine-level 
* Forward-referencing of routines 
* Forward referencing of data (variables and constants) 
* Multiple items to be on the left hand side of an assignment 
* Desequencing operator 
* Interpreter version routine 
* Return value from a function can be be ignored 
* Block commenting 
* 32 bit integers 
* 32 bit pointers 
* Char datatype 
* String datatype 
* Fixed length vectors (arrays) 
* Data type specifier of vector declarations 
* Heterogenous fixed-length vectors (structures) 
* Pass parameters by reference 
* Limited GOTO construct 
* Code blocks within routines with their own scope 
* Named loops and blocks 
* Memory mapped data (C structures/unions) 
* Expression evaluation: eval() 
* Run-time metadata access for programmers 
* Duplicated Constant Declarations 
* Display format specified at declaration time 
* Additional metadata for variables 
* Built-In routine to delete and insert elements into a sequence 
* Built-In absolute value routine 
* Specify non-contiguous elements in slices 
* Specify slice elements via a sequence 
* Specify sequence indexing and slicing on function calls 
* Specific warning ignores (without warning xxxxx,xxx,...) 
* Swap elements built-in routine 
* Insert Elements built-in routine 
* Delete Elements built-in routine 
* Assignment as an Expression 
* Extract Elements Expression 
* Case/Switch Statement 
* Dynamic variable routines 
* Macros 

Put a few of those on your list. 

BTW... you have a type O with "multi[ple" call stacks. 


Regards,
Vincent

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu