1. Modified Interpreter

OK, I've put a Windows and DOS version of the interpreter up.  I should get
the Linux version working this weekend, and then I'll submit it to Rob. In
the meantime, I've put what I've got on my page:

 Interpreter: http://www14.brinkster.com/matthewlewis/exm.zip
All projects: http://www14.brinkster.com/matthewlewis/projects.html

Matt Lewis

new topic     » topic index » view message » categorize

2. Re: Modified Interpreter

----- Original Message ----- 
From: "Matt Lewis" <matthewwalkerlewis at yahoo.com>
To: "EUforum" <EUforum at topica.com>
Subject: Modified Interpreter


> 
> 
> OK, I've put a Windows and DOS version of the interpreter up.  I should get
> the Linux version working this weekend, and then I'll submit it to Rob. In
> the meantime, I've put what I've got on my page:
> 
>  Interpreter: http://www14.brinkster.com/matthewlewis/exm.zip
> All projects: http://www14.brinkster.com/matthewlewis/projects.html
> 

Matt, you're a genius. I just played around with it and its works exactly like
it should, and how I hoped it would.

I also like the crash routine and variable_id() stuff.

Don't suppose you could do an execute(sequence) function too? blink 

-- 
Derek

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

3. Re: Modified Interpreter

Hello Matt,

> OK, I've put a Windows and DOS version of the interpreter up.
> I should get the Linux version working this weekend, and then
> I'll submit it to Rob. 
> In the meantime, I've put what I've got on my page:
> 
> Interpreter: http://www14.brinkster.com/matthewlewis/exm.zip
> All projects: http://www14.brinkster.com/matthewlewis/projects.html
> 
> Matt Lewis

I have tried you interpreter, it works same 
as Official v2.4 for me. 
My test program is very simple:

---a.e
global integer z
z=1
?z
---end of a.e

---b.e
global integer z
z=2
?z
---end of b.e

---c.e
global integer z
z=3
?z
---end of c.e

---z.ex
include a.e
include b.e
include c.e
?z
z=5
?z
integer z
z=4
z+=z
?z
include c.e
global integer z
z=2
?z
---end of z.ex

If I run z.ex on v2.4, I get:

1
2
3
Z.EX:4
A namespace qualifier is needed to resolve z.
z is defined as a global symbol in:
    C:\DOWNLO~1\EXM\a.e
    C:\DOWNLO~1\EXM\b.e
    C:\DOWNLO~1\EXM\c.e

?z
 ^

If I run z.ex on v2.2, I get:

C:\EUPHORIA>ex Z.EX
1
C:\EUPHORIA\b.e:1
attempt to redefine z - defined already in C:\EUPHORIA\a.e
global integer z
               ^

So, v2.4 doesn't run my simple program properly,
it doesn't see global integer z, defined in a.e,
inside b.e and c.e. 
Global integer z of a.e is invisible in b.e and c.e.
These are the gaps for globals, I think.
Not good scenario. Just IMHO tho.

Regards,
Igor Kachan
kinz at peterlink.ru

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

4. Re: Modified Interpreter

On Sat, 12 Jul 2003 10:14:07 +0400, Igor Kachan <kinz at peterlink.ru>
wrote:

<snip>
>Z.EX:4
>A namespace qualifier is needed to resolve z.
>z is defined as a global symbol in:
>    C:\DOWNLO~1\EXM\a.e
>    C:\DOWNLO~1\EXM\b.e
>    C:\DOWNLO~1\EXM\c.e
That is as expected, z.e needs to include a.e, b.e, and c.e with=20
namespaces. Given that z.e is your code, that should not be a=20
problem.

If having just typed in (your own code) and run
	include b.e
	? z
and got a namespace qualifier required error, then immediately
changing it to:
	include b.e as b
	? b:z
is easy peasy, No?


<snip and shuffle:>
>So, v2.4 doesn't run my simple program properly,
>it doesn't see global integer z, defined in a.e,
>inside b.e and c.e.=20
It sees all of them, and does not know which you mean.
Do *you* know which z you mean?


The problem being addressed here is if a.e, b.e, and c.e are not your
code but some third party code, you do not want to have to edit them,
and certainly not re-edit them each time the author releases a new
improved version. That used to be the case, it should not be any more.

>If I run z.ex on v2.2, I get:
>
>C:\EUPHORIA>ex Z.EX
>1
>C:\EUPHORIA\b.e:1
>attempt to redefine z - defined already in C:\EUPHORIA\a.e

Yes, standard 2.4 is already an improvement over 2.2(!)

>Global integer z of a.e is invisible in b.e and c.e.
Not quite. They would be, only eu 2.4 is automatically (and correctly)
figuring out which z is meant in each case (the local one).
If you did not define z in say b.e, then it (b.e) would use the one
from a.e. Agreed?

Pete

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

5. Re: Modified Interpreter

Hello Pete,

> From: Pete Lomax <petelomax at blueyonder.co.uk>
> Subject: Re: Modified Interpreter
> 
> 
> On Sat, 12 Jul 2003 10:14:07 +0400, Igor Kachan <kinz at peterlink.ru>
> wrote:
> 
> <snip>
> >Z.EX:4
> >A namespace qualifier is needed to resolve z.
> >z is defined as a global symbol in:
> >    C:\DOWNLO~1\EXM\a.e
> >    C:\DOWNLO~1\EXM\b.e
> >    C:\DOWNLO~1\EXM\c.e
> That is as expected, z.e needs to include a.e, b.e, and c.e with 
> namespaces. Given that z.e is your code, that should not be a 
> problem.

a.e, b.e, c.e  are all my code, not only z.e. 
So, there is no problem with any transformations of this code.
I wanted b.e, c.e, z.ex can do some job with the global 
integer z of a.e.
But interpreter doesn't see this *GLOBAL* symbol
inside b.e and c.e, it sees global z only inside z.ex after 
the first reference to global z in z.ex, not in b.e and c.e.
This is a problem. Too late error message.

> If having just typed in (your own code) and run
> 	include b.e
> 	? z
> and got a namespace qualifier required error, then immediately
> changing it to:
> 	include b.e as b
> 	? b:z
> is easy peasy, No?

Peasy, not easy. I have tons of my own big libs of different versions 
which are dependant one on  another and may have the globals with
the same names. Libs are *my* and proggy is *my*.

> <snip and shuffle:>

Ok, I'll just reshuffle :]

> >So, v2.4 doesn't run my simple program properly,
> >it doesn't see global integer z, defined in a.e,
> >inside b.e and c.e. 
> It sees all of them, and does not know which 
>  you mean.

