Re: Feature requests for Eu 2.5.

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

On Tue, 19 Aug 2003 03:15:50 +0000,
Christian.CUVIER at agriculture.gouv.fr wrote:

>Beware the long post...
Ditto. I'll try and keep it as brief as possible though. I'm only
going to give my opinion, not detailed argument, and I'm only doing
this so my priorities are voiced, not to start a war.

I do really like Euphoria as it is, but of course that doesn't mean I
can't think of any improvements, either.
>
>The following is a commented list of features that I'd find desirable
>in Eu 2.5.
>
>A/ Variable management
>1/ Pass by reference in routines
No (Just my opinion, don't start on me blink
>2/ Variable sharing
See named scopes
>3/ Static variables in routines
An ini file is much better. The ini file handler Mike coded for
MEditor is very good, btw.
>4/ Allow uninitialized symbols to be passed to and returned from=3D20
>routines.
No
>5/ Arraying of symbols.
See variable_id()
>6/ Namespace hierarchy
Ah namespaces blink Providing Matt Lewis' mods go into 2.5 that'll
probably do for now.
>7/ Scoped symbols
I like this idea enough I've made it a separate post
>B/ Routine management
>1/ Forwarding.
If you are complaining about the syntax of routine_id then go away.
However, I must disagree with the religious zealotry which dictates:

procedure add_to_table(sequence name, object value)
	x&=3D{routine_id(name),value}
end procedure

procedure a()
end procedure
add_to_table("a",1)

must give an error.True, routine_id() occurs on a line of code before
the definition of a(), but is executed after a() has been defined.
>2/ Allow discarding of function return values.
See next
>3/ Return of several symbols.
In OE we decided on (cmiiw):
	#(x,y)=3D{a,b}	means x=3Da, y=3Db
	#(x,y)#=3D{a.b}	means x=3D{a,b}, y=3D{a.b}
admittedly the second form is less useful.
The right hand side may be a function returning a sequence, and
	#()=3Dfunc()		will discard the results.
>4/ Optional parameters.
No. A minor syntax improvement would be the only gain.
>5/ Default values for arguments.
Ditto. See how pretty_print does this.
>6/ Named parameters
Maybe. You can use your own enumerated constants to achieve this tho.
>7/ Nested routines
No. named scopes would be a better way to handle this.
>8/ Routine_ids for builtins.
Yes.
>9/ Routine redefinition.
Don't understand. You can already do this. If it was in a named scope
there would be no need for an undeclare routine.
>C/ Instruction flow cntrol
>1/ Optional argument for the exit statement.
>2/ Next statement
>3/ Retry statement
>4/ Exif statement
>5/ Select statement=3D20=3D20=3D20
>6/ xwhile loop
All No. (This is just my opinion, remember)
>7/ Exception handling
=46atal error handling Yes, user-defined throw, No.
>8/ Guards
No
>9/ Dynamic code execution.
No. I plan to release an expression evaluator later this year.
>10/ Selective type checking.
No. Use explicit type checking.
>11/ Additional type checking.
Ditto
>12/ Watch facility
No, this is a simple application-specific function.
>D/ Sequences and slices
>1/ Negatives indexes
Yes.
>2/ More slices
No. write a simple application-specific function.
>3/ Shorthands for "length(this)"
No. -1 is enough for me. Omitted slice start/end is a typo, not a
shorthand.
>4/ Composition of sequences
No. write a simple application-specific function.
>5/ Dynamic indexing
Ditto.
>6/ Sequence manipulation routines
Ditto...
>built-ins would probably increase speed.
I doubt they would be used often enough to warrant this.
> E/ Object programming capabilities.
>1/ Structures
>2/ Classes
>3/ Dot notation
Possibly some syntax mods to make third party libraries easier to use
>F/ Miscellaneous
>1/ Pre- and post-inc/decremnet operators C-style
>2/ Allow concatenation of logical relations, such as 0<=3D3Dx<=3D3D9.
>3/ Allow assignments inside conditions.
Maybe.

I've already mentioned warnings and improvements to trace.

And lastly, variable_id(). Admittedly I haven't got my head round all
the cases it should handle or the difficulties it might create.
I once proposed some scope rules for this. I'll dig them up if anyone
is interested.

Pete

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

Search



Quick Links

User menu

Not signed in.

Misc Menu