Cure v0.14.0 - Full rewrite, stable release

Cure v0.14.0 is a full rewrite from scratch.

It still must have some glitches and it’s far from being considered v1.0.0 but it’s definitely a huge step forward. It comes with standard lib and a bunch of examples.

Check the new https://cure-lang.org site, shaped as an introduction tour with language features, type system description and whatnot.

The BEAM files are still generated via erlang forms (with :compile.forms/2.)

There is also an elixir project example using Cure code in examples/cure_example. Erlang example project will be there soon.

3 Likes

I note that Facebook’s “Infer” program is a pretty serious open source static analyser for
C, C++, Objective C, Java, python, Hack,

and

Erlang. They also provide an intermediate language with the intention of making it
easier to write additional front-ends. I wonder whether Infer has anything to offer Cure?

1 Like

Very cool project. I myself dabbled in “dependent types for Erlang-like languages” with SLOT, but my primary goal is to create a statically-typed TLA+ alternative with modular effect system, rather than something that compiles to Erlang and runs on BEAM. There’s not much too see there right now, unless you’re into model checkers, because formal proofs take a lot of time, but maybe we can share some ideas.

1 Like

FWIW, Cure is not compiled to Erlang, it compiles directly to BEAM.

formal proofs take a lot of time, but maybe we can share some ideas

:heart: I’ll surely come back when I will be into formal proofs (I plan to borrow ideas from Idris mostly.)

Thanks for pointing me out to it. I doubt Cure might benefit from this project, though, mainly because Cure is already strongly typed which means the alien static analyzer would not see 99% of the issues they are tuned to fight against.

Secondly, I have a very sophisticated static analysis myself, Ragex v0.11.0 — Documentation . It works with MetaAST which is a native AST for Cure. It’s not plugged in yet, but I happily and successfully used it in my Elixir, Erlang and even Ruby projects.

Thanks for heads up anyway!

Seems the cure repo is set as private, so 1st step of “Installation” documentation fails.

Trying to access https://github.com/Oeditus/cure gives a 404 error

Jeez. Sorry for that. It’s https://github.com/am-kantox/cure-lang

Will fix docs right away. Fixed.

1 Like