Re: Garbage Collection (Real Features)
- Posted by Vincent <darkvincentdude at yahoo.com> Jun 28, 2005
- 506 views
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