I'll be at #FOSDEM next week! Haven't been since 2014, which feels like a lifetime ago. If we have met or collaborated in the past, or you'd like to say hi, my DMs are open :) #golang #cuelang
I am down the rabbit hole of melding #golang and #cuelang with a dash of #peg and a twist of #TextMate tmLanguage.json (but using RE2 not Oniguruma for reasons)

I have a problem. Need to validate config file
Using #cuelang
Now I have 2 errors in empty disjunction problems

#shitpost

@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.

#cuelang

CUE

Configure Unify Execute Validate, define, and use dynamic and text‑based data Learn more Get started with CUE CUE makes it easy to validate data, write schemas, and ensure configurations align with policies. Get started learning about CUE with these links ..

CUE

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. 😅

I think I am slowly getting the point of Cue. For example, it can replace both a JSON file and a JSON Schema. Furthermore, you can convert it from and into different formats (Cue, JSON, YAML, Go data types, ...), and you can nicely embed this into a Go project as well. #cue #cuelang #golang #configuration https://cuelang.org
CUE

Configure Unify Execute Validate, define, and use dynamic and text‑based data Learn more Get started with CUE CUE makes it easy to validate data, write schemas, and ensure configurations align with policies. Get started learning about CUE with these links ..

CUE

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.

#Cuelang #Cue #Edn #Malli #JsonSchema #Babashka

@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