Live data from Hacker News

The Elena Programming Language

elena-lang.github.io

21–30 of 65 posts

Re: The Elena Programming Language

#21
post #20

Earlier quoted context omitted.

Although, could this message thing not be modelled with lambdas taking remaining "holes" as arguments, "formatting" the message, which are given as arguments to functions? The gain seems smaller than the gain from first class procedures, but it is an interesting idea, which might avoid some lambda wrapping in the code.

I don't think I have to explain this to you (hello fellow guiler!), but in a language with first class procedures and proper macros there doesn't have to be any lambda typing overhead. I implemented "megacut" in guile, which is a clojuresque lambda shorthand: #%(+ %1 5 (* %2 4)) => (lambda (%1 %2) (+ %1 5 (* %2 4))) in about 30 lines of code (unhygienically, though, but that should be a small fix in a psyntax-based s…

Hehe, you are correct, indeed I did not think of macros in the moment.

We do have some megacut wrapping overhead then though ;)

Can you post a link to the macro on the Guile user list? Perhaps someone can rewrite it to a hygienic macro. Some people there very proficient in macrology. I am not that proficient in macrology.

I am also trying to maintain a list of libraries and things for Guile, which I could add this too.

Re: The Elena Programming Language

#22
post #14

Earlier quoted context omitted.

I heard a good podcast about pony recently: https://corecursive.com/055-unproven-with-sean-allen-1/ - it’s about how Wallaroo Labs came to use it. They talk about using it to deal with some really interesting engineering challenges. One of the things that I found interesting is their comparison to Rust was that at least at the time Rust didn’t have a comparable runtime to Pony’s high performance actor based one.

It's a shame Pony does not get enough attention as it's a very nice language that as you say, introduces truly innovative ideas. I wrote some code in it and it was extremely fast, in the same order of magnitude as Rust/C. But it was quite complex to write, unfortunately, compared to the Rust version (which also guarantees no deadlocks and safe concurrency). On the other hand, the code looked quite a lot prettier due…

I'd like to find an excuse to use it for something just to try it out at some point! Being able to run it distributed like Erlang would be really cool, interesting idea :)

Re: The Elena Programming Language

#23
post #16

From a PL design perspective, I'm interested in finding out what new ideas it introduces to an already crowded field? Rust is good example of a PL design that introduces new concepts (around ownership.) Pony is another good example of PL design, for the same reason as Rust, but it differs in important ways by introducing Reference Capabilities. I tried to get some attention to it the other day: https://news.ycombinat…

Just so you know, it appears you've been shadow banned. No idea why. I would suggest joining lobste.rs, an HN clone built out of frustration of HN's lack of transparency on banning.

Lobster needs invite for registration, does it not? That has prevented me from signing up there in the past. I do not want to beg for an invite.

Re: The Elena Programming Language

#26
post #16

Earlier quoted context omitted.

Just so you know, it appears you've been shadow banned. No idea why. I would suggest joining lobste.rs, an HN clone built out of frustration of HN's lack of transparency on banning.

Lobster needs invite for registration, does it not? That has prevented me from signing up there in the past. I do not want to beg for an invite.

Same. These exclusive clubs are just a big turn off.

Re: The Elena Programming Language

#27
post #3

Front page doesn't say whether it has obligate GC, which nowadays I guess means yes.

This did make me curious. I couldn't find any explicit discussion of memory management, not even in the constructor section of the programming manual [0]. There isn't a section on destructors. I also searched for and didn't find 'garbage' and 'deallocation' and other similar terms.

[0] https://github.com/ELENA-LANG/elena-lang/wiki/ELENA-Programm...

Re: The Elena Programming Language

#28
post #20

Earlier quoted context omitted.

I don't think I have to explain this to you (hello fellow guiler!), but in a language with first class procedures and proper macros there doesn't have to be any lambda typing overhead. I implemented "megacut" in guile, which is a clojuresque lambda shorthand: #%(+ %1 5 (* %2 4)) => (lambda (%1 %2) (+ %1 5 (* %2 4))) in about 30 lines of code (unhygienically, though, but that should be a small fix in a psyntax-based s…

Hehe, you are correct, indeed I did not think of macros in the moment. We do have some megacut wrapping overhead then though ;) Can you post a link to the macro on the Guile user list? Perhaps someone can rewrite it to a hygienic macro. Some people there very proficient in macrology. I am not that proficient in macrology. I am also trying to maintain a list of libraries and things for Guile, which I could add this to…

I have written enough macros to be able to do it (among others, the guile-for-loops macros). There are some issues with a macro like this. I can make it quasi-hygienic by hygienically checking for megacut (right now I am just comparing symbols, as returned by datum->syntax).

Doing it in another way than "Any binding looking like %n and %& will be captured and shadowed" is pretty much unsolved using any standard scheme. I could probably hack something together using syntax-locally-bound-identifiers, but then I would have to implement local macro expansion (which is possible. I'm just lazy!).

The link is https://hg.sr.ht/~bjoli/megacut/

Btw, the link for guile-for-loops should be updated in your list: https://hg.sr.ht/~bjoli/guile-for-loops

Re: The Elena Programming Language

#30
post #28

Earlier quoted context omitted.

Hehe, you are correct, indeed I did not think of macros in the moment. We do have some megacut wrapping overhead then though ;) Can you post a link to the macro on the Guile user list? Perhaps someone can rewrite it to a hygienic macro. Some people there very proficient in macrology. I am not that proficient in macrology. I am also trying to maintain a list of libraries and things for Guile, which I could add this to…

I have written enough macros to be able to do it (among others, the guile-for-loops macros). There are some issues with a macro like this. I can make it quasi-hygienic by hygienically checking for megacut (right now I am just comparing symbols, as returned by datum->syntax). Doing it in another way than "Any binding looking like %n and %& will be captured and shadowed" is pretty much unsolved using any standard schem…

Thanks! I'll get to it later : )
Post reply on HN