Releases: sinisterMage/WPlusPlus
W++ Ingot CLI v2.0.0-release.1.6
Major Bug fix: fixed WMS not loading W++ libs properly and failing
sorry for the inconvenience
W++ Ingot CLI v2.0.0-release.1.5
🦥 W++ v2 Release 1.5 — “Dispatch Mayhem Edition”
Hello to all three of you who actually read release notes 👋
Today’s drop is a big one — multiple dispatch just leveled up.
Let’s dive in before the sloth falls asleep again.
🧠 Major New Features
⚡ Multiple Dispatch Overhaul
You can now dispatch on:
- 🧩 Objects and Entities
- 🌐 HTTP status codes (e.g. 200, 404)
- 📊 HTTP code ranges (e.g. 2xx, 4xx)
- 🧮 Functions themselves — yes, higher-order dispatch is real now.
In other words:
if/else and switch are officially obsolete. W++ wins again.
🧰 Minor Improvements
print()can now handle functions inside expressions without imploding.- String operations are finally supported (you can stop pretending JSON is a text editor).
- General runtime stability fixes, GC polish, and some codegen magic under the hood.
🧩 Coming Soon on the Ingot Registry
Keep an eye out for first-party libraries hitting ingot install soon:
wpp.IOwpp.JSONwpp.CORS- and more chaos-powered utilities.
That’s it for this round.
Now go forth and dispatch responsibly — or irresponsibly, we’re not your runtime.
W++ Ingot CLI v2.0.0-release.1.1
🦥 W++ v2.0.0-release1.1 — “Now With Newlines (and Toasters)”
Hello to all three of you who still follow W++ releases!! 🎉
Today’s update is pretty minor, so don’t get too excited — unless you really love line breaks.
🧩 What’s New
-
Rust Interop 🦀
W++ can now interop with Rust libraries!
You can finally create W++ libs that actually compile and link properly — truly a milestone in controlled chaos. -
Line Breaks + Escapes in Strings
Print statements now support\n,\t, and friends.
You can finally print multiline sloth poetry without breaking the compiler. -
Docker Support! 🐋
W++ now runs everywhere, including:- your PC,
- your toaster,
- and even Windows (sort of…).
Thanks to the new official Docker image, any machine with Docker Desktop and WSL2 can now run W++ with:
docker run --rm -v $(pwd):/app sinistermage/wplusplus my_script.wpp
W++ Ingot CLI v2.0.0-release.1.0
🦥 W++ v2.0.0 — “The LLVM Awakens”
hey guys!!
welcome to the first stable W++ v2 release, after a lot of hard work porting the old C# interpreter to Rust + LLVM, it’s finally out of beta :D
so here are the ✨ new features ✨ of this release:
-
🌍 UTF-8 variable names — yes,
שלום,こんにちは, andπ = 3.14are now legal identifiers. -
🧠 Lambda support — functional chaos has officially arrived.
-
🧱 The long-awaited (by exactly 3 people) OOPSIE Framework — object-oriented programming, but dumber.
-
📦 Ingot Package Registry — now live at ingotwpp.dev (go break it responsibly).
-
⚙️ Multiple Dispatch — just like Julia, but more slothful.
-
🚀 New Ingot CLI commands:
ingot installingot fetchingot loginingot publish
all working with the shiny new registry 🎉
i hope you guys will enjoy W++ in its fullest
(yes, all 3 of you)
and be prepared — because we are not stopping here.
🦥💻 — Ofek “sinisterMage” Bickel
W++ Ingot CLI v2.0.0-beta.3.0
🧠 W++ v2 Beta 3 — The Multithreading + GC Update
Hello to all 3 of you who decided to check out this release!!!
Today we’ve got something actually exciting:
🧵 Multithreading… with Garbage Collection.
Yeah, remember all those “multithreading can ruin your program,”
“multithreading is dangerous,” “never touch threads again”?
Yeah—not anymore.
With W++’s one-of-a-kind Thread GC Tech™ (and some extra corporate buzzwords I already forgot),
you can now spawn threads without worrying about deadlocks, mutexes, or joins.
They just… clean themselves up.
(yes, it’s open source, calm down)
💥 What’s new
- Fully managed threading (no joins, no leaks, no mental breakdowns)
- GC-powered mutexes — they literally get garbage-collected
- Crash-safe threads — even if they explode, the GC cleans up the rubble
- LLVM backend — because we like pain but also performance
🚀 What’s next
The next update will be the first true W++ v2 release!!!
That means we’re finally going out of beta (wow).
Expect:
- A ton of syntax & stability improvements
- The release of the Ingot Package Registry™
- And yes… an actual GUI installer for W++
(yes, even for FreeBSD — no, we probably still won’t get accepted into the ports collection)
🦥 Closing thoughts
Multithreading is no longer scary.
W++ took it, hugged it, wrapped it in a GC blanket,
and made it safe enough to actually use.
So go spawn some threads.
Crash them.
Let the GC handle the trauma.
Stay chaotic, stay sloth-powered 🦥
— The W++ Dev Team (aka probably just me)
W++ Ingot CLI v2.0.0-beta.2.5
🦥 W++ v2 Beta 2.5 — Functional Chaos
Hey everyone — yes, all three of you brave souls still running W++!
We’ve cooked up a new beta so unhinged it qualifies as performance art.
This is W++ v2 Beta 2.5, codename Functional Chaos.
💻 HTTP & API Endpoint Support
W++ can now power your microservices.
You can literally write backend endpoints in the same cursed language you use for frontend chaos.
Deploy it. Don’t deploy it.
Either way, your server now screams in sloth.
⚙️ ingot init Command
You can now bootstrap a project with:
ingot init my_disappointmentIt generates:
src/main.wppwpp.config.hsingot.lock- and a fresh sense of existential dread
Why would you do this?
We honestly have no clue. But now you can.
🧠 wpp.config.hs — Functional Configuration for Mortals
JSON = boring.
TOML = mid.
YAML = for people who enjoy indentation trauma.
So we said screw it and went Haskell-style.
main :: IO ()
main = do
entrypoint "src/main.wpp"
package "demo"
version "1.0.0"
license "MIT"
author "Ofek Bickel"
println "✨ Config loaded successfully. Chaos imminent."No, it’s not real Haskell.
Yes, you can try to run it with GHC.
No, we will not pay for your therapy.
🧪 Miscellaneous Bug uhhh Features
- UTF-8 printing now works (emojis = legal syntax 🎉)
- JIT no longer crashes… most of the time
- Stack balancing: probably fixed
- Type inference: probably not
- Added more chaos per line of code
🧬 Next on the Agenda
Multithreading with React Hooks™
because why should frontend devs have all the hallucinations?
W++ beta 3.0 will bring asynchronous pain and maybe sockets.
(Or maybe it’ll just print memes, who knows 🤷)
💀 Download Now
👉 https://github.com/sinisterMage/WPlusPlus
and remember:
if it compiles, it’s not W++.
W++ Ingot CLI v2.0.0-beta.2.0
🦥 W++ Beta 2.0 — "Now with 69% Fewer Explosions!"
Hey everyone!
If you’ve somehow survived the compiler crashes, runtime exceptions, and existential dread all the way to Beta 2.0, congratulations — you’ve earned the honorary title of Certified W++ Bug Whisperer™.
This release introduces a delicate mix of new features and new ways to break your computer:
⚡ 1. Async/Await, Reloaded
Now powered by our new runtime scheduler, delivering asynchronous chaos with 69% fewer segfaults!
We’d say it’s thread-safe, but that would be a lie.
🧱 2. const Support
Because even variables deserve a break sometimes.
Finally, you can tell your data, “you’re perfect just the way you are.”
🧮 3. Arrays & Object Literals
We looked at every “real” language and said: fine, we’ll add them too.
Now you can store numbers, text, or even your regrets — all in a single heap-allocated mess.
💪 4. Strong Typing (W++ Edition™)
Forget boring int and float.
Say hello to i32, f64, and their emotionally unstable cousins.
Our type system is so strong it can bench-press JavaScript.
🧩 Coming Soon — Beta 2.5
- Native HTTP & API Endpoint support (because why stop at syntax errors when you can crash the network too?)
- Even less segfaults (hopefully)
- And maybe… garbage collection that doesn’t collect the compiler itself 🤞
✨ W++ — now officially 70% language, 30% cry for help.
Stay tuned, stay chaotic, and remember:
if it compiles, it’s a feature. 🦥💥
W++ Ingot CLI v2.0.0-beta.1.5
🦥 W++ v2 — Beta 1.5 ("The Lazy Await")
Hey there, brave chaos-enjoyer 👋
You actually made it to Beta 1.5. Impressive — that means you’ve survived every stack underflow, GC panic, and parser tantrum so far.
So what’s new this time? Let’s dive into the madness:
🌐 New Features & Shenanigans
async / awaitSupport (yes, really!)
W++ now comes with a real runtime scheduler.
Your coroutines can finally sleep peacefully… until they wake up and segfault.
🕒 That’s literally it
Budget cuts hit hard — our lead sloth developer (me) is going on vacation.
But fear not: the moment I’m back, chaos will resume at full speed.
Expect new bugs disguised as features and features that feel like bugs.
⚠️ Known “Features”
asyncsometimes deadlocks for no reason.awaitoccasionally doesn’t.- The runtime scheduler might start a union strike.
Basically, everything is functioning — in the same way a cat functions when you tell it not to knock over a glass.
🪟 Windows Notice
Windows binaries are currently unavailable — LLVM and Windows are still not on speaking terms.
Negotiations are ongoing, but for now, peace talks have broken down at the linker table.
💌 Final Words
Enjoy the update, embrace the absurdity, and remember:
W++ doesn’t crash — it dramatically rage-quits.
🦥 Stay chaotic,
— Ofek Bickel
W++ Ingot CLI v2.0.0-beta.1
🦥 W++ v2.0.0-beta.1 – The LLVM Awakens
So guys…
after weeks (or maybe days, who counts) of compiler pain, endless LLVM builds, and emotional damage,
the first beta release of W++ v2 (aka W++ LLVM) is finally here! 🎉🔥
We’ve officially moved from .NET chaos into LLVM + Rust chaos,
and somehow, it actually works. 🧠💥
🧩 What’s inside?
This beta includes most of the core features of W++ you already know and love (or fear):
letdeclarations 🧮print(now powered by pure LLVM magic ✨)if / elsewhile,for,break,continue- Function definitions (W++ style 🔄)
- Proper exception globals (for that “oopsie” flavor)
And it all compiles down to LLVM IR — no runtime, no .NET, just raw sloth-forged machine code. ⚙️
💾 Download & Run
-
Download the archive for your OS
(yes, it’s super lightweight — that’s what happens when you remove 400 MB of .NET runtime bloat) -
Extract it wherever your heart desires
-
Add it to your PATH
-
Run it!
ingot run your_file.wpp
Or don’t. I’m not your dad.
🪟 A Message for Windows Users
Unfortunately, due to sloth budget cuts (and LLVM refusing to play nice with Windows),
we can’t provide Windows binaries yet.
You’ve got three options:
- Use WSL (recommended) – check out this totally not a random youtube guide WSL setup guide 🐧
- Run a Linux VM – it builds fine there!
- Pray to the compiler gods
Windows support will return when the stars align (a.k.a. LLVM cooperates).
🧠 Platforms Available
✅ Linux (x86_64)
✅ macOS (Intel & Apple Silicon)
✅ FreeBSD (yes, we went that far)
❌ Windows (not yet, stop asking)
🧃 Extra Nerdy Notes
- The compiler is written in Rust 🦀
- The CLI (
ingot) calls into the compiler as a lib 📦 - The JIT is powered by
inkwell+llvm-sys - There’s still zero memory safety in your W++ code, and that’s a feature
❤️ Special Thanks
Huge shout-out to:
- The LLVM team for making my life incredibly hard (kidding, y’all rock ❤️)
- The Rust community for making compiler errors at least readable
- And of course, our mascot Wloth the Sloth, who watched the entire compilation at 0.2× speed 🦥
Go forth, compile chaos, and break things responsibly.
— Ofek “sinisterMage” Bickel
🦥 W++ Language Founder