1. Anyone done anything with the Euphoria Source Code?

Just a quick questions ...

(as in the subject line) ... Anyone done anything with the Euphoria 
ource Code?

Any future projects anyone is thinking of doing?


Ray Smith
http;//www.geocities.com/ray_223

new topic     » topic index » view message » categorize

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

On 18 Jan 2002, at 5:43, Ray Smith wrote:

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

I cannot afford the cost now, but if i could, i'd work on adding goto and string
variable execution.

Kat

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

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

I'm working on a version that includes wxWindows, but I ran into some 
problems. I had written a library that makes it relatively easy to interface 
scripting language to wxWindows. You just rename your main() routine with 
wMain(), and write a routine to convert callback data to calls to your 
language's routines.

The first problem was my assumption that the code could be complied in a 
single pass, like:

   gcc euphoria.c

Robert's code, like most large C programs, is compiled in sections and the 
object binaries are stitched together into a single executable. Because of 
how my code worked, I had to go back and try to make the Euphoria source 
compile in a single pass. This wasn't too difficult, but I had to declare a 
lot of externs that he hasn't got, so it touches a lot of code. This issue 
may be unique to my library.

The next problem was that I was linking to a C++ library. Quite a number of 
the declarations are still in 'old style' C, which isn't acceptable to C++ 
compilers. So that meant rewriting a lot of the declarations. Robert said 
he'd take care of that.

The other problem I encountered was trying to create a 'generic' version of 
Euphoria, since wxWindows handled the creation of windows and so on. But 
that's pretty unque to what I was doing.

As the Euphoria code currently stands, it's relatively straightforward to add 
routine via machine_routine. You only have to mess with code in two places - 
the declaration of the constants for the case statement, and the case 
statement itself. So if you wanted a give native support for OpenGL, that 
would pretty much be a snap.

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

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

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

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

I now have reference parameters working, as in:

sequence test1 = "abc", test2 = "zot"

procedure foo (sequence s, sequence t)
	object x
	x = s[2]
	s[2] = t[2]
	t[2] = x
end procedure

foo (!!test1, !!test2)
?test1			-- prints "aoc"
?test2			-- prints "zbt"

Now if I can just find some use for them.

Karl Bochert

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

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

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

Bernie wrote:

>   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.

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 Cuny

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

6. Re: Anyone done anything with the Euphoria Source Code?

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

7. Re: Anyone done anything with the Euphoria Source Code?

Bernie wrote:

>>   integer a = 12, b, c = 22
> >
> > might be a good start?
>
>   I'am afraid that is more than I could handle with my
>   limited understanding of the code today.

I'm open to suggestions.

-- David Cuny

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

8. Re: Anyone done anything with the Euphoria Source Code?

On 19 Jan 2002, at 0:06, tone.skoda at siol.net wrote:

<snip>

> It keeps your code more organized. gotos are not needed. Maybe "continue"
> statement.

I guess i agree, but to be more versatile, lets have the "continue" specify 
where to continue to, to get out of deeply nested loops, without lots of flow 
control flag setting and testing,,, rather like this (and notice how each 
section is nicely blocked out with comment-like tags for the continue() 
statement!) :

procedure demo_continue()
for ...
--code
  while ...
--code
    if...
--code
      for...
--code
        if (we are finally done here) then 
          continue(coreprocessing)
        end if
--code
     end for
--code
    end if
--code
        if (we are finally done here) then 
          continue(coreprocessing)
        end if
  end while
--code
end for


:coreprocessing -- nice clear label !
-- more code
while whatever
--code
if .....then continue(wrapup)
--code
end while

:wrapup -- another clear definative label !
--code

end procedure

Kat  blink

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

9. Re: Anyone done anything with the Euphoria Source Code?

I like more to just use if/elsif, even in C.

----- Original Message ----- 
From: <bensler at mail.com>
To: "EUforum" <EUforum at topica.com>
Subject: RE: Anyone done anything with the Euphoria Source Code?


> 
> How about a switch/case structure too?

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

10. Re: Anyone done anything with the Euphoria Source Code?

What about an 'exit' sort of proc, but one that can take a parameter..

eg...

function check(atom a, atom b, atom c)
  return something
end function

for x = 1 to 100 do
  for y = 1 to 100 do
      for z = 100 do
        if check(x,y,z) then
        exit(3)
      end for
  end for
end for

So it would get out of all loops if check returned positive. The only way to 
do that right now is put the loop in a proc, and call return, or use lots of 
boolean flags.... not fun.
>guess i agree, but to be more versatile, lets have the "continue" >pecify
>here to continue to, to get out of deeply nested loops, without lots >of 
>flow
>control flag setting and testing,,, rather like this (and notice how >each
>section is nicely blocked out with comment-like tags for the continue()
>statement!) :
>
>procedure demo_continue()
>for ...
>--code

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

11. Re: Anyone done anything with the Euphoria Source Code?

On 21 Jan 2002, at 1:20, mistertrik at hotmail.com wrote:

> 
> What about an 'exit' sort of proc, but one that can take a parameter..
> 
> eg...
> 
> function check(atom a, atom b, atom c)
>   return something
> end function
> 
> for x = 1 to 100 do
>   for y = 1 to 100 do
>       for z = 100 do
>         if check(x,y,z) then
>         exit(3) 

Ok, but if you go back and change the code, adding a loop, you now haveto 
remember this (3), and possibly change it too! I'd still rather have the clear 
label denoting the next execution block, and you can exit_to(blockname).

Kat

>       end for
>   end for
> end for
> 
> So it would get out of all loops if check returned positive. The only way to
> do
> that right now is put the loop in a proc, and call return, or use lots of
> boolean flags.... not fun. >guess i agree, but to be more versatile, lets have
> the "continue" >pecify >here to continue to, to get out of deeply nested
> loops,
> without lots >of >flow >control flag setting and testing,,, rather like this
> (and notice how >each >section is nicely blocked out with comment-like tags
> for
> the continue() >statement!) : > >procedure demo_continue() >for ... >--code
> 
> 
> 
>

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

12. Re: Anyone done anything with the Euphoria Source Code?

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

Hi David Cuny, you wrote on 1/17/02 11:02:44 AM:

>
>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 Cuny

Variable initialization apparently entails the re-arrangement
of the code in a single subroutine. I have not doen extensive
testing but it seems to work.

Karl Bochert

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

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

Search



Quick Links

User menu

Not signed in.

Misc Menu