Fork me on GitHub
#malli
<
2019-10-31
>
orestis09:10:37

I'm evaluating various "spec" libraries for use in production. It's a bit of a sticky situation, since clojure.spec is alpha, clojure.spec2 and malli are pre-alpha. The only "stable" library is Plumatic Schema, but that's also old (though actively maintained).

orestis09:10:14

But, everyone's definition of pre-alpha is different. Alex Miller explicitly says "don't use spec2 in production yet, eta is in the order of months".

orestis09:10:28

What is the definition of pre-alpha for Malli?

ikitommi09:10:29

we wanted to optimize the whole - currently all non-core modules (generators, providers, transformers, etc) have initial versions and we know how to core should be done to support the needs of the modules. There will be few namespace & function renames (e.g. breaking) after which we’ll put a alpha out. Will be in alpha as long all the relevant features are feature-complete, but I would guess there will be a real release within 1-2 months.

ikitommi09:10:02

there is for example now m/transform function but it will be split into m/encode and m/decode, like in spec-tools. Didn’t want to start maintaining CHANGELOG for all the things that are in a flux now, but final design starts to emerge, so getting close.

ikitommi09:10:45

also, there are some big things that need to be decided before release, will write a post &/ poll out of those.

ikitommi10:10:54

• open or closed maps by default? (open) • support clojure core predicates (`ìnt?`, string?) by default or make keyword type schemas (`:int`, :string, ...)

ikitommi10:10:15

we’ll push a reitit coercion module of malli soon, so people can start playing (and reporting issues) with it.

orestis13:10:43

Thanks for the update! Looking forward to see what's cooking.