(And this is not a limitation of Typed Racket but a fundamental problem of CS.)
On May 20, 2013, at 11:07 AM, Eric Dobson <[email protected]> wrote: > No, you cannot define predicates for function types. If you explain > the problem you have, we might be able to explain another solution > that will work. > > On Mon, May 20, 2013 at 1:32 AM, Paul Leger <[email protected]> wrote: >> Hi all, >> Maybe, this question is very easy. In the following code, I try >> defining a predicate for T2, but I cannot because T1 it is a function. >> >> (define-type T1 (Symbol -> Any) ) >> (define-type T2 (U Symbol Number T1)) >> >> ;(define-predicate T1? Procedure) ;this line is useless >> >> (define-predicate T2? T2) >> >>> Type Checker: Type T2 could not be converted to a contract. in: T2 >> >> My unsuccessful answer is: >> (define-type T2 (U Symbol Number Procedure)) >> >> I do not like it because I lose the relationship between T1 and T2. Are >> there some possibility >> >> Thank in advance, >> Paul >> >> ____________________ >> Racket Users list: >> http://lists.racket-lang.org/users >> > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users

