New release when? #1411
Replies: 5 comments 7 replies
|
Hi! Very understandable. Master is quite stable nonetheless. |
|
Awesome, thanks! Please keep this issue open until the next release to stop further questions for those who search it. |
|
Yes, that's a good idea. Let me give you a bit of context and background at what the current status of development is. Since the last release, v0.18.1, a great deal of work has been done. Initially the plan was to do a series of smaller releases -- see https://github.com/mighty-gerbils/gerbil/discussions This all works in current master. After careful consideration, we decided that there is no point in smaller releases (it has already taken us a whole while, and i couldn't type for a while because of RSI. Anyhow, we also realized that we need to finish certain thing and that now is the time to make breaking changes, as we want to v0.19 to be stable and the next release will be v1.0, when we add the fully syntactic layer for the type system, things like constraints, effects, pre and post conditions, and some pretty fancy things that can let you write safe code that is highly performant. Really, for a fully statically typed module, the baseline is C. And thus the #1398 v0.19-staging branch was born, anchored in a v0.19.-dev tag. The plan here is to go through the entire stdlib code base and clean up old craft an debt, some of this code is 15 years old or more. Once we reach v1.0 we will make a promise, similar to go, that code that works with v1.0 will continue working in the indefinite future. Simple as that. So no we are going through the stdlib and restructuring, throwing away cruft and modernizing the code to be fully typed.
We will ensure that those packages work and have first class perrformance at release checkpoints. Also, to avoid misunderstandings, we are fully committed to supporting r7rs; however Gerbil has moved a long road from them, It is now a fully object oriented LISP, with type classes (Interfaces!) and machinery that no other languages have. Some things to track:
And I think we should convert this to a discussion. |
|
An important change that has already happened in #1399 is that procedures with contracts now can be lift the contract checks to the call site. This has some very important effects: the call site has more type context, and so contract checks can be easily be peval'ed out. Also bindings now have properties, and an associated type and macro -- macros already in use for the contract check lift, types will soon be in use so that type information is visible to macros (right now in master a lot of it is only avaiable at the compiler). |
|
@vyzo Thanks for the detailed clarification. Once thing that I didn't quite understand is that will we have static typing (or type hinting) on dev space, or is that all internal? |
Uh oh!
There was an error while loading. Please reload this page.
It's been more than 2 years sonce the last release. Are there any plans for newer releases? I really want to use Gerbil, but not having new releases is a bit concerning for me.
Thanks for the awesome project.
All reactions