Donna released v0.3.0 today. What this version brings to Donna?
Donna designed to be a small functional language that compiles to native binaries and focus on DX(Developer Experience).It's also statically typed and bootstrapped. In the past versions we focused to make the experience of using Donna better. We focused on a list of things that needed to refined. Let's take a brief look on those:
- Error messages.
Using donna revealed plenty of errors that happened because of linker failure that didn't help with further information. We tried to catch as many of those and create Donna errors that will contain more details.
- Type errors.
We improved type errors so users will have the info needed to debug their programs.
- Todo & Panic.
We implement todo and panic in the language. Todo used as a placeholder in a function that is not implemented yet. It raises a warning though, so users will have to return.
Panic crashes the program by throwing an error.
We implement Opaque types correct behaviour. So far opaque types had the same functionality asa pub types and their constructors was accessible from other modules. Now they work as they supposed to.
We implement error for duplicate function names
echonow is for debug and will raise a warning. You should use newiomodule from stdlib:
io.println("hello")
- We improved error structure and style. We also added a summary of total errors and warnings.
We also fixed a lot of smaller bugs. Donna will keep evolving by focusing in users happiness. In the next versions we will focus on:
- Improve errors
- Fix bugs
- Improve formatter
- Start LSP implementation
If you still didn't try donna and you want, you can visit the github repository.
If you want to learn more about donna visit the website and take the tour.
There is also a list of donna projects in awesome-donna repo here (Even it is still one man show)
Top comments (0)