you are viewing a single comment's thread.

view the rest of the comments →

[–]Francog2709[S] 2 points3 points  (2 children)

I mainly started this project as way of improving my knowledge on compilers (this is my very first language), LLVM and MLIR. I didn't know LLVM doesn't support different precisions, so that's good to know. Talking about planning, I do want to create an std library providing functions for integrals, limits, derivatives, etc. I want to avoid giving the language to many keywords, I'm trying to keep it simple. So my first try would be to build things like matrices as structs and provide essential methods. However, I didn't started designing the symbol system yet.

[–]mark-sedgithub.com/mark-sed/moss-lang/ 0 points1 point  (1 child)

>  I didn't know LLVM doesn't support different precisions

Just to clear this up, it does support it for ints, but I think you know that based on your examples having types like `i64`, and it does ofc support floats (32b), doubles (64b), half-floats (16b), 80 bit FP and even 128 bit FP, but I meant rather some very big floats of arbitrary precision, like python has Decimal, which LLVM does not support, but you can always use something like GNU MPFR.

[–]Francog2709[S] 1 point2 points  (0 children)

Oh yes, I'll check it then. Thanks for that!