Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So many new programming languages coming up with clever features that makes me wish I could mix and match their core features while using libraries from more popular languages.

Up and coming Languages I am excited about -

1. Roc - https://www.youtube.com/watch?v=vzfy4EKwG_Y

2. Zig - https://ziglang.org/

3. Scopes - https://sr.ht/~duangle/scopes/

4. Gleam - https://gleam.run/

5. Odin - https://github.com/odin-lang/Odin

6. Koka - https://github.com/koka-lang/koka

7. Unison - https://github.com/unisonweb/unison



I have seen talks and/or papers on all of these except Scopes and Gleam. Out of the list the only one that does not provide something I am interested in is Unison. Given that your feelings for interesting language features seems to be at least marginally close to mine I am going to check out Scopes and Gleam just to see what they have that interested you.

Personally, from a conceptual level, I find that Koka and Roc provide some of the more interesting developments in PL design. For anyone wondering, as to Roc (which I don’t think has an implementation or even a full description yet) I am particularly interested in their concept and implementation of the ‘platform’/‘application’ layer idea. As to Koka, the papers the team has generated are almost all excellent. The paper describing Perseus, the GC/resource tracking system, and the compiler implementation review are stunning.


Unison is really quite interesting:

* Effect system

* Built in code distro distribution. As in: call a function on a different node that doesn't have that code yet

But most interesting: stops storing code as plain text files, but in a database instead. This breaks many workflows but could offer quite a few interesting properties.


I don’t really have any outstanding objections to the goals of Unison, it is just focused on paths through the PL design space I am not particular deep into. My hobby language is a multi-modal, multi-type system,‘concatenative’ language. So my tastes and interests are pretty far away from where Unison is experimenting. But varying paths travelled hopefully lead us to a more diverse and productive place for everyone.


There is an initial version of Roc, though the repo is private and you need to ask Richard Feldman for access


Don't forget Kind (https://github.com/Kindelia/Kind) which is mentioned in the "How can I Help?" section as a potential language for targeting HVM.


Nim - https://nim-lang.org/

Lets you mix and match other libraries with their native ABI as it compiles to C, C++, ObjC and JS + has excellent FFI.


What about support for using Golang or C# packages? That'd be handy.

Interesting read about NIM-

https://www.quora.com/Why-hasnt-Nim-Nimrod-become-as-popular...

Key points:

- Nim lacks official support to multiple inheritance or interfaces (as that in Java) or mixin (as that in Ruby). It feels uneasy when implementing common design patterns, which is important for middle to large-sized projects.

- The error messages emitted from Nim compiler looks a bit obscure. Sometimes you have to guess or google to comprehend what really happens in your code.

These seem like pretty good problems compared to common annoyances and caveats in many other languages.


TBF the reply in that link was written 4 years ago, before the language went 1.0

> Nim lacks official support to multiple inheritance or interfaces

Multiple inheritance is a bit of a trainwreck IMO (see diamond problem).

The language isn't designed around OOP, and is instead procedural with metaprogramming for extension. You get more bang for your buck this way, but for people with their head in inheritance it’s probably a shock.


Not general purpose but has very interesting ideas nonetheless - https://imba.io/


there is also maybe Dada https://dada-lang.org/welcome.html




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: