🚀 Sona v0.7.0 is Here – Full OOP, Chaining, and Property Access 🔥
Hey devs! 👋
Back again with a big leap forward for Sona. If you've been following the journey from v0.4.3, you've seen this little language go from an experimental idea to something that's now supporting real-world development patterns.
With v0.7.0, I'm unlocking a core superpower for any modern language: object-oriented programming, dotted property access, and method chaining.
TL;DR — Why v0.7.0 Matters
- Full support for
obj.prop,obj.method(), andobj.prop = value
- JavaScript-like object literals (finally!)
- Clean chaining:
user.login().fetch().logout()
- Data modeling made 10x easier
- Smoother REPL experience
- Massive prep for GUI & game engine features
🔥 What's New in Sona v0.7.0
✅ Dotted Notation Is Now Core
user.name
user.profile.age
user.logout()
This update allows nested object traversal, method calls from object references, and assignment like player.hp = 0. This is HUGE for games, logic engines, or even just writing clean CLI tools.
✅ Dictionary Literals (Object Syntax)
Inspired by Python/JS, now you can write:
let person = {
"name": "Ada",
"age": 31,
"role": "Engineer"
}
print(person.name)
print(person["age"])
No more clunky workaround data structures — just clean, readable, accessible values.
✅ Chaining Methods — Yes, It Works
Now you can finally write:
enemy.spawn().move(5, 2).attack("fireball")
No special setup — if a method returns an object (or this), the next call continues from it.
✅ Enhanced Property Assignment
player.health = 100
player.status = "buffed"
Works naturally inside nested dictionaries, too.
🧪 Real Dev Examples
Here's how v0.7.0 unlocks real dev workflows:
🕹 For Games:
let hero = {
"name": "Zephyr",
"hp": 100,
"level": 4
}
hero.hp = hero.hp - 25
print(hero.hp)
📦 For Apps or Modules:
config.debug = true
logger.setLevel("warn").outputTo("console")
🔁 For Utilities:
file.open("data.txt").read().close()
🔮 What's Coming Next in v0.8.0
We're building the backbone of Sona's class system:
classsyntax- Inheritance
- Custom type creation
- Static vs instance context
- Object constructors
And yep — GUI + app-builder tools using .sona will also roll out in parallel. Sona is becoming a language that not only learners can love, but one that builders, tinkerers, and indie devs can use to ship stuff.
👨💻 Why I'm Building Sona
I didn't build Sona because I thought the world needed another language. I built it because:
- I needed a clean, fun, and learnable language to build apps & tools without boilerplate
- I wanted to show what happens when you make a language with AI in mind from day one
- And yeah… I was tired of using 3+ languages for one simple project
Sona is here to prove that great ideas can start small and still be powerful.
📌 Try It. Fork It. Build With It.
📂 GitHub Repo: [https://github.com/Bryantad/Sona]
🧪 REPL + Demo Apps: Coming soon in v0.7.1
🧠 Want to build tools on Sona? Let's talk.
🫶 Final Words
This isn't the final form — not even close. But it's a milestone that shows the language is maturing fast, new devs can pick it up with zero fear, and there's real potential here.
Thanks to everyone who's followed the project. If you're reading this and thinking, "I wonder if I could build my own thing too…" — You can. Just start. Then keep going.
— @bryantad ✌️
SOCIAL SHARE CARD GENERATOR