If it doesn't know which one, I prefer it asks me, doesn't
ignore *my* globals, doesn't print just any first one.

> Do *you* know which z you mean?

Yes I do know. The very first global z of a.e,
then the second global z of b.e and then the third global z of c.e.

> The problem being addressed here is if a.e, b.e, 
> and c.e are not your code but some third party code, 
> you do not want to have to edit them,
> and certainly not re-edit them each time the author 
> releases a new improved version. 
> That used to be the case, 

Pete, I know.

> it should not be any more.

Touch wood Pete.

> >If I run z.ex on v2.2, I get:
> >
> >C:\EUPHORIA>ex Z.EX
> >1
> >C:\EUPHORIA\b.e:1
> >attempt to redefine z - defined already in C:\EUPHORIA\a.e
> 
> Yes, standard 2.4 is already an improvement over 2.2(!)

Ok, viva 2.4, I love it, but it issues it's warning and 
aborting too late and prints too many different global zs. 
I like 2.2 for that my proggy.

> >Global integer z of a.e is invisible in b.e and c.e.
> Not quite. They would be, only eu 2.4 is automatically 
> (and correctly) figuring out which z is meant in each 
> case (the local one).

Why do you say "correctly" if 2.4 doesn't want to know
my first global z? Matt too doesn't want to know ...  
Is it "correct" and "automatic"?

> If you did not define z in say b.e, then it (b.e) would use the one
> from a.e. Agreed?

No, I have defined global z in a.e. This is my question.

> Pete

Regards,
Igor Kachan
kinz at peterlink.ru

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

6. Re: Modified Interpreter

----- Original Message ----- 
From: "Igor Kachan" <kinz at peterlink.ru>
To: "EUforum" <EUforum at topica.com>
Subject: Re: Modified Interpreter


> 
> 
> Hello Matt,
> 
> > OK, I've put a Windows and DOS version of the interpreter up.
> > I should get the Linux version working this weekend, and then
> > I'll submit it to Rob. 
> > In the meantime, I've put what I've got on my page:
> > 
> > Interpreter: http://www14.brinkster.com/matthewlewis/exm.zip
> > All projects: http://www14.brinkster.com/matthewlewis/projects.html
> > 
> > Matt Lewis
> 
> I have tried you interpreter, it works same 
> as Official v2.4 for me. 
> My test program is very simple:
> 
> ---a.e
> global integer z
> z=1
> ?z
> ---end of a.e
> 
> ---b.e
> global integer z
> z=2
> ?z
> ---end of b.e
> 
> ---c.e
> global integer z
> z=3
> ?z
> ---end of c.e
> 
> ---z.ex
> include a.e
> include b.e
> include c.e
> ?z
> z=5
> ?z
> integer z
> z=4
> z+=z
> ?z
> include c.e
> global integer z
> z=2
> ?z
> ---end of z.ex
> 
> If I run z.ex on v2.4, I get:
> 
> 1
> 2
> 3
> Z.EX:4
> A namespace qualifier is needed to resolve z.
> z is defined as a global symbol in:
>     C:\DOWNLO~1\EXM\a.e
>     C:\DOWNLO~1\EXM\b.e
>     C:\DOWNLO~1\EXM\c.e
> 
> ?z
>  ^
> 
> If I run z.ex on v2.2, I get:
> 
> C:\EUPHORIA>ex Z.EX
> 1
> C:\EUPHORIA\b.e:1
> attempt to redefine z - defined already in C:\EUPHORIA\a.e
> global integer z
>                ^
> 
> So, v2.4 doesn't run my simple program properly,
> it doesn't see global integer z, defined in a.e,
> inside b.e and c.e. 
> Global integer z of a.e is invisible in b.e and c.e.
> These are the gaps for globals, I think.
> Not good scenario. Just IMHO tho.

I don't think you understand what the rules are for Globals and namespaces. Eu
2.4 is behaving correctly here. Which 'z' do you think that Z.EX should be using
- the one in A.E, B.E, C.E, or Z.EX? And why do you think that?

-- 
Derek

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

7. Re: Modified Interpreter

----- Original Message -----=20
From: "Igor Kachan" <kinz at peterlink.ru>
To: "EUforum" <EUforum at topica.com>
Subject: Re: Modified Interpreter


>=20
>=20
> Hello Pete,
>=20
> > From: Pete Lomax <petelomax at blueyonder.co.uk>
> > To: EUforum <EUforum at topica.com>
> > Subject: Re: Modified Interpreter
> > Sent: 12 july 2003 y. 12:13
> >=20
> >=20
> > On Sat, 12 Jul 2003 10:14:07 +0400, Igor Kachan <kinz at peterlink.ru>
> > wrote:
> >=20
> > <snip>
> > >Z.EX:4
> > >A namespace qualifier is needed to resolve z.
> > >z is defined as a global symbol in:
> > >    C:\DOWNLO~1\EXM\a.e
> > >    C:\DOWNLO~1\EXM\b.e
> > >    C:\DOWNLO~1\EXM\c.e
> > That is as expected, z.e needs to include a.e, b.e, and c.e with=20
> > namespaces. Given that z.e is your code, that should not be a=20
> > problem.
>=20
> a.e, b.e, c.e  are all my code, not only z.e.=20
> So, there is no problem with any transformations of this code.
> I wanted b.e, c.e, z.ex can do some job with the global=20
> integer z of a.e.
> But interpreter doesn't see this *GLOBAL* symbol
> inside b.e and c.e, it sees global z only inside z.ex after=20
> the first reference to global z in z.ex, not in b.e and c.e.
> This is a problem. Too late error message.
>=20
> > If having just typed in (your own code) and run
> > include b.e
> > ? z
> > and got a namespace qualifier required error, then immediately
> > changing it to:
> > include b.e as b
> > ? b:z
> > is easy peasy, No?
>=20
> Peasy, not easy. I have tons of my own big libs of different versions=20
> which are dependant one on  another and may have the globals with
> the same names. Libs are *my* and proggy is *my*.
>=20
> > <snip and shuffle:>
>=20
> Ok, I'll just reshuffle :]
>=20
> > >So, v2.4 doesn't run my simple program properly,
> > >it doesn't see global integer z, defined in a.e,
> > >inside b.e and c.e.=20
> > It sees all of them, and does not know which=20
> >  you mean.
>=20
> If it doesn't know which one, I prefer it asks me, doesn't
> ignore *my* globals, doesn't print just any first one.
>=20
> > Do *you* know which z you mean?
>=20
> Yes I do know. The very first global z of a.e,
> then the second global z of b.e and then the third global z of c.e.
>=20
> > The problem being addressed here is if a.e, b.e,=20
> > and c.e are not your code but some third party code,=20
> > you do not want to have to edit them,
> > and certainly not re-edit them each time the author=20
> > releases a new improved version.=20
> > That used to be the case,=20
>=20
> Pete, I know.
>=20
> > it should not be any more.
>=20
> Touch wood Pete.
>=20
> > >If I run z.ex on v2.2, I get:
> > >
> > >C:\EUPHORIA>ex Z.EX
> > >1
> > >C:\EUPHORIA\b.e:1
> > >attempt to redefine z - defined already in C:\EUPHORIA\a.e
> >=20
> > Yes, standard 2.4 is already an improvement over 2.2(!)
>=20
> Ok, viva 2.4, I love it, but it issues it's warning and=20
> aborting too late and prints too many different global zs.=20
> I like 2.2 for that my proggy.
>=20
> > >Global integer z of a.e is invisible in b.e and c.e.
> > Not quite. They would be, only eu 2.4 is automatically=20
> > (and correctly) figuring out which z is meant in each=20
> > case (the local one).
>=20
> Why do you say "correctly" if 2.4 doesn't want to know
> my first global z? Matt too doesn't want to know ... =20
> Is it "correct" and "automatic"?
>=20
> > If you did not define z in say b.e, then it (b.e) would use the one
<snip>

