1. boot strapping euphoria idea

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.

new topic     » topic index » view message » categorize

2. Re: boot strapping euphoria idea

BRyan said...

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

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

3. Re: boot strapping euphoria idea

https://en.wikipedia.org/wiki/PyPy :)

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

4. Re: boot strapping euphoria idea

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 

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

5. Re: boot strapping euphoria idea

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.

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

6. Re: boot strapping euphoria idea

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

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

7. Re: boot strapping euphoria idea

Ekhnat0n said...

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?

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

8. Re: boot strapping euphoria idea

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

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

9. Re: boot strapping euphoria idea

Ekhnat0n said...

I looked at PyPy as suggested by kat(smeow)

It was useful, not katsmeow.

http://openeuphoria.org/forum/m/126944.wc

Ekhnat0n said...

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.

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

10. Re: boot strapping euphoria idea

Ekhnat0n said...

I looked at PyPy as suggested by kat(smeow)

That was not me.

Kat

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

11. Re: boot strapping euphoria idea

jimcbrown said...

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

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

12. Re: boot strapping euphoria idea

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

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

13. Re: boot strapping euphoria idea

katsmeow said...
jimcbrown said...

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

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

Search



Quick Links

User menu

Not signed in.

Misc Menu