Vale: Hasty, stable, and easy programming language
Vale is the instant, stable, and easy programming language.
Vale’s plan is to show the field that trail and safety may maybe well well well additionally merely even be easy! Vale is:
- Hasty: Vale is an AOT compiled, statically-typed language that makes insist of the unusual generational references methodology for memory-stable adjust over files layout.
- Stable: It is the most salvage native language, using dispute isolation and “Dauntless FFI” to back withhold extern code’s bugs from affecting Vale objects.
- Simple: Its unusual use on regions will enable alternate memory management and allocation programs, with the planned dispute borrow checker enabling easy interop between them, and casting off the overwhelming majority of generational references’ overhead.
Read comparisons with C++, Javascript, and Rust!
Upcoming Functions:
Now we comprise some ambitious needs, to elevate several unusual recommendations into the programming world:
- A dispute borrow checker to avoid wasting away with memory-safety overhead.
- Seamless Concurrency for parallelism with out added complexity!
- Excellent Replayability to totally save away with heisenbugs, even within the presence of multithreading!
- Dauntless FFI to withhold exterior code from corrupting Vale memory, and mitigate supply chain attacks.
- Higher RAII, which helps us make certain to name any feature at some point soon within the rupture.
- Hybrid-Generational Memory, which would perchance well well well scale back the overhead of generational references.
Gaze the Roadmap for extra!
That contains:
- Single Ownership, pass semantics, Higher RAII
- Statically Typed with kind inference.
- Memory Stable with generational references
- Generics and const generics
- Well-liked Feature Call Syntax
- Mutable and Immutable Objects
- Patterns with destructuring
- Areas for diverse allocation programs. (planned!)
- Interface Constructors (planned!)
exported func main() {
println(“Howdy world!”);
}
exported func main() {
planets = [#][“Venus”, “Earth”, “Mars”];
foreach planet in planets {
println(“Howdy “ + planet + “!”);
}
}
Howdy Venus!
Howdy Earth!
Howdy Mars!
Vale is segment of the Vale Language Carrying out, which explores, discovers, and publishes unusual programming language mechanisms that enable trail, safety, and ease of insist.
Sponsor us on GitHub!
Present posts:
- Vale 0.2 Released
- Added to Vale 0.2 Beta: Concept Functions
- Const Generics and the Bring collectively Time Unfold Operator
- On Eradicating Let and Let Mut
-
A Epic of Yak Shaving: By likelihood Making a Language, for an Engine, for a Sport
- Gorgeous Inclined-Ref Implementations: Swift, Obj-C, C++, Rust, and Vale
- Vale’s Higher RAII, the sample that saved me a really unparalleled 5 hours within the 7DRL Arena
- Seamless, Dauntless, Structured Concurrency
- Generational References
- Hybrid-Generational Memory
- Zero Tag References with Areas
- Subsequent Steps for Single Ownership and RAII
- Announcing Vale!
Put collectively alongside by the usage of our RSS feed or the r/Vale subreddit!
What’s been occurring no longer too long ago:
- Jun 11, 2022: Excellent replayability now supports structs!
- May perchance maybe 25, 2022: First successful trail of supreme replayability!
- May perchance maybe 10, 2022: Vale 0.2 Released
- Apr 26, 2022: Stack switching for Dauntless FFI successfully prototyped! Usable with –enable_side_calling correct.
- Apr 4, 2022: Sped up compile times by 4.2%.
- Mar 21, 2022: Model 0.2 beta launched!
- Mar 3, 2022: Higher RAII added to the peculiar library, and outdated in 7DRL!
- Feb 11, 2022: Concept capabilities added.
- Feb 11, 2022: 0.1.4 launched, making improvements to syntax.
- Jan 20, 2022: Sped up compiler up by 10-11x, by caching hash calculations.
- Dec 9, 2021: Revamped arrays to enable partly stuffed arrays.
- Nov 26, 2021: Important compiler refactoring, including variadic participants.