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

I'd love something like Gleam, but it compiles to a single binary and isn't Rust. (I know that that binary would invariably be larger than something Rust might produce due to the need to include things like a GC or BEAM process manager.)


Check out Nim[0] - it's strongly typed, with good type inference, clean elegant syntax, memory management is automatic (optional gc, default is ARC + small footprint cycle collector), compiles to small single binaries (Hello World is less than 100 kb), has powerful metaprogramming and lsp support.

Nim compiles to C/C++ and then to native code, so performance is on the same level as Rust/C/C++. You can also compile Nim to js/wasm and run the same code in the web.

[0] - https://nim-lang.org


nim unfortunately took python's significant-indentation idea though


For what it's worth, Nim allows much more lexical flexibility than Python. You can very often use parens ()s and optional extra parens are not usually a problem either - the bracket is just not spelled {}. As another example, both code & documentation comments have "open-close" forms with #[ and ##[. Also, my hello world's are more like 16K on x64-Linux than 100K. There are also user-defined operators, lisp-like syntax macros but with static typing, etc., etc. Nim is Choice, but not everyone likes that.


Roc, Nim and Idris are currently compelling to me.

Roc and Idris mainly because I like pure functional languages along with some typing. But I like Nim a lot too.

I am on the lookout for a language that I can replace some overly complex Bash scripts with for commandline use.


https://github.com/c-blake/cligen makes whipping up CLI utilities very easy in Nim with a pretty fancy CL-user experience (colorized, user-tunable --help, Zsh/bash completions, brief long options, spellcheck/autosuggest on typos, etc.). As examples, there are like 60+ such utilities over at https://github.com/c-blake/bu . Unsure all that adds up to "critical mass" for you, but it seemed worth noting.


That is definitely worth noting!!

I don’t suppose I could compile a binary that runs on both linux and macos (a la Cosmopolitan)?


I do not have any personal experience with it, but I have heard several success stories for Actually Portable Executables & Nim and there is this to try to ease the path for cosmopolitan libc fans: https://github.com/foxoman/cosmonim/blob/master/README.md


One of the best parts. Only it's getting worse with colon-itis.


The mix package manger for Elixir has a release option which compiles and bundles everything to a single binary. It appears possible to use Gleam libraries/code with mix, which should allow one to compile it all down to a single binary as well (though I haven't attempted this myself).


notably though, a release isn’t itself runnable in the same way a go binary artifact is, for example. there are a couple of projects like burrito that create runnable artifacts but in my (limited) experience with them they can be a little finicky.


I don't think that's true, or at least, I'd be surprised that I've never heard of it; it's my understanding that due to the multilayered nature of running Elixir, this is actually difficult to do. I know about Burrito, but that's not the same thing.


How about OCaml? https://ocaml.org/ It's not BEAM-based, though I don't know that any single-file deployment would be either.


I’ve definitely been curious about it! Must have a ton of tooling and libraries at this point.

Roc has some great new ideas while also being inspired by the good stuff out there. But it’s also incredibly new.


There are a fair number of packages, there is a page on the recently-revised web site. I have started digging back into it myself, after tinkering on and off for some years. The new multicore functionality looks very cool, along with a bunch of the supporting work they've put into the compiler to support it all.




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

Search: