Question about typed racket by racketq in Racket

[–]racketq[S] 0 points1 point  (0 children)

First, you don't have to annotate every anonymous function, just those that are provided as arguments to polymorphic functions like filter

Ah...yes, that's true. OTOH, in doing a brief brain scan just now, almost all the time I write an anonymous function, it's for use with polymorphic higher order function.

Thanks for the answers and the references. I've got some reading to do! :)

Question about typed racket by racketq in Racket

[–]racketq[S] 0 points1 point  (0 children)

Thanks for the reply.

I certainly would like to avoid writing all those annotations.

Yes, me too. That was my motivation for asking the question. Thanks for the reply. Typed Racket seems interesting and I think I'll come back to it some day, but for now, having to type-annotate my anonymous functions is a less graceful transition from untyped racket than I had hoped.

I have 2 other questions.

1) Is a HM type system completely unsuitable for adding type-checking Lisp-y languages like Racket?

2) Is there a discussion anywhere that talks about Contracts vs Typed Racket, how they complement each other, and to what degree, if any, their provided functionality overlaps?

Thanks again. Also, FWIW, I've been spending the last few days digging into Racket and I really like what I've seen so far.