I take it back. Now I'm *sure* you have no understanding of the rules.

It seems that you are saying that Euphoria should issue an error message =
when the b.e file tries to declare a global 'z', because a.e has already =
defined 'z'. Is this the problem that you see?

--=20
Derek

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

8. Re: Modified Interpreter

Hi Derek, you wrote:

> ----- Original Message ----- 
> From: "Matt Lewis" <matthewwalkerlewis at yahoo.com>
>
>
>> OK, I've put a Windows and DOS version of the interpreter up.  I should get
>> the Linux version working this weekend, and then I'll submit it to Rob. In
>> the meantime, I've put what I've got on my page:
>>
>>  Interpreter: http://www14.brinkster.com/matthewlewis/exm.zip
>> All projects: http://www14.brinkster.com/matthewlewis/projects.html
>>
>
> Matt, you're a genius. I just played around with it and its works
> exactly like it should, and how I hoped it would.

I also think it's really cool, that this refinement to the namespace
feature will be implemented for the next Euphoria release.

> I also like the crash routine and variable_id() stuff.
>
> Don't suppose you could do an execute(sequence) function too? blink

I had the same idea when I saw, that the new MathEval version can
execute scripts. smile

Please allow me a "stupid" question: Regarding the interpreter, what is
the problem with enabling it to execute sequences/strings?
The Eu interpreter already is able to interpret Eu code. blink
ATM, it does so at "interpretation time". Is it really difficult, to let
it also do so at run time?

Best regards,
   Juergen

-- 
 /"\  ASCII ribbon campain  |    |\      _,,,---,,_
 \ /  against HTML in       |    /,`.-'`'    -.  ;-;;,_
  X   e-mail and news,      |   |,4-  ) )-,_..;\ (  `'-'
 / \  and unneeded MIME     |  '---''(_/--'  `-'\_)

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

9. Re: Modified Interpreter

Hello Derek,


[big snip]
> I take it back. Now I'm *sure* you have no understanding of the rules.

What rules, official rules, or Matt's rules?
I understand both, but I do not like them both.

> It seems that you are saying that Euphoria should issue 
>  an error message when the b.e file tries to declare a 
>  global 'z', because a.e has already defined 'z'.

No, not just 'z' , but because a.e has already defined *GLOBAL* 'z'.

I think, there must be an error message or a warning message, yes,
from the b.e file.

> Is this the problem that you see?

With my corrections, yes it is.

> -- 
> Derek
> 

Regards,
Igor Kachan
kinz at peterlink.ru

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

10. Re: Modified Interpreter

----- Original Message ----- 
From: "Igor Kachan" <kinz at peterlink.ru>
To: "EUforum" <EUforum at topica.com>
Subject: Re: Modified Interpreter


> 
> 
> Hello Derek,
> 
> 
> [big snip]
> > I take it back. Now I'm *sure* you have no understanding of the rules.
> 
> What rules, official rules, or Matt's rules?
> I understand both, but I do not like them both.

The RDS rules, as that's all we are talking about here with your example.
 
> > It seems that you are saying that Euphoria should issue 
> >  an error message when the b.e file tries to declare a 
> >  global 'z', because a.e has already defined 'z'.
> 
> No, not just 'z' , but because a.e has already defined *GLOBAL* 'z'.

I'm sorry that I left out the (obvious) word 'global'. Of course I was talking
about the global 'z' as there is no local 'z' in a.e.
 
> I think, there must be an error message or a warning message, yes,
> from the b.e file.
> 
> > Is this the problem that you see?
> 
> With my corrections, yes it is.

Your point of view seems to be then, that global symbols must be unique within
an entire program.

This option is only practical if you do not use other people's include files -
such that you don't mind changing include file code whenever you need to resolve
a conflict of global symbols.

If, however, you want to freely use other people's include files, without the
worry of clashing names, then your position is a hardship that I would rather
avoid.

-- 
Derek

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

11. Re: Modified Interpreter

On Sat, 12 Jul 2003 13:48:14 +0400, Igor Kachan <kinz at peterlink.ru>
wrote:

>So, there is no problem with any transformations of this code.

Good. Try this (on either standard Eu 2.4 or Matts):

a.e:
global integer z
z=3D1
include b.e as b
include c.e as c
include z.e as d
?{z,b:z,c:z,d:z}

b.e:
global integer z
z=3D2
include a.e as a
include c.e as c
include z.e as d
?{a:z,z,c:z,d:z}

c.e:
global integer z
z=3D3
include a.e as a
include b.e as b
include z.e as d
?{a:z,b:z,z,d:z}

z.e:
global integer z
z=3D4
include a.e as a
include b.e as b
include c.e as c
?{a:z,b:z,c:z,z}

As expected (well, actually, I wasn't too sure about re-including the
calling program, but I am now) this gives no errors and prints:

{1,2,3,4}
{1,2,3,4}
{1,2,3,4}
{1,2,3,4}

Cool, huh?

Regards,
Pete
PS I really quite like this example, you can run any of a.e, b.e, c.e,
or z.e and get exactly the same result !

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

12. Re: Modified Interpreter

Hello Derek again,

> ----- Original Message ----- 
> From: "Igor Kachan" <kinz at peterlink.ru>
> To: "EUforum" <EUforum at topica.com>
> Subject: Re: Modified Interpreter
> 
> 
> > Hello Derek,
> > 
> > 
> > [big snip]
> > > I take it back. Now I'm *sure* you have no 
>  >  >  understanding of the rules.
> > 
> > What rules, official rules, or Matt's rules?
> > I understand both, but I do not like them both.
> 
> The RDS rules, as that's all we are talking about 
> here with your example.

Why just RDS? I have tested my example with Matt's new
interpreter. It has own rules, but runs my proggy 
same as RDS' one. So, both for now.

> > > It seems that you are saying that Euphoria should issue 
> > >  an error message when the b.e file tries to declare a 
> > >  global 'z', because a.e has already defined 'z'.
> > 
> > No, not just 'z' , but because a.e has already defined *GLOBAL* 'z'.
> 
> I'm sorry that I left out the (obvious) word 'global'. 
>  Of course I was talking about the global 'z' as there 
>  is no local 'z' in a.e.

No, there is no local 'z' not only in a.e,
but in b.e and in c.e  too. All are global.
These are the points of a danger.

> > I think, there must be an error message or a warning message, yes,
> > from the b.e file.
> > 
> > > Is this the problem that you see?
> > 
> > With my corrections, yes it is.
> 
> Your point of view seems to be then, that global 
>  symbols must be unique within an entire program.

If with namespace prefixes, all global symbols are 
unique within an entire program just now.

> This option is only practical if you do not use 
>  other people's include files - such that you don't 
>  mind changing include file code whenever you need 
>  to resolve a conflict of global symbols.

What a problem to resolve? -- add prefixes and you are all set.

> If, however, you want to freely use other people's 
> include files, without the worry of clashing names,

How without the worry of clashing names, 
if my global z of a.e is just invisible inside b.e and c.e
on both RDS' and Matt's interpreters?

What global z = 3 on my screen, of a.e, of b.e or of c.e ?
Good question, no ?

> then your position is a hardship that 
> I would rather avoid.

Programming was never tutti-frutti.
VB wanted to make it tutti-frutti, 
click, drag & drop.

> 
> -- 
> Derek

Regards,
Igor Kachan
kinz at peterlink.ru

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

13. Re: Modified Interpreter

Hello Pete,
----------
> On Sat, 12 Jul 2003 13:48:14 +0400, Igor Kachan <kinz at peterlink.ru>
> wrote:
> 
> >So, there is no problem with any transformations of this code.
> 
> Good. Try this (on either standard Eu 2.4 or Matts):
> 
> a.e:
> global integer z
> z=1
> include b.e as b
> include c.e as c
> include z.e as d
> ?{z,b:z,c:z,d:z}
> 
> b.e:
> global integer z
> z=2
> include a.e as a
> include c.e as c
> include z.e as d
> ?{a:z,z,c:z,d:z}
> 
> c.e:
> global integer z
> z=3
> include a.e as a
> include b.e as b
> include z.e as d
> ?{a:z,b:z,z,d:z}
> 
> z.e:
> global integer z
> z=4
> include a.e as a
> include b.e as b
> include c.e as c
> ?{a:z,b:z,c:z,z}
> 
> As expected (well, actually, I wasn't too sure about re-including the
> calling program, but I am now) this gives no errors and prints:
> 
> {1,2,3,4}
> {1,2,3,4}
> {1,2,3,4}
> {1,2,3,4}
> 
> Cool, huh?

Cool, yes, but I wonder why my proggy
prints:

 1
 2 
 3 

and what z=3,  of my a.e, of my b.e or of my c.e  blink


> Regards,
> Pete
> PS I really quite like this example, you 
>  can run any of a.e, b.e, c.e,
> or z.e and get exactly the same result !

I love your example too, I'll run it and kiss it tonight,
but I still wonder why my proggy prints:

1
2
3

and what ....

Regards,
Igor Kachan
kinz at peterlink.ru

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

14. Re: Modified Interpreter

On Sat, 12 Jul 2003 16:40:57 +0400, Igor Kachan <kinz at peterlink.ru>
wrote:

> but I wonder why my proggy prints:

Igor, wake up! blink That *IS* your program, I just modified it so
heavily you don't recognise it!  It shows you can print (and therefore
use, set, whatever you want) all four z from anywhere [within reason]
in any of the four files (which is probably more than you asked for).

The only thing I ignored was your attempt to define both a toplevel
integer z
and
global integer z
within z.ex, which is an error in anyones mind, in any language, as is
expecting (as you seem to) that eg:

integer z
integer z
z=3D1
z=3D2
?z+z+z

should print 4 (and not 3, 5, or 6). Whether or not you have made some
of those z global, or put them in different files, it does not change
the fact: that it is what you appear to be saying you want.

Pete

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

15. Re: Modified Interpreter

--------_3F101CD6DCC2016BBDB0_MULTIPART_MIXED_

Me wrote:

<snip>

> Please allow me a "stupid" question: Regarding the interpreter, what is
> the problem with enabling it to execute sequences/strings?
> The Eu interpreter already is able to interpret Eu code. blink
> ATM, it does so at "interpretation time". Is it really difficult, to let
> it also do so at run time?

I just wrote a litte "interpreter" that executes code recursively. smile
Just save the three attached files, and run 'interpret.ex'.
Is Euphoria too complex, to use this principle?

Very curious,
   Juergen

-- 
 /"\  ASCII ribbon campain  |    |\      _,,,---,,_
 \ /  against HTML in       |    /,`.-'`'    -.  ;-;;,_
  X   e-mail and news,      |   |,4-  ) )-,_..;\ (  `'-'
 / \  and unneeded MIME     |  '---''(_/--'  `-'\_)


--------_3F101CD6DCC2016BBDB0_MULTIPART_MIXED_
Content-Type: application/octet-stream; name="mini_stringlib.e"
Content-Disposition: attachment;
 filename="mini_stringlib.e"

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

16. Re: Modified Interpreter

--- Derek Parnell <ddparnell at bigpond.com> wrote:

> Matt, you're a genius. I just played around with it and its works exactly
> like it should, and how I hoped it would. 

Thank you. :)
 
> I also like the crash routine and variable_id() stuff.
> 
> Don't suppose you could do an execute(sequence) function too? blink 

I've been thinking about how to do that.  The problem I'm having is in figuring
out how to work the scan/parse/execute cycle already built into Euphoria.  I've
been sporadically taking looks at that part of the code, but it's still mostly
a mystery to me.

Matt Lewis



__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

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

17. Re: Modified Interpreter

