1. RE: Anyone done anything with the Euphoria Source Code?

-------Phoenix-Boundary-07081998-

Hi Ray Smith, you wrote on 1/17/02 9:43:14 PM:

>(as in the subject line) ... Anyone done anything with the Euphoria
>ource Code?
>
>Any future projects anyone is thinking of doing?
>

1) Added initializers (as in: 'integer a=3, b, c=5').

2) Enhanced '?' -- Things which look like strings, print as strings.

3) Implemented slicing shorthands ('foo[3..]') as a scanner
    macro -- a bit of a kludge but it works.

4) Working on adding pass-by-reference.

These are interesting hacks but its hard to believe they have any future.

Karl Bochert

-------Phoenix-Boundary-07081998---

new topic     » topic index » view message » categorize

2. RE: Anyone done anything with the Euphoria Source Code?

David Cuny wrote:

> On the other hand, there's a real lack of high-level documenation. So 
> there 
> really isn't enough information given to make me feel comfortable with 
> messing with the language itself. For example, there's no real overview 
> of 
> what the Euphoria 'virtual machine' looks like, and what the data 
> structures 
> look like. I don't know how to search for routine names, or how to 
> determine 
> if a variable is a sequence...
> 
> I guess the information is there, but there's no guide for the code, 
> other 
> than in-line comments.
> 
> I hate to sound so negative - I think that having the Euphoria source 
> code is 
> a great thing. But at this point, it's certainly lacking in a lot of 
> things 
> that would make it easier to code.
> 
> Perhaps those who purchased it could get together with Robert and start 
> writing a tutorial?
> 
> -- David Cuny

David: 
  I have the same problems with following the code.
  I wanted to use djgpp to compile the DOS source compiler
  because I did not want to use watcom's LE format instead
  PE format. Well I compiled the djgpp source and found it
  was too slooow. If you remove the special macros to speed
  it up then djgpp won't work. So I look and find that exu
  is using GCC which is the SAME compiler so my question is
  why isn't DJGPP setup to run the same way as GCC. Rob
  told me all I need to do is play around with the macros.
  So I started going through the code and adjusting the macros
  and after hours and days of going over the code I am still
  crashing my system. I guess I thought the source would be
  well documented and easy to modify but I was wrong.
  I guess it would be easier to understand if I had spent
  10 years writing and compiling the code.
  At least I'm learning some things.
Bernie

new topic     » goto parent     » topic index » view message » categorize

3. RE: Anyone done anything with the Euphoria Source Code?

David Cuny wrote:
> Perhaps the folk who have the source could get together and puzzle out a 
> 
> single feature? I'm thinking:
> 
>   integer a = 12, b, c = 22
> 
> might be a good start?
> 

David:
  I'am afraid that is more than I could handle with my
  limited understanding of the code today.
  I don't think it will be that easy because you have
  to test to be sure the user is initializing with
  proper type of data and do a lot of type checking, let alone
  the parsing for atoms, integers, sequences, etc.
  Then you have to stiched that all into to the code in the
  proper places by guessing what the code does.
  I'am still trying to figure out how the code works without
  changing it too much.
  I think a major problem was that the code was first developed
  using the watcom compiler which uses OS2's LE format when every
  other compiler these days uses COFF or PE format, that's why the
  code has to be adjusted for every different compiler. It would be
  much easier to maintain the code on a different compiler.
  Watcom may have been the best compiler in it's day but that was
  when there were no good fast graphics libraries or good DOS
  extenders. There are some errors that are generated
  when using watcom, like exiting a function and not always doing a
  return; that can be eliminated by using a #pragma that is
  available in MS, DJGPP, and GNU "C" but not in watcom.
  I'am not a professional programmer, so maybe my opion of watcom
  is not correct, but I don't think I would want to use it to try
  to build code to port easly to other platform unless I wanted to
  port it OS2.
Bernie

new topic     » goto parent     » topic index » view message » categorize

4. RE: Anyone done anything with the Euphoria Source Code?

My first project would be to add a symbol for slicing to the end of a 
sequence..

