Re: Ideas for next Eu

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

------=_NextPart_000_0042_01BF29D9.35CC80A0
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I really don't see the need for any fundamental change in the way =
Euphoria works.  A GUI and better file handling would be highly =
desireable--in my mind, better as includes than built-ins so that those =
who prefer alternatives can use them easily.  With regard to routine_id, =
I find it essential--there is no other means for indirect function and =
procedure calls--and it's MUCH easier than pointers!  I might like to =
have something comparable for data to allow indirect references, but =
this isn't critical.  I would like to see the restriction on forward =
references dropped, but can live with it.  A possible compromise:  C's =
method of requiring functions to be declared before use but not =
requiring them to be defined before use could be implemented in =
Euphoria:

declare function foo(integer,sequence)

bar=3Dfoo(15,"ABC")

function foo(integer i,sequence s)
    return s[i]
end function

This would be more readable than the routine_id equivalent and might not =
be too hard to implement.
And of course namespaces must be addressed.  But all of these ideas are =
improvements to Euphoria, not fundamental changes of direction--IMHO, =
changes like variables global by default or passing by reference, etc. =
would be.

Actully, the more I think of that last isssue, the more I like the idea =
of data_id:

integer x,y
x=3D17
y=3Ddata_id("x")

then y could be passed as a parameter to a routine which could use if to =
maipulate x indirectly--the power of pointers without the enormous =
complexity.  And it wouldn't get in anyone's way who didn't want =
it--just don't use it.

Actually all the OOP ideas I've seen do this, but having it built in =
would be useful in some non-OOP contexts as well.

--MIke Nelson




------=_NextPart_000_0042_01BF29D9.35CC80A0
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>

<META content=3Dtext/html;charset=3Diso-8859-1 =
http-equiv=3DContent-Type>
<META content=3D'"MSHTML 4.72.3110.7"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 size=3D2>I really don't see the need for any =
fundamental=20
change in the way Euphoria works.&nbsp; A GUI and better file handling =
would be=20
highly desireable--in my mind, better as includes than built-ins so that =
those=20
who prefer alternatives can use them easily.&nbsp; With regard to =
routine_id, I=20
find it essential--there is no other means for indirect function and =
procedure=20
calls--and it's MUCH easier than pointers!&nbsp; I might like to have =
something=20
comparable for data to allow indirect references, but this isn't =
critical.&nbsp;=20
I would like to see the restriction on forward references dropped, but =
can live=20
with it.&nbsp; A possible compromise:&nbsp; C's method of requiring =
functions to=20
be declared before use but not requiring them to be defined before use =
could be=20
implemented in Euphoria:</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>declare function=20
foo(integer,sequence)</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 =
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>function foo(integer i,sequence =
s)</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2>&nbsp;&nbsp;&nbsp; <FONT =
color=3D#000000>return=20
s[i]</FONT></FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2><FONT =
color=3D#000000></FONT></FONT><FONT=20
size=3D2>end function</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>This would be more readable than the routine_id =
equivalent and=20
might not be too hard to implement.</FONT></DIV>
<DIV><FONT size=3D2>And of course namespaces must be addressed.&nbsp; =
But all of=20
these ideas are improvements to Euphoria, not fundamental changes of=20
direction--IMHO, changes like variables global by default or passing by=20
reference, etc. would be.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Actully, the more I think of that last isssue, the =
more I like=20
the idea of data_id:</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>integer x,y</FONT></DIV>
<DIV><FONT size=3D2>x=3D17</FONT></DIV>
<DIV><FONT size=3D2>y=3Ddata_id(&quot;x&quot;)</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>then y could be passed as a parameter to a routine =
which could=20
use if to maipulate x indirectly--the power of pointers without the =
enormous=20
complexity.&nbsp; And it wouldn't get in anyone's way who didn't want =
it--just=20
don't use it.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Actually all the OOP ideas I've seen do this, but =
having it=20
built in would be useful in some non-OOP contexts as well.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>--MIke Nelson</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>

------=_NextPart_000_0042_01BF29D9.35CC80A0--

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

Search



Quick Links

User menu

Not signed in.

Misc Menu