On Sat, Jul 12, 2003 at 04:44:38PM +0200, Juergen Luethje wrote:
> 
> Me wrote:
> 
> <snip>
> 
> > Please allow me a "stupid" question: Regarding the interpreter, what is
> > the problem with enabling it to execute sequences/strings?
> > The Eu interpreter already is able to interpret Eu code. blink

"Interpreter" ... but not the translator.

> > ATM, it does so at "interpretation time". Is it really difficult, to let
> > it also do so at run time?

For the translator, yes.

We could just say that 'execute()' is not supported by the translator, but
RC has already gone on record saying that he doesn't like that idea.
(iirc anyways).

> 
> I just wrote a litte "interpreter" that executes code recursively. smile
> Just save the three attached files, and run 'interpret.ex'.
> Is Euphoria too complex, to use this principle?

I haven't looked at your code yet ... but I will.

It should be noted that it is possible (in fact, relatively easy) to use
eu.ex itself for this ... someone has already done so iirc. Futhermore,
I was trying to figure out how to modify eu.ex to support eval() ....
its not too copmlicated with the way eu.ex parses code. If eu.ex can do
it, then surely the interpreter can.

> 
> Very curious,
>    Juergen
> 
> -- 
>  /"\  ASCII ribbon campain  |    |\      _,,,---,,_
>  \ /  against HTML in       |    /,`.-'`'    -.  ;-;;,_
>   X   e-mail and news,      |   |,4-  ) )-,_..;\ (  `'-'
>  / \  and unneeded MIME     |  '---''(_/--'  `-'\_)
> 
> 
> 
> TOPICA - Start your own email discussion group. FREE!
> 
> 





-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

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

18. Re: Modified Interpreter

--- Igor Kachan <kinz at peterlink.ru> wrote:
> ...I have tested my example with Matt's new
> interpreter. It has own rules, but runs my proggy 
> same as RDS' one.

Just to be clear.  My interpreter will run anything that runs under 2.4. 
However, it will run things that would need to be edited before running in 2.4.
 So, to emphasize, it breaks *zero* existing code, and any library that you
include should behave exactly as you'd expect (because files included by some
other library, or by you won't affect it).

Igor, if you're able to avoid using code written by others, fine.  But most of
us use a lot of code that we didn't write.  All my changes (to the namespace
issue) do is to allow you to use multiple third party libraries without having
to worry that they'll choke on each other.

Matt Lewis



__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

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

19. Re: Modified Interpreter

On Sat, Jul 12, 2003 at 02:36:02PM +0400, Igor Kachan wrote:
> 
> 
> Hello Derek,
> 
> 
> [big snip]
> > I take it back. Now I'm *sure* you have no understanding of the rules.
> 
> What rules, official rules, or Matt's rules?
> I understand both, but I do not like them both.
> 
> > It seems that you are saying that Euphoria should issue 
> >  an error message when the b.e file tries to declare a 
> >  global 'z', because a.e has already defined 'z'.
> 
> No, not just 'z' , but because a.e has already defined *GLOBAL* 'z'.
> 
> I think, there must be an error message or a warning message, yes,
> from the b.e file.

I prefer a warning to an error, myself.

Its only an error if 'z' is called w/o a namespace prefix ... thats
when we don't know which 'z' to use.

Or are you saying you also want it to be an error when 2 globals of the
same name are declared and neither are in namespaces?

jbrown

> 
> > Is this the problem that you see?
> 
> With my corrections, yes it is.
> 
> > -- 
> > Derek
> > 
> 
> Regards,
> Igor Kachan
> kinz at peterlink.ru
> 
> 
> 
> TOPICA - Start your own email discussion group. FREE!
> 
> 

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

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

20. Re: Modified Interpreter

On Sat, 12 Jul 2003 12:55:59 -0400, jbrown105 at speedymail.org wrote:

>We could just say that 'execute()' is not supported by the translator, =
but
>RC has already gone on record saying that he doesn't like that idea.
>(iirc anyways).

Or maybe RC hinted he didn't fancy binding in the translator and a
suitable C compiler along with the translated code, can't imagine why
not blink

Pete

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

21. Re: Modified Interpreter

----- Original Message -----=20
From: "Pete Lomax" <petelomax at blueyonder.co.uk>
To: "EUforum" <EUforum at topica.com>
Subject: Re: Modified Interpreter


>=20
>=20
> On Sat, 12 Jul 2003 12:55:59 -0400, jbrown105 at speedymail.org wrote:
>=20
> >We could just say that 'execute()' is not supported by the =
translator, but
> >RC has already gone on record saying that he doesn't like that idea.
> >(iirc anyways).
>=20
> Or maybe RC hinted he didn't fancy binding in the translator and a
> suitable C compiler along with the translated code, can't imagine why
> not blink
>=20

But what about binding in the interpreter so your complied Eu programs =
could interpret Eu code in strings?

It depends on the model of execute() that is chosen - does the executed =
code have access to the same symbols as the calling program or not.

--=20
Derek

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

22. Re: Modified Interpreter

On 13 Jul 2003, at 12:06, Derek Parnell wrote:

> 
> 
> ----- Original Message ----- 
> From: "Pete Lomax" <petelomax at blueyonder.co.uk>
> To: "EUforum" <EUforum at topica.com>
> Subject: Re: Modified Interpreter
> 
> 
> > On Sat, 12 Jul 2003 12:55:59 -0400, jbrown105 at speedymail.org wrote:
> > 
> > >We could just say that 'execute()' is not supported by the translator, but
> > >RC
> > >has already gone on record saying that he doesn't like that idea. (iirc
> > >anyways).
> > 
> > Or maybe RC hinted he didn't fancy binding in the translator and a
> > suitable C compiler along with the translated code, can't imagine why
> > not blink
> > 
> 
> But what about binding in the interpreter so your complied Eu programs could
> interpret Eu code in strings?
> 
> It depends on the model of execute() that is chosen - does the executed code
> have access to the same symbols as the calling program or not.

It should have access to the vars in scope when the execute() call was 
executed. Question is: 

1) should it modify those vars in the calling program
1a) meaning the calling program halts until the string is done
2) return altered var values
2a) meaning the calling program halts until the string is done
3) be able to trigger an event in the calling program
3b) the calling program continues on it's merry way

I vote for a switch.

Kat

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

23. Re: Modified Interpreter

----- Original Message -----=20
From: "Pete Lomax" <petelomax at blueyonder.co.uk>
To: "EUforum" <EUforum at topica.com>
Subject: Re: Modified Interpreter


