1. boot strapping euphoria idea
- Posted by BRyan Feb 12, 2015
- 1988 views
This is an idea that I have had for sometime but I don't have enough
knowledge of euphoria's internal design.
It is a fact that the translator can translate euphoria code to "C" code.
Now suppose that a user creates an standard include library of eu code that
will add a new feature to Eurphoria.
This feature could be tested fully in euphoria code, removing all the bugs.
Next the new standard library would be run through a new version of the translator.
The translator output would be a "C" plug-in module that would interface into
"C" code version of source which will be run through Watcom or some other supported compiler.
This would have created a new version of Euphoria sort of like boot strapping.
The advantage of this is that it would make it easier on the developers.
Any user could then submit a standard library for consideration for addition to Euphoria.
Please be gentle on the criticism of this idea.
2. Re: boot strapping euphoria idea
- Posted by jimcbrown (admin) Feb 12, 2015
- 1973 views
This is an idea that I have had for sometime but I don't have enough
knowledge of euphoria's internal design.
It is a fact that the translator can translate euphoria code to "C" code.
Now suppose that a user creates an standard include library of eu code that
will add a new feature to Eurphoria.
This feature could be tested fully in euphoria code, removing all the bugs.
Next the new standard library would be run through a new version of the translator.
The translator output would be a "C" plug-in module that would interface into
"C" code version of source which will be run through Watcom or some other supported compiler.
This would have created a new version of Euphoria sort of like boot strapping.
The advantage of this is that it would make it easier on the developers.
Any user could then submit a standard library for consideration for addition to Euphoria.
Please be gentle on the criticism of this idea.
We don't support Watcom any longer.
The general idea is sound, but the translator produces code that tends to be very hard to read. Building to a shared library and coming up with a standard oe plugin interface would probably be the easiest way to go. (You'd then come up with the odd situation of having the C runtime library implement a feature via a plugin written in Euphoria - and the plugin itself would depend on an older version of the C runtime library to implement that feature.)
4. Re: boot strapping euphoria idea
- Posted by useful Feb 13, 2015
- 1964 views
In the Harbour( https://harbour.github.io/ ) there is a possibility to insert fragments of C code in the prg file. This may be conveniently, if you don't want to create a .c file for a pair of C functions and then putting it in the project. This can be done with the help of directives #pragma BEGINDUMP ... #pragma ENDDUMP.
#pragma BEGINDUMP #include < extend.h > #include < math.h > HB_FUNC( SIN ) { double x = hb_parnd(1); hb_retnd( sin( x ) ); } #pragma ENDDUMP
5. Re: boot strapping euphoria idea
- Posted by jimcbrown (admin) Feb 13, 2015
- 1949 views
A major hurdle for OE is that so many of the features and builtin routines rely on the runtime library, written in C. Pete E. did a pretty good job with peu, though - it came pretty close to a one-on-one translation from Euphoria to C.
Probably the best bet is to rewrite the OE translator so that it can do the same thing, then have the new translator translate itself and the euphoria backend. Now you have a new interpreter and translator, both written entirely in Euphoria. So you can add entirely new features without having to deal with C at all.
6. Re: boot strapping euphoria idea
- Posted by Ekhnat0n Feb 13, 2015
- 1908 views
Why not port the Eu-routines to 86/86-64/68K/ARM-assembly languages right away
using a code as readable as Eu-code BUT different enough to prevent confusion?
By porting it to asm directly (and optimising THAT code for speed or versatility
just which one would be preferred)
or better yet
both speedy and versatile options of the commands would become available,
simply by adding S or V to the routine's name.
eg printS(...) and printV(...)
7. Re: boot strapping euphoria idea
- Posted by jimcbrown (admin) Feb 13, 2015
- 1908 views
Why not port the Eu-routines to 86/86-64/68K/ARM-assembly languages right away
using a code as readable as Eu-code BUT different enough to prevent confusion?
By porting it to asm directly (and optimising THAT code for speed or versatility
just which one would be preferred)
or better yet
both speedy and versatile options of the commands would become available,
simply by adding S or V to the routine's name.
eg printS(...) and printV(...)
May I suggest looking at Phix?
8. Re: boot strapping euphoria idea
- Posted by Ekhnat0n Feb 13, 2015
- 1900 views
I looked at PyPy as suggested by kat(smeow) and found that a very useful tip
giving me the insight I needed in how to approach the issue.
What is the difference between PyPy and Phix?(as I don't want to read pages
where some lines can point out what I'm looking for.
Antoine
9. Re: boot strapping euphoria idea
- Posted by jimcbrown (admin) Feb 13, 2015
- 1886 views
I looked at PyPy as suggested by kat(smeow)
It was useful, not katsmeow.
http://openeuphoria.org/forum/m/126944.wc
and found that a very useful tip
giving me the insight I needed in how to approach the issue.
What is the difference between PyPy and Phix?(as I don't want to read pages
where some lines can point out what I'm looking for.
Antoine
PyPy is Python written in Python itself (or more accurately a subset of Python).
Phix is a version of Euphoria written in itself, like PyPy.
10. Re: boot strapping euphoria idea
- Posted by katsmeow Feb 13, 2015
- 1892 views
I looked at PyPy as suggested by kat(smeow)
That was not me.
Kat
11. Re: boot strapping euphoria idea
- Posted by katsmeow Feb 13, 2015
- 1879 views
May I suggest looking at Phix?
You may, but last time i went alooking for Phix (last month?), it was not available for download. There was a note about playing catch-up with OE. Some side domains for Phix were down.
Kat
12. Re: boot strapping euphoria idea
- Posted by Ekhnat0n Feb 13, 2015
- 1888 views
Sorry Kat
for being bedazzled by Kat/katsmeow/useless.
In the end I am only human and can and will make (sometimes severe) mistakes.
Sorry once more for giving you a wrong idea in our personal email-xchanges.
Please forgive that mistake, however severe it seemed to you, without forgetting, I beg you.
Antoine
13. Re: boot strapping euphoria idea
- Posted by petelomax Feb 14, 2015
- 1832 views
May I suggest looking at Phix?
You may, but last time i went alooking for Phix (last month?), it was not available for download. There was a note about playing catch-up with OE. Some side domains for Phix were down.
Kat
I know. These fundamental restructures are taking their sweet time and there is nothing new worthwhile shipping. The current status is that the hosted-by-the-previous-version compiler is looking good, passing all tests and running most demos flawlessly, up from zero in December. The self-hosted compiler is starting to show some signs of life, failing miserably on regression test 17, with 43 not yet tried. Basic diagnostics, added last month, is now behaving fairly well. No movement yet on the interpreter/trace/profile side. I just put the resource section back in, as it had been triggering false positives left right and centre, but it seems Avast has heeded my submissions and they appear to have all but gone (yippee!). Of course I'd like things to be happening a bit faster too.
Pete