1. Rosetta Code mic drop

Many have tried, many have failed, many that is bar one.

Rosetta Code is a wiki-based programming website with implementations of common algorithms and solutions to various programming problems in many different programming languages. Created in 2007, it has since grown (as of 16/01/2022) to a total of 1,492 tasks, some of which are trivial, and some fiendishly difficult. At last, one programming language now has submissions for all 100% of them, and it is one you have probably never heard of: Phix

Phix is a zero-dependency 31.5MB download (though Linux users will almost certainly want/need to install IUP), with extensive help files and over 1000 bundled demos (~100 of which are win32-only), which can recompile itself (naturally the full source code is included) in under 20 seconds. The only real downside is that most of the runtime is written using inline x86 assembly, so it won't run on (eg) arm devices.

While Phix is primarily a desktop programming language, with versions for Windows and Linux, it comes bundled with p2js which can transpile most programs to JavaScript so they can be run in a web browser. Naturally certain activities such as reading and writing disk files are not permitted in a web browser due to security considerations, however of those 1,492 tasks, 734 or 49% have been marked as js compatible, with just 82 or 6% marked as incompatible, and obviously the remaining 45% are as yet unclassified.

PS: I suspect a young whippersnapper by the name of Wren is hot on my heels, maybe only two or three months away...

new topic     » topic index » view message » categorize

2. Re: Rosetta Code mic drop

Holy Crap! Good Job. Now how many can be done in plain Euphoria?

Lonny

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

3. Re: Rosetta Code mic drop

Congratulations, well done, a momentous task indeed.

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

4. Re: Rosetta Code mic drop

Lnettnay said...

Holy Crap! Good Job.

Thanks!

Lnettnay said...

Now how many can be done in plain Euphoria?

234 or 15.65% - leaving a mere 84.35% or 1,261 none

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

5. Re: Rosetta Code mic drop

I sent a email to LWN.net ("Linux Weekly News") about a Phix article.

If we can come up with an article outline for about 1500 words, they might be interested. This would be something like a piece for a technical journal.

My idea is to use your Rosetta achievement as a hook to describe Phix.

I can edit what you come up with, or we can joint author.

This is a chance for all Euphoria/Phix fans to contribute their ideas...

be well

_tom

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

6. Re: Rosetta Code mic drop

_tom said...

I sent a email to LWN.net ("Linux Weekly News") about a Phix article.

If we can come up with an article outline for about 1500 words, they might be interested. This would be something like a piece for a technical journal.

My idea is to use your Rosetta achievement as a hook to describe Phix.

I can edit what you come up with, or we can joint author.

This is a chance for all Euphoria/Phix fans to contribute their ideas...

Yes!!! - I was thinking/hoping along similar lines.

Post#1 is 246 words, so they want six times that.
There is plenty of text at http://phix.x10.mx/docs/html/p2js.htm though not at all suitable as-is - in particular aimed too much at Phix users, anything like "enum type" is just going to be completely meaningless to their target audience.

Actually, do you know of any existing articles I should read, if only to try and gauge what that target audience actually is?
[EDIT] I found a few: Julia concurrency, Python arg defaults, Go and Ruby for loops.

Off the top of my head, some possible topics/paragraphs:

  • Ease (or lack thereof) of installation and use. I'm almost certainly too biased to pen that. The short version is install Phix, run pwa\p2js.exw, "Choose File"(==Ctrl O), pick from (say) demo/rosetta (not beginning "without js"), and press F5.
  • Technical challenges. The biggest one being desktop/Phix's copy-on-write-semantics vs JavaScript's pass-by-sharing-semantics, which has been solved by "with javascript_semantics". I suspect that 0 vs 1-based indexes should either be omitted or a minor throw-away line, likewise JavaScript not having characters (esp tab) simply isn't worth shouting about and certainly not going to get anyone excited. It kills me to say the latter might also be true of the drop-in mpfr.js replacement, and indeed most and maybe all of the low-level hard effort I've put in behind the scenes. Admitting that pGUI.js/css is far from complete and needs any help it can get is a bit of a must, as of course are several (carefully) selected links from https://rosettacode.org/wiki/Category:Phix/online.
  • Development process is worth a quick mention, specifically develop and debug on desktop/Phix first, before trying to run anything in a browser.
  • Case studies - does anything on rosettacode strike anyone as being suitable, or at the very least sufficiently interesting?
  • Wishlist - maybe finish with some optimistric pipe dreams and/or hopes for the future.

The key point is to omit anything which is likely to be meaningless to a wider audience.
The key question at every stage is what is going to catch their eye and keep them engaged?

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

7. Re: Rosetta Code mic drop

_tom said...

I sent a email to LWN.net ("Linux Weekly News") about a Phix article.

If we can come up with an article outline for about 1500 words, they might be interested. This would be something like a piece for a technical journal.

My idea is to use your Rosetta achievement as a hook to describe Phix.

I can edit what you come up with, or we can joint author.

This is a chance for all Euphoria/Phix fans to contribute their ideas...

I guess if Pete wants to do this then that's his right and his prerogative. But given the state of things right now I think this would go very badly for Euphoria.

Now's not the time for promotion. We need to clean up the mess we're in and then we can embark on a promotional campaign when we have something to put on display.

-Greg

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

8. Re: Rosetta Code mic drop

ghaberek said...

I guess if Pete wants to do this then that's his right and his prerogative. But given the state of things right now I think this would go very badly for Euphoria.

Now's not the time for promotion. We need to clean up the mess we're in and then we can embark on a promotional campaign when we have something to put on display.

You are probably right, LWN might well be a little zzz by the headline "Euphoria has 234 entries (15.58%) and joint 93rd place"...
Annoyingly, some oik posted a task in the middle of a Sunday afternoon, and I missed it so Phix is back down to 99.93%... for the next 7 days, at least, unless I do a sneaky edit...

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

9. Re: Rosetta Code mic drop

I created a pcan page.

Just some starting ideas. Sorry about messing up pcan.

be well

_tom

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

10. Re: Rosetta Code mic drop

_tom said...

I created a pcan page.

Just some starting ideas. Sorry about messing up pcan.

be well

_tom

No worries. I've restored the create page and moved your content to http://phix.x10.mx/pmwiki/pmwiki.php?n=Main.Tom-lwn

I've changed the styling to match LWN a bit better, I expect to be called on in that regard again.
I am a bit worried about the "story". It certainly needs a few nice pictures and some online links, and the wow factor.

Here's a little snippet I just now felt compelled to write:
Phix is a deliberately simple language, which poses some challenges when presented with tasks such as closures.
Phix goes against the grain by not supporting many programming facilities usually taken for granted, in this case
on the grounds that such "hidden data" may make debugging much more difficult. Another is that while you can
of course leave some components unaltered for maintainability, the notion that things must not be modified
because re-compilation is so appallingly slow, simply does not apply. Another is "extreme generic code" which
you simply cannot comprehend what it is doing by reading it.

I've also added a case study: multiline shebang to the above page.

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

11. Re: Rosetta Code mic drop

petelomax said...

Many have tried, many have failed, many that is bar one.

Brilliant, Pete! Congrats! You are a god among men.

Would love to hear your thoughts on where you're taking Phix next.

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

12. Re: Rosetta Code mic drop

petelomax said...

At last, one programming language now has submissions for all 100% of them, and it is one you have probably never heard of: Phix

Stunning, Pete!

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

13. Re: Rosetta Code mic drop

Nogo on LWN. Must re-think completely. Need help!

be well

_tom

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

14. Re: Rosetta Code mic drop

_tom said...

Nogo on LWN. Must re-think completely. Need help!

be well

_tom

OK, leave it with me, I'll have another go. Can you paste a copy of their rejection letter to http://phix.x10.mx/pmwiki/pmwiki.php?n=Main.Tom-lwn for me so I know what I'm dealing with, hopefully it might offer some hints as to what points need addressing.

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

15. Re: Rosetta Code mic drop

Take a look

be well

_tom

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

Search



Quick Links

User menu

Not signed in.

Misc Menu