1. Who is compiling Eu, and why?

I have been using Eu for some time, and never compiled it. I have run it interpreted and bound. So a couple of us were sitting around on irc, and i volunteered to ask publicly: why would anyone compile their Euphoria source code? If the goal is to distribute one file for an application, why compile vs binding?

What drew me to Eu was it being an interpreter. Interpreters can be made very smart, very fault tolerant, and it's easier to add interesting features to interpreters than to compilers. Today's multicore computers, or my 15-year-old single-core computers, run interpreted or bound apps plenty fast enough.

I fear the compiler is holding back Euphoria. The one concrete example i can think of at the moment is that tasks won't run correctly when compiled (or made into a dll?). Other features, like string execution, dynamic includes, creating and destroying separate program environments for sub-programs, are just easier in an interpreter. Even if the interpreter must call into a dll to do the hoop-jumping.

I am thinking the next releases of Eu can be done sooner if the compiler is un-necessary and more like optional gravey. Discuss and drag in some devs to this conversation!

Kat

new topic     » topic index » view message » categorize

2. Re: Who is compiling Eu, and why?

I think Euphoria could really benefit from some enhancements as an interpreted language such as reflexive features, dynamic includes, dynamic (string) execution, etc. Are we holding back some of these ideas because it would be difficult to implement in the eu to C translator?

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

3. Re: Who is compiling Eu, and why?

If I can get my application working well, I'm considering compiling it to a bound version to see if it runs considerably faster. My project generates a .wav file, and looks like it can use all the speed it can get. I'm not sure how much of a speedup that will be, if any.

That said, my primary reason for looking to Euphoria for my application was to be able to distribute an executable, and the interpreted version of Euphoria does that just fine. The idea of being able to create a bound executable was one of the features I pilfered for wxBasic, and I'm surprised it's not used more often in other languages.

In theory, I should be able to bind multiple executables on a single platform, right? I don't recall anyone trying it. I see there is a source version of OS X available, but no binary.

- David

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

4. Re: Who is compiling Eu, and why?

katsmeow said...

I have been using Eu for some time, and never compiled it. I have run it interpreted and bound. So a couple of us were sitting around on irc, and i volunteered to ask publicly: why would anyone compile their Euphoria source code? If the goal is to distribute one file for an application, why compile vs binding?

The main reason is speed. Binding is better in other ways (e.g. better chance of getting readable error messages).

katsmeow said...

I fear the compiler is holding back Euphoria. The one concrete example i can think of at the moment is that tasks won't run correctly when compiled (or made into a dll?).

Tasks work fine when compiled. It's the sharing of tasks between a compiled library and a compiled executable that hasn't been implemented.

katsmeow said...

Other features, like string execution,

IIRC it was decided that if this was ever implemented, it'd be an interpreter-only feature. We already have interpreter-only features in 4.1.0, so I don't think the presence of a compiler is holding things back.

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

5. Re: Who is compiling Eu, and why?

I compile for development of the Eu itself. :) Back in 3.1.1, most of the tools that came with Euphoria were just interpreted via bat files. During 4.0.0 development, we switched to EXEs. It was good to have things self-contained while your interpreter's language was in flux.

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

6. Re: Who is compiling Eu, and why?

I am attempting to compile to achieve a smaller file and hopefully, faster execution.

The bound version runs just fine. It comes in at a little over 2,000 KB.

The .exw file is 95 KB.

Buzzo

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

7. Re: Who is compiling Eu, and why?

jimcbrown said...
katsmeow said...

I have been using Eu for some time, and never compiled it. I have run it interpreted and bound. So a couple of us were sitting around on irc, and i volunteered to ask publicly: why would anyone compile their Euphoria source code? If the goal is to distribute one file for an application, why compile vs binding?

The main reason is speed. Binding is better in other ways (e.g. better chance of getting readable error messages).

Since OE is presumeably faster than RDS Eu, has anyone compiled a random sampling of OE projects and compared the speed they run at vs binding the projects? I see this speed arguement as a very old mantra, brought up since the days of RDS on win3.x and win95. Things have changed, the mantra needs verification and updating.

jimcbrown said...
katsmeow said...

Other features, like string execution,

IIRC it was decided that if this was ever implemented, it'd be an interpreter-only feature. We already have interpreter-only features in 4.1.0, so I don't think the presence of a compiler is holding things back.

What are those interpreter-only features?

Kat

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

8. Re: Who is compiling Eu, and why?

Games or other OpenGL work. Rendering a OpenGL 3D game from a compiled binary is at least 10-20% faster than interpreted. At least all of mine are. I know there isn't a huge game development community using Eu but I appreciate the feature immensely.

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

9. Re: Who is compiling Eu, and why?

ssallen said...

Games or other OpenGL work. Rendering a OpenGL 3D game from a compiled binary is at least 10-20% faster than interpreted. At least all of mine are. I know there isn't a huge game development community using Eu but I appreciate the feature immensely.

Ok, thanks for the data. Let me ask you this: if the compiler development were frozen except for bug fixes, and more features were added to the interpreter, but you do not need those features now, and you likely won't use them tomorrow, would you be tentatively ok with the interpreter and compiler feature lists diverging?

Kat

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

10. Re: Who is compiling Eu, and why?

katsmeow said...
jimcbrown said...
katsmeow said...

I have been using Eu for some time, and never compiled it. I have run it interpreted and bound. So a couple of us were sitting around on irc, and i volunteered to ask publicly: why would anyone compile their Euphoria source code? If the goal is to distribute one file for an application, why compile vs binding?

The main reason is speed. Binding is better in other ways (e.g. better chance of getting readable error messages).

Since OE is presumeably faster than RDS Eu, has anyone compiled a random sampling of OE projects and compared the speed they run at vs binding the projects? I see this speed arguement as a very old mantra, brought up since the days of RDS on win3.x and win95.

Not that I know of. Some benchmarks were done against specially designed tests before 4.0.0 was released, but nothing since ... and no random sampling AFAIK.

katsmeow said...

Things have changed, the mantra needs verification and updating.

Agreed.

katsmeow said...
jimcbrown said...
katsmeow said...

Other features, like string execution,

IIRC it was decided that if this was ever implemented, it'd be an interpreter-only feature. We already have interpreter-only features in 4.1.0, so I don't think the presence of a compiler is holding things back.

What are those interpreter-only features?

The only set I can recall off the top of my head is include/euphoria/debug/debug.e

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

11. Re: Who is compiling Eu, and why?

I compile everything. I have a compiled WEE which I use when not using Notepad\+\+. Not long ago I had hopes about using Euphoria to build DLLs and it was looking promising until my work took a different direction. My work now doesn't lend itself to Euphoria, sadly.

bugmagnet.

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

12. Re: Who is compiling Eu, and why?

katsmeow said...

Ok, thanks for the data. Let me ask you this: if the compiler development were frozen except for bug fixes, and more features were added to the interpreter, but you do not need those features now, and you likely won't use them tomorrow, would you be tentatively ok with the interpreter and compiler feature lists diverging?

Kat

I would probably be all right with that. Assuming the standard library doesn't start using these features and kill my existing code.

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

13. Re: Who is compiling Eu, and why?

Ok, over to the development team: Can you develop new features in OE faster and easier if those new features are not simultaneously pushed into the compiler, and future OE work be only for the interpreter and binder? What is desired is to leap beyond what OE is, instead of OE playing "a-catch-up-with-sequences". We don't need 10 new ways to use match(), we need assorted core features, some of which have been shown over the years in interpreters done by Karl, Matt, and Pete.

This question doesn't obviate the use of compiled "helper" exe or dll files, which may be needed to duplicate environments in string execution or assigning threads to different cpu cores.

Kat

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

14. Re: Who is compiling Eu, and why?

katsmeow said...

Ok, over to the development team: Can you develop new features in OE faster and easier if those new features are not simultaneously pushed into the compiler, and future OE work be only for the interpreter and binder?

It depends on the specific features (e.g. definitely yes for string execution), but in general, the answer is no. Most of the work in adding a feature tends to be in the parser/scanner, which is written in Eu and is a piece of code shared in common, or it's in the runtime library, which is written in C and also generally shared in common (with a couple of exceptions).

katsmeow said...

What is desired is to leap beyond what OE is, instead of OE playing "a-catch-up-with-sequences". We don't need 10 new ways to use match(), we need assorted core features, some of which have been shown over the years in interpreters done by Karl, Matt, and Pete.

Pete Lomax's Phix is written in Phix, and so runtime changes are probably a lot easier to do there - there's generally no need to deal with C.

Matt's OOEU was based on the Eu backend. A lot of his features are just plain hard to get right in the C backend/C runtime library (which would be ncessary to get it working with the conventional interpreter/binder/shrouder).

(IIRC Karl's work with Bach was done under a less than open-and-free license, so I don't have any information on the work he did there.)

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

15. Re: Who is compiling Eu, and why?

So is the compiler to be frozen at v4.0.5 or v4.1.0? Which is to ask: is the last edition of the compiler the last planned edition, or is the unreleased current version going to be the last planned version?

Can plans be made now on what to do the day after the next release? Is that v4.1.0? Can steps be put in motion, polls be taken, options be put forth, tidbits tested? What features can we expect? What can those of us who are not devs be doing to help?

Kat

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

16. Re: Who is compiling Eu, and why?

katsmeow said...

So is the compiler to be frozen at v4.0.5 or v4.1.0?

Neither. There are no plans to do this. The translator will not be frozen.

katsmeow said...

What can those of us who are not devs be doing to help?

I'm hoping another dev can field this question.

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

17. Re: Who is compiling Eu, and why?

jimcbrown said...
katsmeow said...

So is the compiler to be frozen at v4.0.5 or v4.1.0?

Neither. There are no plans to do this. The translator will not be frozen.

Then you are saying there will be no changes to OE, unless those changes can be compiled also. Which means anyone hacking the interpreter to add a feature must also be fluent in C, in order to prove the feature can be translated. That lets out the vast majority of people who are 1) not fluent in C, and 2) have a Euphoria app to create instead of learning C. After all, if they can write it in C, they'd write it in C and donate it to the C "community", altho chances are, it's already in C or some other language.

My hope was to make OE more accessable to the people who program in Euphoria. To make it easier for the dev team to incorporate features into the main release, in OE, and not spend time in C. To increase the rate of progress in making OE more feature-rich. So Karl, DCuny, Matt, etc etc etc can see their work in the interpreter be useful to more people, and so what if it won't translate, at least it all works together and it's there for people to use in one release.

Kat

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

18. Re: Who is compiling Eu, and why?

katsmeow said...
jimcbrown said...
katsmeow said...

So is the compiler to be frozen at v4.0.5 or v4.1.0?

Neither. There are no plans to do this. The translator will not be frozen.

Then you are saying there will be no changes to OE, unless those changes can be compiled also.

Like I said before, it depends on the feature in question.

katsmeow said...

Which means anyone hacking the interpreter to add a feature must also be fluent in C,

This is the case anyways, unless the feature can be made solely in the parser/scanner. Even if we dropped the translator completely, one must generally still be fluent in C to add features to the interpreter.

katsmeow said...

in order to prove the feature can be translated.

Actually, and somewhat surprisingly, the answer to this is no. Typically one of the other devs (such as mattlewis) will step in here and implement the translator specific pieces once someone else had added the feature to the C backend interpreter.

katsmeow said...

My hope was to make OE more accessable to the people who program in Euphoria.

A laudable goal, but unfortunately unrealistic. One is better off hacking at Phix for this I think.

katsmeow said...

So Karl,

Is he still around? I don't recall anything from him since 2006.

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

19. Re: Who is compiling Eu, and why?

jimcbrown said...
katsmeow said...

My hope was to make OE more accessable to the people who program in Euphoria.

A laudable goal, but unfortunately unrealistic. One is better off hacking at Phix for this I think.

You see that, DCuny? If you want something new in OE, you are better off switching to Phix.

jimcbrown said...
katsmeow said...

So Karl,

Is he still around? I don't recall anything from him since 2006.

The date when he gave up in frustration at OE not being improved by leaps and bounds, as he (among others) demonstrated it could be, is immaterial to the quality work he did and effort he put into it. Except to prove OE could have had features of Bochs since 2006, eight years ago.

Kat

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

20. Re: Who is compiling Eu, and why?

katsmeow said...
jimcbrown said...
katsmeow said...

My hope was to make OE more accessable to the people who program in Euphoria.

A laudable goal, but unfortunately unrealistic. One is better off hacking at Phix for this I think.

You see that, DCuny? If you want something new in OE, you are better off switching to Phix.

I really want to argue this point, but Phix has things like self-resurcive compiling and true native multithreading. I can't argue this point. Phix is just awesome.