instead of writing:
   my_sequence[1..length(my_sequence)]
you could write my_sequence[1..?], or maybe just [1..]
I think it's more readable to have a symbol in there though..
By using a symbol, instead of a number, you avoid complications with 
slice checking.

I haven't seen the source, but I would expect it to be one of the more 
straight forward revisions you could do.

Another might be to add auto assignment of unassigned function calls.
That's just candy though.. but should be fairly simple. In comparison to 
other mods anyways..

foo(a,b,c)
   would equate to;
VOID = foo(a,b,c)

You could also add support for trailing commas for declarations.
Shouldn't be hard. When a new structure is found, the declaration is 
terminated. This would be greatly appreciated. I'm sure David would 
agree with this one ;)
You might have to add a new structure to deal with this though, to avoid 
naming conflicts.
Something like this...
declare constant
end declare

Chris

tone.skoda at siol.net wrote:
> If I had source code I would add these things (in order of importance):
> 
> 1. Simplified object orientation:
> 
> A small example:
> 
> include circle.e as circle
> 
> circle circle1
> circle circle2
> 
> circle1.x = 100
> circle1.y = 100
> circle1.radius = 10
> 
> circle2.x = 200
> circle2.y = 200
> circle2.radius = 50
> 
> circle1.draw ()
> circle2.draw ()
> 
> Code above would draw two DIFFERENT circles.
> 
> 
> 2. Visual debugger with treeviews for sequences.
> 
> 3. Structures or something similar. To atleast turn this:
> point [POINT_X] = x
> into this:
> point.x = x
> 
> No other thing comes to mind this moment.
> Feature that every routine must be before you call it is not so bad 
> thing.
> It keeps your code more organized. gotos are not needed. Maybe 
> "continue"
> statement.
> 
>

new topic     » goto parent     » topic index » view message » categorize

5. RE: Anyone done anything with the Euphoria Source Code?

How about a switch/case structure too?

bensler at mail.com wrote:
> My first project would be to add a symbol for slicing to the end of a 
> sequence..
> 
> instead of writing:
>    my_sequence[1..length(my_sequence)]
> you could write my_sequence[1..?], or maybe just [1..]
> I think it's more readable to have a symbol in there though..
> By using a symbol, instead of a number, you avoid complications with 
> slice checking.
> 
> I haven't seen the source, but I would expect it to be one of the more 
> straight forward revisions you could do.
> 
> Another might be to add auto assignment of unassigned function calls.
> That's just candy though.. but should be fairly simple. In comparison to 
> 
> other mods anyways..
> 
> foo(a,b,c)
>    would equate to;
> VOID = foo(a,b,c)
> 
> You could also add support for trailing commas for declarations.
> Shouldn't be hard. When a new structure is found, the declaration is 
> terminated. This would be greatly appreciated. I'm sure David would 
> agree with this one ;)
> You might have to add a new structure to deal with this though, to avoid 
> 
> naming conflicts.
> Something like this...
> declare constant
> end declare
> 
> Chris
> 
> tone.skoda at siol.net wrote:
> > If I had source code I would add these things (in order of importance):
> > 
> > 1. Simplified object orientation:
> > 
> > A small example:
> > 
> > include circle.e as circle
> > 
> > circle circle1
> > circle circle2
> > 
> > circle1.x = 100
> > circle1.y = 100
> > circle1.radius = 10
> > 
> > circle2.x = 200
> > circle2.y = 200
> > circle2.radius = 50
> > 
> > circle1.draw ()
> > circle2.draw ()
> > 
> > Code above would draw two DIFFERENT circles.
> > 
> > 
> > 2. Visual debugger with treeviews for sequences.
> > 
> > 3. Structures or something similar. To atleast turn this:
> > point [POINT_X] = x
> > into this:
> > point.x = x
> > 
> > No other thing comes to mind this moment.
> > Feature that every routine must be before you call it is not so bad 
> > thing.
> > It keeps your code more organized. gotos are not needed. Maybe 
> > "continue"
> > statement.
> > 
> >

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu