Hey, Nice stuff!
Stefan Israelsson Tampe <stefan.ita...@gmail.com> writes: > 3. For the type-checking examples I've been working with the assumptions of > having fixed declarations for > lambdas and deduce types for variables and their passage through the system. > The thought is that in the end > one need to allow lambdas to be explicitly typed in order to allow advanced > type-checking and at the same time > avoid infinite recursions. I think that it's not uncommon in Haskell > programming to add type information in order > to guide the type checker and being at such an infant stage having something > useful and working must simple allow > for type hint's in the code. FWIW the Hindley-Milner type inference example of Mini-Kanren works well, at least for simple cases: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> (run* (q) (!- (parse '(lambda (x) (+ x 1))) q)) $1 = ((int -> . int)) scheme@(guile-user)> (run* (q) (!- (parse '(lambda (x) (zero? x))) q)) $3 = ((int -> . bool)) --8<---------------cut here---------------end--------------->8--- Thanks, Ludo’.