katsmeow said...
jimcbrown said...
katsmeow said...

So Karl,

Is he still around? I don't recall anything from him since 2006.

The date when he gave up in frustration at OE not being improved by leaps and bounds, as he (among others) demonstrated it could be, is immaterial to the quality work he did and effort he put into it. Except to prove OE could have had features of Bochs since 2006, eight years ago.

Can you point out the specific features of Bachs (not Bochs the x86 software emulator) that are still missing from OE? It'd be very helpful to have a list.

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

21. Re: Who is compiling Eu, and why?

jimcbrown said...
katsmeow said...

So is the compiler to be frozen at v4.0.5 or v4.1.0?

Neither. There are no plans to do this. The translator will not be frozen.

Is it correct that features of 4.1 are frozen and we are just waiting for some bugs to be fixed before releasing it?

katsmeow said...

Can plans be made now on what to do the day after the next release? Is that v4.1.0? Can steps be put in motion, polls be taken, options be put forth, tidbits tested? What features can we expect? What can those of us who are not devs be doing to help?

I have been thinking about scripting language features for euphoria for years and have danced around the Euphoria source without really diving in and trying to fully understand how it works. I have been avoiding working on the core of Euphoria or building it from source because i am not a C programmer, i am a Euphoria programmer! Perhaps it is time for me to get more involved. I could create a new branch called "euscript" that focuses on experimenting with features needed to use Euphoria as a scripting language. Perhaps with the help of a few people, we could come up with something interesting.

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

22. Re: Who is compiling Eu, and why?

jimcbrown said...
katsmeow said...
jimcbrown said...
katsmeow said...

So Karl,

Is he still around? I don't recall anything from him since 2006.

The date when he gave up in frustration at OE not being improved by leaps and bounds, as he (among others) demonstrated it could be, is immaterial to the quality work he did and effort he put into it. Except to prove OE could have had features of Bochs since 2006, eight years ago.

Can you point out the specific features of Bachs (not Bochs the x86 software emulator) that are still missing from OE? It'd be very helpful to have a list.

I must disagree with you. I don't believe it would be useful at all to have that list. After the years which have gone by, and your comments on this thread, i believe there is no point in making a list of additional features to have in Euphoria.

Kat

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

23. Re: Who is compiling Eu, and why?

katsmeow said...

I must disagree with you. I don't believe it would be useful at all to have that list. After the years which have gone by, and your comments on this thread, i believe there is no point in making a list of additional features to have in Euphoria.

This disrespectful reply is a CodeOfConduct violation. Further posts along the same lines may be edited or deleted.

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

24. Re: Who is compiling Eu, and why?

ryanj said...
jimcbrown said...
katsmeow said...

So is the compiler to be frozen at v4.0.5 or v4.1.0?

Neither. There are no plans to do this. The translator will not be frozen.

Is it correct that features of 4.1 are frozen and we are just waiting for some bugs to be fixed before releasing it?

That's the idea. However, since the release is seemingly taking so long, some features that were frozen out originally managed to get back in.

I don't think there are any plans to slip in any more features into 4.1.0 before its release, though.

ryanj said...
katsmeow said...

Can plans be made now on what to do the day after the next release? Is that v4.1.0? Can steps be put in motion, polls be taken, options be put forth, tidbits tested? What features can we expect? What can those of us who are not devs be doing to help?

I have been thinking about scripting language features for euphoria for years and have danced around the Euphoria source without really diving in and trying to fully understand how it works. I have been avoiding working on the core of Euphoria or building it from source because i am not a C programmer, i am a Euphoria programmer! Perhaps it is time for me to get more involved. I could create a new branch called "euscript" that focuses on experimenting with features needed to use Euphoria as a scripting language. Perhaps with the help of a few people, we could come up with something interesting.

I really like this idea.

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

25. Re: Who is compiling Eu, and why?

jimcbrown said...
katsmeow said...

I must disagree with you. I don't believe it would be useful at all to have that list. After the years which have gone by, and your comments on this thread, i believe there is no point in making a list of additional features to have in Euphoria.

This disrespectful reply is a CodeOfConduct violation. Further posts along the same lines may be edited or deleted.

Please, list the points of disrespect. I attacked and/or disparaged no one. It's a matter of fact that years have gone by, and that you recommended Phix, it's not disrespect as far as i can tell.

Kat

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

26. Re: Who is compiling Eu, and why?

katsmeow said...
jimcbrown said...
katsmeow said...

I must disagree with you. I don't believe it would be useful at all to have that list. After the years which have gone by, and your comments on this thread, i believe there is no point in making a list of additional features to have in Euphoria.

This disrespectful reply is a CodeOfConduct violation. Further posts along the same lines may be edited or deleted.

Please, list the points of disrespect. I attacked and/or disparaged no one. It's a matter of fact that years have gone by, and that you recommended Phix, it's not disrespect as far as i can tell.

Kat

This is a reasonable request, and I'll honor it this time. In general though, I think whether or not something is disrespectful is obvious. (So, don't consider this list binding or comprehensive or anything.)

There is only one point: "your comments on this thread" - I'm all for adding new features to OE, yet - because I point out that implementing most features require C coding - you are stating that I am taking the opposite view. It's self-evident that I don't hold the opposite view, and very disrespectful of you to portray me as something that I'm not.

If you have any additional questions or comments, please take it off the forum by emailing _tom or ChrisB. Any additional posts about this will be deleted and/or edited.

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

27. Re: Who is compiling Eu, and why?

katsmeow said...

Ok, over to the development team: Can you develop new features in OE faster and easier if those new features are not simultaneously pushed into the compiler, and future OE work be only for the interpreter and binder?

On the one hand, less work gets done faster than more work, so yes.

katsmeow said...

This question doesn't obviate the use of compiled "helper" exe or dll files, which may be needed to duplicate environments in string execution or assigning threads to different cpu cores.

A big use case that everyone relies on is translating and compiling the front end of euphoria.

I'd definitely like to see multi-threading. We have a lot of work to do there, starting with figuring out how we want that to work. String execution is far from trivial, even just for interpreted code.

Matt

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

28. Re: Who is compiling Eu, and why?

katsmeow said...

So is the compiler to be frozen at v4.0.5 or v4.1.0? Which is to ask: is the last edition of the compiler the last planned edition, or is the unreleased current version going to be the last planned version?

I have no plans to do anything like that.

Matt

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

29. Re: Who is compiling Eu, and why?

katsmeow said...

Then you are saying there will be no changes to OE, unless those changes can be compiled also. Which means anyone hacking the interpreter to add a feature must also be fluent in C, in order to prove the feature can be translated. That lets out the vast majority of people who are 1) not fluent in C, and 2) have a Euphoria app to create instead of learning C. After all, if they can write it in C, they'd write it in C and donate it to the C "community", altho chances are, it's already in C or some other language.

You'd probably need to know C even if you ignore the translator. Unless you're only implementing the feature in the eu.e backend. Which is actually useful, because it requires front end work, too.

Matt

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

30. Re: Who is compiling Eu, and why?

katsmeow said...
jimcbrown said...
katsmeow said...

My hope was to make OE more accessable to the people who program in Euphoria.

A laudable goal, but unfortunately unrealistic. One is better off hacking at Phix for this I think.

You see that, DCuny? If you want something new in OE, you are better off switching to Phix.

Now that's funny. You're trading off a knowledge of C for a knowledge of x86 ASM. Yuck.

Matt

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

31. Re: Who is compiling Eu, and why?

jimcbrown said...
katsmeow said...
jimcbrown said...
katsmeow said...

I must disagree with you. I don't believe it would be useful at all to have that list. After the years which have gone by, and your comments on this thread, i believe there is no point in making a list of additional features to have in Euphoria.

This disrespectful reply is a CodeOfConduct violation. Further posts along the same lines may be edited or deleted.

Please, list the points of disrespect. I attacked and/or disparaged no one. It's a matter of fact that years have gone by, and that you recommended Phix, it's not disrespect as far as i can tell.

Kat

This is a reasonable request, and I'll honor it this time. In general though, I think whether or not something is disrespectful is obvious. (So, don't consider this list binding or comprehensive or anything.)

There is only one point: "your comments on this thread" - I'm all for adding new features to OE, yet - because I point out that implementing most features require C coding - you are stating that I am taking the opposite view. It's self-evident that I don't hold the opposite view, and very disrespectful of you to portray me as something that I'm not.

If you have any additional questions or comments, please take it off the forum by emailing _tom or ChrisB. Any additional posts about this will be deleted and/or edited.

