Fork me on GitHub

I'm seeing some weird behavior that may (or may not) be related to the intersection of using defprotocol m/=> and! where I'm getting a StackOverflow exception when running an instrumented function. If I comment out the m/=> everything works fine. Before I go down a rabbit hole of trying to come up with a minimal repro, does this sound familiar to someone?


@mrdalloca, I see up above that you're exploring using malli to generate typescript definitions! I'm just starting to look into that as well, are you open to sharing what you've learned so far? I'm happy to help

Tiago Dall'Oca21:08:54

sure! I've progressed quite a bit actually

Tiago Dall'Oca21:08:16

I'm working with a draft of it by now

Tiago Dall'Oca21:08:27

so I'm not happy with the code organization and naming in general

Tiago Dall'Oca21:08:33

very early stages

Tiago Dall'Oca21:08:58

I'm already generating type definitions


Fantastic! I've got to hop off for other life things in a minute, but do you mind if I message you later? I'd love to try the basics

Tiago Dall'Oca21:08:07

I don't have time left for today, but we can go into details about this tomorrow :))

Tiago Dall'Oca21:08:05

I wake up at 09:00 UTC


I won't be about until 14:00 UTC, but I'll ping you then :thumbsup:


I'm hitting a wall trying to write a schema walker that recursively transforms :altn to :alt, :catn to :cat, etc. The implementation is straightforward for simple schemas, but I encounter failures when I use :refs and try to transform the registry along with the values - the registry doesn't get passed down when the walker descends into the :ref schemas. I'm not sure about the best way to proceed. Rebinding mr/*registry* with a dynamic registry that contains the top-level schema registry seems expedient, but I don't really understand the registry code that well yet which seems perilous.


Here's what I've got so far. It fails on the call to mu/to-map-syntax in the inner forms because of an invalid :ref error.