I come to Racket from Haskell and so far I am quite happy, as I feel freer 
to do some weird stuff from time to time, and I am absolutely in love with 
the Lisp-parens syntax.

As a former Haskeller, one of the first things I tried was Typed Racket.  
It worked like a charm for small examples, but started getting in my way 
too much as soon as I got to some more advanced stuff (e.g. polymorphic 
functions, generics, eval, even apply).  My immediate reaction was ditching 
types for contracts, which are rather fine and allow me to use a familiar 
language, but I am somewhat worried about the performance penalties 
defining everything via define/contract may incur.  Also, it seems weird to 
set up runtime contract checks where a simple type annotation would do.

I have no problem with Typed Racket not being able to type every single one 
of my functions (after all, I came to Racket to be able to do weird stuff), 
but so far I couldn't figure out what would be the best way to mix typed 
and untyped code inside a single module, ideally without having to split it 
into two separate files.

What is the standard practice for mixing typed and untyped code within a 
single module?  Submodules?  Typed regions within untyped code?  Maybe 
there is an example somewhere I can have a look at?


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 racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 

Reply via email to