v0.17.0 #127
Dishpit
announced in
Announcements
v0.17.0
#127
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
What's Changed
One of my goals for Omega is to make it a relatively memory-safe language.
In order to get there, we must first make it dangerous. That's what this release does.
Omega has had all stack limitations removed. The VM was initially limited by a virtual stack, and a very tiny one at that. This was great for testing purposes during the initial phases of development, but it's time to unleash the beast. There is no longer a virtual stack limitation.
In addition to this, the garbage collection has been ripped out. This shifts Omega from being memory-stable, to not that.
With these limitations removed, Omega potentially now has access to all of your machine's resources. Starting with an initial stack size of 64, it doubles in size every time it's reached, meaning if you were to write some incredibly unsafe Omega code you very well could eat up your machine's resources and crash your computer.
So just, like, don't do that.
Anyway, this paves the way toward memory safety. I'd eventually like to implement a borrow-checking system similar to Rust's, in order to prevent memory issues (and justify the lack of a garbage collector). Of course, this doesn't solve the stack problem, but I mean, to be fair, that's not really a problem.
As a developer, it's your right to be able to shoot yourself in the foot. Hell, it's your right to blow your whole damn leg off if you wanted to. By removing the training wheels, you can now do that.
Go ham, you beautiful bastards.
Full Changelog: v0.16.0...v0.17.0
This discussion was created from the release v0.17.0.
Beta Was this translation helpful? Give feedback.
All reactions