4 ms·
The link compares it to Lua. Further reading reveals several improvements over Lua (IMO): - "var", "let", and "extern" means no more accidental globals - Arra
by sdegutis 11y ago
The link compares it to Lua. Further reading reveals several improvements over Lua (IMO):
- "var", "let", and "extern" means no more accidental globals
- Arrays are separate things than Hash-maps
- Simple C API [1] that's not stack-based
- More built-in operators (even the conditional operator ?!)
- More "traditional" object/class concepts
- Strict typing!
- Fuller standard library
Neat!
My next project may very well be a Sparkling-scripted window manager for OS X.
[1]: https://github.com/H2CO3/Sparkling/blob/master/doc/capi.md https://github.com/H2CO3/Sparkling/blob/master/doc/capi.md
- listic 11y agoSo OS X can have window managers? Are there any already?
- sdegutis 11y agoKind of. You can do it with Apple's Accessibility APIs, but lately they're making that harder and harder. Apps that use those APIs can't be put on the app store, and there's no automated way to give an app permissions to use Accessibility: the user has to go deep into the System Preferences panel to enable it. And even then, the APIs, which aren't quite meant for window-managing, are very limited and sometimes don't work like you'd want them to. I forget how specifically, but I've written about a dozen of them so far and it's not a super pleasant experience. It's a little nicer in Swift, because you get to wrap the ugly C APIs in Swift using generics.
- sdegutis 11y agoAlso, iTunes tends to crash your program if you try moving/resizing it via Apple's Accessibility API if you're playing a video in it.
- cmiller1 11y agoTechnically you can run any of the window managers you use for Linux or BSD on top of X11, but you can only run *nix software, not Mac specific software, in those windows.
- CyberDildonics 11y ago> Arrays are separate things than Hash-maps I think this was a very elegant solution for Lua and ads to it's simplicity