The problem is almost certainly that `Any` is not allowed in `Ffi-type`. What's the definition of `Ffi-type`, and why does `params` have a type that involves `Any`?
Sam On Fri, May 22, 2020 at 5:21 PM Hendrik Boom <[email protected]> wrote: > > Here's the code it's complaining about. > > `(,@params -> ,rettype) > > And here's the message: > > Type Checker: Polymorphic function `qq-append' could not be applied to > arguments: > Types: (Listof a) (Listof b) -> (Listof (U a b)) > Arguments: (Listof (List Any ': Any)) (List '-> Ffi-type) > Expected result: Ffi-type > in: (quasiquote ((unquote-splicing params) -> (unquote rettype))) > > Now what I'm building is a piece of Racket code that is to be written > out into a new source-code file. > > param is indeed of type (Listof (List Any ': Any)). > rettype is indeed of type (List '-> Ffi-type) > > And or some reason the type-checker isn't able to realise that I can > really build a valid s-expression out of these components. > > Now i could hand-expand the quasiquote in to a lot of cons operations, > each presummably surrounded by 'inst' becausee cons is polymorphic, > but this will just make the entire expression unreadable. > > I'm almost tempted to write this expression in untyped Racket. > > But separating this stuff into another module would significantly > demodularize the code -- related code will no longer be together. > > Racket does have a compact mechanism to embed typed-Racket code in an > untyped program (it's called with-type) > > But there seems to be no similar way to embed an expression of untyped > code into a typed-racket program. > > How to get past this impasse? The majority of my code needs to be in > typed Racket to maintain my sanity while debugging, but the quasiquoted > texts (there are a number of these) need to be readable, for the same > reason. > > -- hendrik > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/20200522212056.m3x54f6dykgs4qyx%40topoi.pooq.com. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAK%3DHD%2BZah-zmPNKX%3DyttQoQFs7pY9PHc8hYGzkTeKm35YU3MLg%40mail.gmail.com.