Alright, i understand your frustration, katsmeow, and why you don't see the point of bringing up ideas that have probably already been ignored or forgotten in the past. But let's assume, for the sake of argument, that there are some people that really do want to spend the time it takes to add some features to Euphoria at this point in time. What features does Phix have and/or what other general features should Euphoria have?

jimcbrown said...

...Phix has things like self-resurcive compiling and true native multithreading...

I am curious why Euphoria doesn't have these features, especially multithreading.

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

32. Re: Who is compiling Eu, and why?

[quote ryanj]

jimcbrown said...
jimcbrown said...

...Phix has things like self-resurcive compiling and true native multithreading...

I am curious why Euphoria doesn't have these features, especially multithreading.

Multithreading is a lot of work. It's going to require a major overhaul of a lot of stuff. There are some hard decisions to make about the design, too. I know that Jim has an experimental branch for this.

Phix is very much ASM based. I'm not sure what "self-recursive compiling" is, but I guess it has something to do with Pete emitting ASM all over the place. I know some people talked about JIT in the past. The best bet there is probably to target LLVM. There's a ton of work to do there, if that's what someone wants to do that.

Matt

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

33. Re: Who is compiling Eu, and why?

mattlewis said...

String execution is far from trivial, even just for interpreted code.

Matt

Whatever happened to

  1. include exec.e , which
    1. grabs ram to convert the string to IL code,
    2. creates a duplicate environment of the current app
  2. so when the user calls exec(), it
    1. converts it in a clean environ to IL
    2. puts the IL into the duplicate environ
    3. copies over the current var table that's in scope
  3. runs the code
  4. copies back any changed vars
  5. picks up at the next line in the app

    At least, that's about the way it's done on the Commodore 64 as of 30 years ago. It's actually a little easier in two points on the C64, i call a garbage collection to clear some ram space, and then let the string have access to all the vars with no copying or scoping.

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

34. Re: Who is compiling Eu, and why?

mattlewis said...
katsmeow said...
jimcbrown said...
katsmeow said...

My hope was to make OE more accessable to the people who program in Euphoria.

A laudable goal, but unfortunately unrealistic. One is better off hacking at Phix for this I think.

You see that, DCuny? If you want something new in OE, you are better off switching to Phix.

Now that's funny. You're trading off a knowledge of C for a knowledge of x86 ASM. Yuck.

I'm a bit biased toward x86 ASM, and having the ability to generate machine code directly is a huge benefit. Phix could conceivably add a JIT compiler, and from there you could add string execution and whatnot.

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

35. Re: Who is compiling Eu, and why?

ryanj said...
jimcbrown said...
katsmeow said...
jimcbrown said...
katsmeow said...

I must disagree with you. I don't believe it would be useful at all to have that list. After the years which have gone by, and your comments on this thread, i believe there is no point in making a list of additional features to have in Euphoria.

This disrespectful reply is a CodeOfConduct violation. Further posts along the same lines may be edited or deleted.

Please, list the points of disrespect. I attacked and/or disparaged no one. It's a matter of fact that years have gone by, and that you recommended Phix, it's not disrespect as far as i can tell.

Kat

This is a reasonable request, and I'll honor it this time. In general though, I think whether or not something is disrespectful is obvious. (So, don't consider this list binding or comprehensive or anything.)

There is only one point: "your comments on this thread" - I'm all for adding new features to OE, yet - because I point out that implementing most features require C coding - you are stating that I am taking the opposite view. It's self-evident that I don't hold the opposite view, and very disrespectful of you to portray me as something that I'm not.

If you have any additional questions or comments, please take it off the forum by emailing _tom or ChrisB. Any additional posts about this will be deleted and/or edited.

Alright, i understand your frustration, katsmeow, and why you don't see the point of bringing up ideas that have probably already been ignored or forgotten in the past. But let's assume, for the sake of argument, that there are some people that really do want to spend the time it takes to add some features to Euphoria at this point in time. What features does Phix have and/or what other general features should Euphoria have?

OE has been compared to Phix in the past, it's already been decided that the way Phix is built, everything about it's insides, and therefor what it can do, is incompatable with OE.

I feel if i say anything else, i will offend jimcbrown and be banned again.

useless

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

36. Re: Who is compiling Eu, and why?

mattlewis said...