>=20
>=20
> On Sat, 12 Jul 2003 12:55:59 -0400, jbrown105 at speedymail.org wrote:
>=20
> >We could just say that 'execute()' is not supported by the =
translator, but
> >RC has already gone on record saying that he doesn't like that idea.
> >(iirc anyways).
>=20
> Or maybe RC hinted he didn't fancy binding in the translator and a
> suitable C compiler along with the translated code, can't imagine why
> not blink
>=20

I imagine that the main reason for RDS not wanting to do this because =
then anyone could "write" a version of the complete Euphoria without =
having to pay for it.
--=20
Derek.

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

24. Re: Modified Interpreter

On Sat, Jul 12, 2003 at 09:26:26PM -0500, gertie at visionsix.com wrote:
> > 
> > But what about binding in the interpreter so your complied Eu programs could
> > interpret Eu code in strings?
> > 
> > It depends on the model of execute() that is chosen - does the executed code
> > have access to the same symbols as the calling program or not.
> 
> It should have access to the vars in scope when the execute() call was 
> executed.

In other words, unsupported not only in the translator, but also in the binder!

Or, execute() might not have access to anything in the calling program, and
hence be suported by binding, and then we add an eval() which does have access
to those things and is not supported by binding.

Another idea might be to just add support for variable_id(), and then allow
the passing of routine and variable id's in the execute statement (execute(
"code", {routine ids}, {variable ids}) for example).

> Question is: 
> 
> 1) should it modify those vars in the calling program
> 1a) meaning the calling program halts until the string is done

If variable_id() is supported, yes.

> 2) return altered var values
> 2a) meaning the calling program halts until the string is done

Yes.

> 3) be able to trigger an event in the calling program
> 3b) the calling program continues on it's merry way

No (unless its done by calling a routine id from the main program, then yes
... but i think you mean threads, in which case no).
> 
> I vote for a switch.

Better to do:

