On Dec 5, 2014, at 11:30 PM, Alexis King <lexi.lam...@gmail.com> wrote:
> I’ve been having an issue figuring out how to properly use the json library > in typed racket, so I posted a question about it on SO. Any help would be > greatly appreciated! > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > The trouble is that a jsexpr is not a struct, jsexpr? is simply a predicate > that tests whether or not a given value fits a certain structure. It doesn’t have to be a struct, but the problem is that typed racket doesn’t know that a value of type String for instance will be of type JSExpr or not, so you would have to put (assert x jsexpr?) around everything that you want to treat as a jsexpr. To the rest of the list: > (require/typed json > [jsexpr? (-> Any Boolean : JSExpr)]) > > Unfortunately, this doesn't work, either, because filters can't be used in > require/typed. Is there any particular reason why there can’t be filters in require/typed for types where there can be a predicate created by make-predicate ? It still wouldn’t work for JSExpr because it can’t define a predicate, but is there any reason why something like this couldn’t work? (require/typed 2htdp/universe [key-event? (Any -> Boolean : #:+ String)])
____________________ Racket Users list: http://lists.racket-lang.org/users