Phix is very much ASM based. I'm not sure what "self-recursive compiling" is, but I guess it has something to do with Pete emitting ASM all over the place.

http://stackoverflow.com/questions/2998768/how-can-a-languages-compiler-be-written-in-that-language - I guess I meant that it's entirely self-hosted, unlike OE (which has a self-hosted front end but typically uses a backend written in C).

katsmeow said...
ryanj said...

Alright, i understand your frustration, katsmeow, and why you don't see the point of bringing up ideas that have probably already been ignored or forgotten in the past. But let's assume, for the sake of argument, that there are some people that really do want to spend the time it takes to add some features to Euphoria at this point in time. What features does Phix have and/or what other general features should Euphoria have?

OE has been compared to Phix in the past, it's already been decided that the way Phix is built, everything about it's insides, and therefor what it can do, is incompatable with OE.

Sort of. The internals of Phix are not compatible with OE, but both projects make huge efforts to keep the feature set in sync. The long term OE multithreaded plan is to present the same API as Phix, for example, so one can write multithreaded code that runs under either.

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

37. Re: Who is compiling Eu, and why?

katsmeow said...
mattlewis said...

String execution is far from trivial, even just for interpreted code.

Matt

Whatever happened to

None of that sounds trivial.

Matt

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

38. Re: Who is compiling Eu, and why?

I was going to delete the comment and ban the user, so you're much more restrained than I.

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

39. Re: Who is compiling Eu, and why?

katsmeow said...

I feel if i say anything else, i will offend jimcbrown and be banned again.

With these kinds of comments, you're lucky I haven't banned you yet. You're annoying and useless. Please stick to programming topics or leave.

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

40. Re: Who is compiling Eu, and why?

mattlewis said...
katsmeow said...
mattlewis said...

String execution is far from trivial, even just for interpreted code.

Matt

Whatever happened to

None of that sounds trivial.

Matt

For me, it was a garbage collect call, a few pointer changes, tokenize call, run, another GC, remove the string just executed, reset the pointers, resume execution right after where the exec() was called. IIRC, the machine code was under 100 bytes. I didn't move the vars or the OS or interpreter's machine code, but i expect, somehow, OE will need to.

useless

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

41. Re: Who is compiling Eu, and why?

katsmeow said...
mattlewis said...

None of that sounds trivial.

Matt

For me, it was a garbage collect call, a few pointer changes, tokenize call, run, another GC, remove the string just executed, reset the pointers, resume execution right after where the exec() was called. IIRC, the machine code was under 100 bytes. I didn't move the vars or the OS or interpreter's machine code, but i expect, somehow, OE will need to.

You are right, it will, which is why it's not trivial. It's a real shame that they don't build them like the C64 anymore - I've never used one but the emulators sure are nice.

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

42. Re: Who is compiling Eu, and why?

Maybe what we need to get the next edition of Euphoria out the door is someone who is a benevolent dictator type, who also has at least 30+ hours a week to spend on the project, and the technical skills to put the package together correctly, and the personal skills to sell it to the community, and the project management skills to get the developers to focus on getting the right stuff done.

(p.s. This is not a job application, btw).

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

43. Re: Who is compiling Eu, and why?

euphoric said...

You're annoying and useless.

This disrespectful reply is a CodeOfConduct violation. You have been warned.

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

44. Re: Who is compiling Eu, and why?

ryanj said...
euphoric said...

You're annoying and useless.

This disrespectful reply is a CodeOfConduct violation. You have been warned.

LOL! Thanks! :D

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

45. Re: Who is compiling Eu, and why?

[quote mattlewis]

ryanj said...
jimcbrown said...
jimcbrown said...

...Phix has things like self-resurcive compiling and true native multithreading...

I am curious why Euphoria doesn't have these features, especially multithreading.

Multithreading is a lot of work. It's going to require a major overhaul of a lot of stuff. There are some hard decisions to make about the design, too. I know that Jim has an experimental branch for this.

Phix is very much ASM based. I'm not sure what "self-recursive compiling" is, but I guess it has something to do with Pete emitting ASM all over the place. I know some people talked about JIT in the past. The best bet there is probably to target LLVM. There's a ton of work to do there, if that's what someone wants to do that.

Matt

Another way to do it is emit C code and use libtcc (http://bellard.org/tcc/) to execute it on the fly.

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

Search



Quick Links

User menu

Not signed in.

Misc Menu