RE: https://bsky.app/profile/did:plc:gcwkuuf3dygnewyce2onfvb5/post/3mdl5b3a7fc2f
@murtezayesil
They are all not really good for configuration. Ambiguous types, no custom types, poor validation capabilities.
Maybe something like Cue (https://cuelang.org/) is better to have configuration files which can be validated in details and do not contain ambiguous configuration.
tldr: everything in pieces on the shop floor, but....
I'm trying towards an implementation of Babashka Pods in Haxe.
Given Haxe is a polyglot language, it makes sense to go for a polyglot interop solution.
There's things like built in async handling, client side code and platform awareness, very much the inverted pyramid that's good for adoption by keeping complexity at the base low.
A Haxe Pod implementation would transpile to around 10 different languages, and could be a base for a repl implementation, certainly of HScript, and or KissLang or some of the other languages and dialects cropping up.
Looking at what I did with Stig this week it probably bears some explanation.
I wanted a structured data format that doesn't rely on reflection, doesn't require the heavyness of the internal runtime representation of tagged unions (enums/gadts) but can be pattern matched on.
The external StigForm is neither here nor there, the internal StigNode is the important bit. There's probably a few minor adjustments so it can sit well in most languages.
I might well use it to build a Bencode output, as it fits perfectly.
The inclusion of Stx, or the dead-code eliminated version of it is for parsing is unavoidable, but the generated loc is only around 5k at present.
It's based on Stephan Le Dorze's mix of Haskell Parsex plus Alex Worth's Phd work on linear time left recursive packrat parsing, and I've been tinkering with it for years.
Work on Go2Hx by PXShadow means there's the opening to cross compile CueLang, meaning that there's an opening for language native type generations from Cue, which is pretty exciting, and Haxe has an extremely compact and well designed internal type representation, and the new completion algorithm is very snappy.
Still work to do though, I'm in the middle of a rebuild atm.
#Haxe #Programming #Babashka #Edn #Pods #CueLang #GoLang #OMeta #Parsex #Interop #DevOps #OMeta
@jonathanmatthews 100%.
I been trying to convince people to use #cuelang anytime they are yaml programming. But practice has been people still "like" yaml cause that's what they know. 🫠 Fully misunderstanding what a data value validity brings instead to your sanity. 😅
Turning things into quick Cuelang types looks, for me, like running a data structure through jet to .edn, then using malli to provide a schema for the data, output that as a json schema and pull it back into cue.
I should point out that malli will automatically derive a schema for any data you feed it.
@CleoMenezesJr Most of my #GTK app wishlist is either #GTK4 modernization or new features for existing apps...mainly #SelfHosted server sync. Would be nice to login to #Nextcloud via GOA & have a solid client for each NC app.
Outside of that:
- Database viewer / query runner
- REST API tester
- #ActivityPub tester
- Clients for various fediverse servers
- #JSONSchema / #Cuelang / #Nickel contract validator
- GIF search
- GitHub / #Forgejo Actions manager & runner
- #systemd unit manager