1. Who is compiling Eu, and why?
- Posted by katsmeow Jan 27, 2015
- 2225 views
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
2. Re: Who is compiling Eu, and why?
- Posted by ryanj Jan 27, 2015
- 2190 views
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?
3. Re: Who is compiling Eu, and why?
- Posted by dcuny Jan 28, 2015
- 2277 views
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
4. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 28, 2015
- 2258 views
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).
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.
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.
5. Re: Who is compiling Eu, and why?
- Posted by SDPringle Jan 28, 2015
- 2223 views
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.
6. Re: Who is compiling Eu, and why?
- Posted by buzzo Jan 28, 2015
- 2152 views
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
7. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 28, 2015
- 2129 views
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.
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
8. Re: Who is compiling Eu, and why?
- Posted by ssallen Jan 28, 2015
- 2129 views
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.
9. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 28, 2015
- 2104 views
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
10. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 28, 2015
- 2127 views
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.
Things have changed, the mantra needs verification and updating.
Agreed.
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
11. Re: Who is compiling Eu, and why?
- Posted by bugmagnet Jan 28, 2015
- 2122 views
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.
12. Re: Who is compiling Eu, and why?
- Posted by ssallen Jan 29, 2015
- 2029 views
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.
13. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1967 views
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
14. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1940 views
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).
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.)
15. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1931 views
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
16. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1934 views
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.
What can those of us who are not devs be doing to help?
I'm hoping another dev can field this question.
17. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1917 views
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
18. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1932 views
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.
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.
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.
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.
So Karl,
Is he still around? I don't recall anything from him since 2006.
19. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1910 views
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.
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
20. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1895 views
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.
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.
21. Re: Who is compiling Eu, and why?
- Posted by ryanj Jan 30, 2015
- 1910 views
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?
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.
22. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1893 views
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
23. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1893 views
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.
24. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1898 views
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.
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.
25. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1890 views
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
26. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1918 views
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.
27. Re: Who is compiling Eu, and why?
- Posted by mattlewis (admin) Jan 30, 2015
- 1882 views
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.
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
28. Re: Who is compiling Eu, and why?
- Posted by mattlewis (admin) Jan 30, 2015
- 1895 views
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
29. Re: Who is compiling Eu, and why?
- Posted by mattlewis (admin) Jan 30, 2015
- 1912 views
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
30. Re: Who is compiling Eu, and why?
- Posted by mattlewis (admin) Jan 30, 2015
- 1893 views
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
31. Re: Who is compiling Eu, and why?
- Posted by ryanj Jan 30, 2015
- 1893 views
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?
...Phix has things like self-resurcive compiling and true native multithreading...
I am curious why Euphoria doesn't have these features, especially multithreading.
32. Re: Who is compiling Eu, and why?
- Posted by mattlewis (admin) Jan 30, 2015
- 1906 views
[quote ryanj]
...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
33. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1889 views
String execution is far from trivial, even just for interpreted code.
Matt
Whatever happened to
- include exec.e , which
- grabs ram to convert the string to IL code,
- creates a duplicate environment of the current app
- so when the user calls exec(), it
- converts it in a clean environ to IL
- puts the IL into the duplicate environ
- copies over the current var table that's in scope
- runs the code
- copies back any changed vars
- 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
34. Re: Who is compiling Eu, and why?
- Posted by PeteE Jan 30, 2015
- 1900 views
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.
35. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1895 views
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
36. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1942 views
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).
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.
37. Re: Who is compiling Eu, and why?
- Posted by mattlewis (admin) Jan 30, 2015
- 1890 views
String execution is far from trivial, even just for interpreted code.
Matt
Whatever happened to
None of that sounds trivial.
Matt
38. Re: Who is compiling Eu, and why?
- Posted by euphoric (admin) Jan 30, 2015
- 1905 views
I was going to delete the comment and ban the user, so you're much more restrained than I.
39. Re: Who is compiling Eu, and why?
- Posted by euphoric (admin) Jan 30, 2015
- 1880 views
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.
40. Re: Who is compiling Eu, and why?
- Posted by katsmeow Jan 30, 2015
- 1875 views
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
41. Re: Who is compiling Eu, and why?
- Posted by jimcbrown (admin) Jan 30, 2015
- 1844 views
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.
42. Re: Who is compiling Eu, and why?
- Posted by DerekParnell (admin) Jan 30, 2015
- 1881 views
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).
43. Re: Who is compiling Eu, and why?
- Posted by ryanj Feb 01, 2015
- 1835 views
You're annoying and useless.
This disrespectful reply is a CodeOfConduct violation. You have been warned.
44. Re: Who is compiling Eu, and why?
- Posted by euphoric (admin) Feb 02, 2015
- 1731 views
You're annoying and useless.
This disrespectful reply is a CodeOfConduct violation. You have been warned.
LOL! Thanks! :D
45. Re: Who is compiling Eu, and why?
- Posted by elias_maluko Feb 02, 2015
- 1768 views
- Last edited Feb 03, 2015
[quote mattlewis]
...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.