[racket] Typed Racket - Successful Conversion

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue May 24 20:12:39 EDT 2011

DrRacket does this automatically.

But the default settings will make .zo files with debugging on --
maybe there is some bad Typed Racket / errortrace interaction that
slows down compilation significantly?


On Tue, May 24, 2011 at 6:23 PM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> Ray -
> Thanks for the happy story!
> As for compile times, what I typically do is use `raco make' on the
> command line to compile things, which means that typechecking doesn't
> have to happen repeatedly.  For a 10k line project, I would expect
> this to make a substantial difference when changing files at the
> leaves of the hierarchy.  For the root of the hierarchy, there's not
> much to be done with the current architecture of Racket other than
> making Typed Racket faster (which we're working on).
> On Tue, May 24, 2011 at 4:09 PM, Ray Racine <ray.racine at gmail.com> wrote:
>> This weekend I completed a 3 weekend exercise converting just short of 10K
>> wc -l lines of racket code.  All told it took 3 weekends to get there.  I
>> did it because it appears 10K lines is about my conceptual limit given my
>> slovenly documentation habits.
>> The old code worked just fine, however it was no longer readily apparent to
>> my why this should be the case.
>> Some observations:
>> 95% of the time adding signatures was very straight forward.
>> In <2% I had some difficulties, some self inflicted, some hitting some rough
>> areas where things are not yet competed in typed Racket, I was always able
>> to come up with something that worked.
>> Was surprised by the number of sunny day assumptions in my original code
>>  Typing forced me to handle all "cases".  The code is now more robust then
>> before.
>> The typing syntax overall is really quite good.  It did not come across as
>> an afterthought bolt-on.
>> require/typed works cleanly to "lift" untyped racket code from 3rd party
>> libs into typed land.
>> The time it takes to initially type check a high up in the module hierarchy
>> module does start to impact the development cycle however.
>> Overall the doing and completing of the migration took a pile of code on the
>> verge of anarchy and put it back under control.  I feel confident it could
>> double in size a number of times and remain so.
>> I think typed racket is a huge win.  Controversially, (oh boy) I'd go as far
>> to say Racket should just go 100% typed from bone to guts, top to bottom.
>> Racket - The Programming Language With The (Soon To Be) Most Advanced Type
>> System In The World.  *whew*
>> Who'd a thunk it.
>> _________________________________________________
>>  For list-related administrative tasks:
>>  http://lists.racket-lang.org/listinfo/users
> --
> sam th
> samth at ccs.neu.edu
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/users

Posted on the users mailing list.