start_thread(execute("eval'd code that will trigger an event in the calling
program"))

imo ... much more clearer (and not limited to executed code...i.e. execute()
can't be supported by the translator, but start_thread() can).

> 
> Kat
> 
> 
> 
> TOPICA - Start your own email discussion group. FREE!
> 
> 

jbrown

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

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

25. Re: Modified Interpreter

Hi Jim, you wrote:

> On Sat, Jul 12, 2003 at 04:44:38PM +0200, Juergen Luethje wrote:
>>
>> Me wrote:
>>
>> <snip>
>>
>>> Please allow me a "stupid" question: Regarding the interpreter, what is
>>> the problem with enabling it to execute sequences/strings?
>>> The Eu interpreter already is able to interpret Eu code. blink
>
> "Interpreter" ... but not the translator.
>
>>> ATM, it does so at "interpretation time". Is it really difficult, to let
>>> it also do so at run time?
>
> For the translator, yes.

Oops... I had forgotten about the translator.

> We could just say that 'execute()' is not supported by the translator,

Yes, that would be a possibility. Or how about this idea:

There could be a .DLL/.SO, that works very similar to exw.exe/exu, but
just executes strings instead of ascii files.
Any interpreted, non-bound, bound, or translated program then can use the
function(s) in the .DLL/.SO to execute strings containing Eu code.

One disadvantage is, that this would even more increase the number of
products, Rob would have to take care of.
But maybe someone who bought the Euphoria source code product would like
to build such a .DLL/.SO (provided it's allowed by the Euphoria
Interpreter Source Code License).
Just an idea ...

> but
> RC has already gone on record saying that he doesn't like that idea.
> (iirc anyways).

Oh, I didn't know that.

>> I just wrote a litte "interpreter" that executes code recursively. smile
>> Just save the three attached files, and run 'interpret.ex'.
>> Is Euphoria too complex, to use this principle?
>
> I haven't looked at your code yet ... but I will.
>
> It should be noted that it is possible (in fact, relatively easy) to use
> eu.ex itself for this ...

Hmm? What is "eu.ex"?

> someone has already done so iirc. Futhermore,
> I was trying to figure out how to modify eu.ex to support eval() ....
> its not too copmlicated with the way eu.ex parses code. If eu.ex can do
> it, then surely the interpreter can.

Best regards,
   Juergen

-- 
 /"\  ASCII ribbon campain  |    |\      _,,,---,,_
 \ /  against HTML in       |    /,`.-'`'    -.  ;-;;,_
  X   e-mail and news,      |   |,4-  ) )-,_..;\ (  `'-'
 / \  and unneeded MIME     |  '---''(_/--'  `-'\_)

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

26. Re: Modified Interpreter

Hi Derek, you wrote:

> ----- Original Message ----- 
> From: "Pete Lomax" <petelomax at blueyonder.co.uk>
>
>
>> On Sat, 12 Jul 2003 12:55:59 -0400, jbrown105 at speedymail.org wrote:
>>
>>> We could just say that 'execute()' is not supported by the translator, but
>>> RC has already gone on record saying that he doesn't like that idea.
>>> (iirc anyways).
>>
>> Or maybe RC hinted he didn't fancy binding in the translator and a
>> suitable C compiler along with the translated code, can't imagine why
>> not blink
>
>
> I imagine that the main reason for RDS not wanting to do this because
> then anyone could "write" a version of the complete Euphoria without
> having to pay for it.

Maybe this can be prevented by a special license? I don't know ...

Best regards,
   Juergen

-- 
 /"\  ASCII ribbon campain  |    |\      _,,,---,,_
 \ /  against HTML in       |    /,`.-'`'    -.  ;-;;,_
  X   e-mail and news,      |   |,4-  ) )-,_..;\ (  `'-'
 / \  and unneeded MIME     |  '---''(_/--'  `-'\_)

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

27. Re: Modified Interpreter

On Sun, Jul 13, 2003 at 06:07:15PM +0200, Juergen Luethje wrote:
> 
> 
> Hi Jim, you wrote:
> 
> > On Sat, Jul 12, 2003 at 04:44:38PM +0200, Juergen Luethje wrote:
> >>
> >> Me wrote:
> >>
> >> <snip>
> >>
> >>> Please allow me a "stupid" question: Regarding the interpreter, what is
> >>> the problem with enabling it to execute sequences/strings?
> >>> The Eu interpreter already is able to interpret Eu code. blink
> >
> > "Interpreter" ... but not the translator.
> >
> >>> ATM, it does so at "interpretation time". Is it really difficult, to let
> >>> it also do so at run time?
> >
> > For the translator, yes.
> 
> Oops... I had forgotten about the translator.

> 
> > We could just say that 'execute()' is not supported by the translator,
> 
> Yes, that would be a possibility. Or how about this idea:
> 
> There could be a .DLL/.SO, that works very similar to exw.exe/exu, but
> just executes strings instead of ascii files.
> Any interpreted, non-bound, bound, or translated program then can use the
> function(s) in the .DLL/.SO to execute strings containing Eu code.
> 
> One disadvantage is, that this would even more increase the number of
> products, Rob would have to take care of.
> But maybe someone who bought the Euphoria source code product would like
> to build such a .DLL/.SO (provided it's allowed by the Euphoria
> Interpreter Source Code License).
> Just an idea ...

Also a lot of people do not like the idea of having an interpreter in the
translated program (the overhead would be HUGE)...I discovered this myself
when discussing how to implement an eval statement for compiled EU programs.

> 
> > but
> > RC has already gone on record saying that he doesn't like that idea.
> > (iirc anyways).
> 
> Oh, I didn't know that.

> 
> >> I just wrote a litte "interpreter" that executes code recursively. smile
> >> Just save the three attached files, and run 'interpret.ex'.
> >> Is Euphoria too complex, to use this principle?
> >
> > I haven't looked at your code yet ... but I will.
> >
> > It should be noted that it is possible (in fact, relatively easy) to use
> > eu.ex itself for this ...
> 
> Hmm? What is "eu.ex"?

An euphoria interpeter written by DC. No namespace support in it at all
btw, and adding it is a non-trivial thing to do.

> 
> > someone has already done so iirc. Futhermore,
> > I was trying to figure out how to modify eu.ex to support eval() ....
> > its not too copmlicated with the way eu.ex parses code. If eu.ex can do
> > it, then surely the interpreter can.
> 
> Best regards,
>    Juergen
> 
> -- 
>  /"\  ASCII ribbon campain  |    |\      _,,,---,,_
>  \ /  against HTML in       |    /,`.-'`'    -.  ;-;;,_
>   X   e-mail and news,      |   |,4-  ) )-,_..;\ (  `'-'
>  / \  and unneeded MIME     |  '---''(_/--'  `-'\_)
> 
> 
> 
> TOPICA - Start your own email discussion group. FREE!
> 
> 

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

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

28. Re: Modified Interpreter

What am I missing ?
What is the purpose of interperting and executing strings ?
How can I use that kind of feature ?

Bernie

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

29. Re: Modified Interpreter

On 13 Jul 2003, at 14:43, Bernie Ryan wrote:

> 
> 
> What am I missing ?

Not sure...

> What is the purpose of interperting and executing strings ?

Dynamic code inclusion.

> How can I use that kind of feature ?

This is out of a .txt file, a line that can be picked at random:

/describe %chan is dining on roast mouse,,,, want some, $prunenick(%nick) 
$+ ? $smile

"describe" is a command
"%chan" and "%nick" are local vars
"$prunenick" and "$smile" are functions
"$+" is a string operator

Naturally, one can get carried away dropping in new code while running:

/describe %chan $gettok(:stashes:places:stuffs:contemplates 
placing:,$rand(1,4),$asc(:)) $gettok(:the furry beast:it:,$rand(1,2),$asc(:))
into
$gettok(the her,$rand(1,2),32) $gettok(fridge refridgerator,$rand(1,2),32) 
$gettok(:to:so she can:,$rand(1,2),$asc(:)) $gettok(:eat it later:munch it 
later:eat it for dinner:have it for breakfast tomorrow:,$rand(1,4),$asc(:)) $+ .
$smile

It works nicely in mirc, $smile

You could have a user file that deforms lists, buttons, or totally re-skins an 
application your provide, and they never see your code, by dynamically 
including new methods and classes and vars/lists/lines/buttons. 

Kat

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

30. Re: Modified Interpreter

--- gertie at visionsix.com wrote:


> Dynamic code inclusion.

<snip>

> You could have a user file that deforms lists, buttons, or totally re-skins
> an application your provide, and they never see your code, by dynamically 
> including new methods and classes and vars/lists/lines/buttons. 

I've used David Cuny's eu.ex in this way (as a scripting engine).  Perhaps I'll
have to dig up what I have and clean it up and make it easier to use. 
Basically, you can control what commands, variables and routines the script can
use, and provide 'wrappers' for them.

Matt Lewis



__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

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

31. Re: Modified Interpreter

On Sun, 13 Jul 2003 15:25:02 -0700 (07/14/03 08:25:02)
, Matt Lewis <matthewwalkerlewis at yahoo.com> wrote:

>
>
> --- gertie at visionsix.com wrote:
>
>
>> Dynamic code inclusion.
>
> <snip>
>
>> You could have a user file that deforms lists, buttons, or totally re- 
>> skins
>> an application your provide, and they never see your code, by 
>> dynamically including new methods and classes and 
>> vars/lists/lines/buttons.
>
> I've used David Cuny's eu.ex in this way (as a scripting engine).  
> Perhaps I'll
> have to dig up what I have and clean it up and make it easier to use. 
> Basically, you can control what commands, variables and routines the 
> script can
> use, and provide 'wrappers' for them.
>

Snap! I was thinking the same thing, Matt. I'm sure a 'cut-down' Eu 
interpreter, such as eu.ex, would be a useful scripting tool. Parameter 
passing between it and the calling program would still have to be worked 
out.

-- 

cheers,
Derek Parnell

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

32. Re: Modified Interpreter

You are a GENIUS!

THANK YOU

jbrown.

On Mon, Jul 14, 2003 at 10:11:58AM -0400, Matt Lewis wrote:
> 
> 
> > From: Derek Parnell [mailto:ddparnell at bigpond.com]
> 
> > > Matt Lewis <matthewwalkerlewis at yahoo.com> wrote:
> 
> > > I've used David Cuny's eu.ex in this way (as a scripting engine).  
> > > Perhaps I'll have to dig up what I have and clean it up 
> > > and make it easier to use. Basically, you can control what 
> > > commands, variables and routines the script can use, and 
> > > provide 'wrappers' for them.
> > 
> > Snap! I was thinking the same thing, Matt. I'm sure a 'cut-down' Eu 
> > interpreter, such as eu.ex, would be a useful scripting tool. 
> > Parameter passing between it and the calling program would still have 
> > to be worked out.
> 
> OK, I've cleaned up and documented what I have.  You can get it:
> 
> Source  http://www14.brinkster.com/matthewlewis/euscript.zip
> Docs    http://www14.brinkster.com/matthewlewis/euscript.htm
> 
> And, of course, all my projects are here:
> 
> http://www14.brinkster.com/matthewlewis/projects.html
> 
> Matt Lewis
> 
> 
> 
> TOPICA - Start your own email discussion group. FREE!
> 
> 

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

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

33. Re: Modified Interpreter

Question: why would init_eu() be called on adding and removing builtin
routines, and why would the error handler be called multiple times
for the same error?

jbrown

On Mon, Jul 14, 2003 at 03:56:12PM -0400, jbrown105 at speedymail.org wrote:
> 
> 
> You are a GENIUS!
> 
> THANK YOU
> 
> jbrown.
> 
> On Mon, Jul 14, 2003 at 10:11:58AM -0400, Matt Lewis wrote:
> > 
> > 
> > > From: Derek Parnell [mailto:ddparnell at bigpond.com]
> > 
> > > > Matt Lewis <matthewwalkerlewis at yahoo.com> wrote:
> > 
> > > > I've used David Cuny's eu.ex in this way (as a scripting engine).  
> > > > Perhaps I'll have to dig up what I have and clean it up 
> > > > and make it easier to use. Basically, you can control what 
> > > > commands, variables and routines the script can use, and 
> > > > provide 'wrappers' for them.
> > > 
> > > Snap! I was thinking the same thing, Matt. I'm sure a 'cut-down' Eu 
> > > interpreter, such as eu.ex, would be a useful scripting tool. 
> > > Parameter passing between it and the calling program would still have 
> > > to be worked out.
> > 
> > OK, I've cleaned up and documented what I have.  You can get it:
> > 
> > Source  http://www14.brinkster.com/matthewlewis/euscript.zip
> > Docs    http://www14.brinkster.com/matthewlewis/euscript.htm
> > 
> > And, of course, all my projects are here:
> > 
> > http://www14.brinkster.com/matthewlewis/projects.html
> > 
> > Matt Lewis
> > 
> > 
> > TOPICA - Start your own email discussion group. FREE!
> > 
> > 
> -- 
>  /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
>  \ /  campain against           | Linux User:190064
>   X   HTML in e-mail and        | Linux Machine:84163
>  /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html
> 
> 
> 
> TOPICA - Start your own email discussion group. FREE!
> 
> 

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

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

34. Re: Modified Interpreter

I still don't see any advantage to this interpter when the same
code can be written in native Euphoria. Maybe if an example
or demo of it's use were included with the files; It might help
somebody to understand what the advanage of using it is.

Bernie

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

35. Re: Modified Interpreter

On Mon, Jul 14, 2003 at 06:23:39PM -0400, Bernie Ryan wrote:
> 
> 
> I still don't see any advantage to this interpter when the same
> code can be written in native Euphoria. Maybe if an example
> or demo of it's use were included with the files; It might help
> somebody to understand what the advanage of using it is.
> 
> Bernie
> 

The main advantage is speed really...eu.ex has proven itself to be far
slower than normal Eu.

jbrown

> 
> 
> TOPICA - Start your own email discussion group. FREE!
> 
> 

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

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

36. Re: Modified Interpreter

Bernie wrote:

> I still don't see any advantage to this interpeter when the same
> code can be written in native Euphoria.

The code is reflective - you can query variables, create new ones on the fly, 
search for variables, conditionally include chunks of code, dynamically set 
tracepoints, sandbox what the user is allowed to do... Stuff like that.

-- David Cuny

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

37. Re: Modified Interpreter

> From: Juergen Luethje <j.lue at gmx.de>
> Subject: Re: Modified Interpreter
> 
> 
> --------_3F101CD6DCC2016BBDB0_MULTIPART_MIXED_
> Content-Type: text/plain; charset="US-ASCII"
> Content-Transfer-Encoding: 7bit
> 
> Me wrote:
> 
> <snip>
> 
>> Please allow me a "stupid" question: Regarding the interpreter, what is
>> the problem with enabling it to execute sequences/strings?
>> The Eu interpreter already is able to interpret Eu code. blink
>> ATM, it does so at "interpretation time". Is it really difficult, to let
>> it also do so at run time?
> 
> 
> I just wrote a litte "interpreter" that executes code recursively. smile
> Just save the three attached files, and run 'interpret.ex'.
> Is Euphoria too complex, to use this principle?
> 
> Very curious,
>    Juergen
> 
> -- 

idEu will have a macro facility for dynamic code execution. It even 
supports dynamically defined %label and %goto. But untested yet and 
probablu buggy ATM: I plan to release this preprocessor around march 2004.

CChris

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

38. Re: Modified Interpreter

Hi Matt, you wrote:

> OK, I've cleaned up and documented what I have.  You can get it:
>
> Source  http://www14.brinkster.com/matthewlewis/euscript.zip

<snip>

Why not also put this link at the Recent User's Contibution page?
I already have an idea, what I'd like to do with my micro $$ next
month ... blink

Matt, *thank* *you* *so* *much*! smile

Best regards,
   Juergen

-- 
 /"\  ASCII ribbon campain  |    |\      _,,,---,,_
 \ /  against HTML in       |    /,`.-'`'    -.  ;-;;,_
  X   e-mail and news,      |   |,4-  ) )-,_..;\ (  `'-'
 / \  and unneeded MIME     |  '---''(_/--'  `-'\_)

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

39. Re: Modified Interpreter

Hi Christian, you wrote:

> idEu will have a macro facility for dynamic code execution. It even
> supports dynamically defined %label and %goto. But untested yet and
> probablu buggy ATM: I plan to release this preprocessor around march 2004.

I'm looking forward to see it.

Best regards,
   Juergen

-- 
 /"\  ASCII ribbon campain  |
 \ /  against HTML in       |  This message has been ROT-13 encrypted
  X   e-mail and news,      |  twice for higher security.
 / \  and unneeded MIME     |

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

40. Re: Modified Interpreter

On Fri, 18 Jul 2003 06:00:54 -0400, Matt Lewis
<matthewwalkerlewis at yahoo.com> wrote:

>Ah, well, as with the original eu.ex, Rob decided he didn't want to put =
this
>on his page, since it has the potential to compete with Euphoria.  But
>please feel free to vote for my other stuff. :)

Strange, it is there when I look blink

Pete

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

41. Re: Modified Interpreter

--- Pete Lomax <petelomax at blueyonder.co.uk> wrote:

> >Ah, well, as with the original eu.ex, Rob decided he didn't want to put this
> >on his page, since it has the potential to compete with Euphoria.  But
> >please feel free to vote for my other stuff. :)
> 
> Strange, it is there when I look blink

Not my interpreter, but euscript.

Matt Lewis



__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

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

Search



Quick Links

User menu

Not signed in.

Misc Menu