Live data from Hacker News

The Elena Programming Language

elena-lang.github.io

11–20 of 65 posts

Re: The Elena Programming Language

#11
OK, we see a dynamic, late-binding, object-oriented, interpreted language with a VM.

If I were to try and make this language interesting to the HN audience, I'd start with two items:

* What is interesting in Elena, compared to Python?

* What is interesting in Elena, compared to ES6?

* For bonus points: What is interesting in Elena, compared to Smalltalk?

Without answering this questions, I don't see why I should take a look. And there must be some differences, e.g. around the concept of first-class messages, which apparently are related to Smalltalk.

Re: The Elena Programming Language

#12

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…

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.

"Sean: There was one issue and that was when somebody went to upgrade something and didn’t follow the upgrade instructions. But for the stuff that we built, that was processed at the peak, about 80 million calculations second handling hundreds of thousands of incoming requests a second with packed full of data, which would blow up into like 80 million calculations a second run in for a year. Not one teeny tiny little issue that to me that’s beautiful. That’s beauty to me. Right?"

Sounds poetic enough to me to get into!

Re: The Elena Programming Language

#13

Can anyone describe a use-case for "first class messages"?

I think it's similar to partial function application. First class message is a partially applied function with some parameters bound and some "parameter holes" left unbounded. When the message is sent to a target, the rest of the parameters are filled in to build the full message to be sent.

In that case, complicate messages with lots of parameters can be pre-built with parameters partially filled in. The pre-built messages can then be repeatedly used subsequently.

I think that's how it works. OTOH, I could have completely misunderstood the first class message idea. Someone more familiar with the language can probably explain better.

Re: The Elena Programming Language

#14

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…

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 to its Python-like syntax.

Anyway, it's one of those tools I keep in the shed, hoping to one day find a good use for it... just hope it continues evolving (specially running Actors on multiple machines would be a real killer feature - making Pony like a typed Erlang with beautiful syntax).

Re: The Elena Programming Language

#15

Can anyone describe a use-case for "first class messages"?

Like (partial) functions as values, you can pass along the message/method, e.g. as a parameter to another function. In other languages, you'd have to create a function for each message/method, and more than one if it's overloaded (although I don't know how Elena handles that).

Re: The Elena Programming Language

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

Re: The Elena Programming Language

#17
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.

It appears that the procedure to sign up is to go to IRC and ask for an invite.

Re: The Elena Programming Language

#18
post #13

Can anyone describe a use-case for "first class messages"?

I think it's similar to partial function application. First class message is a partially applied function with some parameters bound and some "parameter holes" left unbounded. When the message is sent to a target, the rest of the parameters are filled in to build the full message to be sent. In that case, complicate messages with lots of parameters can be pre-built with parameters partially filled in. The pre-built m…

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.

Re: The Elena Programming Language

#19
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.

It appears that the procedure to sign up is to go to IRC and ask for an invite.

The point is also to vouch for someone when an invite is sent. At least in my mind, as in it's officially done, if the invitee misbehaves, it's kind of the responsibility of the inviter. Every profile has who invited who.

Re: The Elena Programming Language

#20
post #13

Earlier quoted context omitted.

I think it's similar to partial function application. First class message is a partially applied function with some parameters bound and some "parameter holes" left unbounded. When the message is sent to a target, the rest of the parameters are filled in to build the full message to be sent. In that case, complicate messages with lots of parameters can be pre-built with parameters partially filled in. The pre-built m…

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

Post reply on HN