Hi Colin, The ClojureScript port is still in progress.
The story for casting values from untyped to typed land is non-existent. You basically need to tell core.typed what types you're expecting from untyped land with an unchecked annotation, and it's up to you to make sure those assumptions are correct. This is a major problem that will be tackled at some point during my PhD. The closest thing right now to what you might want is clojure.core.typed/pred, which turns a type into a predicate. Then (do (assert ((pred Foo) x) x) can cast your value. Otherwise you might want to use something like Schema at the typed/untyped boundaries to validate data before they travel into typed land. But this is not a particularly pleasant workflow. Thanks, Ambrose On Wed, Oct 29, 2014 at 12:42 PM, Colin Yates <[email protected]> wrote: > I am thinking of using core.typed for the clojurescript layer but after > reading the docs it isn't clear to me how core.typed works in relation to > serialisation. > > I get that core.typed does some static analysis at compile time, but what > about runtime? What happens when I deserialise from a blob returned from > the server, does it take it on faith that the defined typed contract is > valid? > > Or, is the only option to type that as returning Any, in which case how on > earth is it used? > > My intention is to describe the structure of the various data structures > flying around the front end and consumed from the server with core.typed if > that helps. > > Thanks! > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/clojurescript. > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
