[racket] Typed Racket - Successful Conversion
Unfortunately I'm an emacs acolyte + Geiser and as a result was not getting
the zos built that DrRacket would have given me for free. So the slow down
I experienced were more than what they would be for most people. Self
induced issue. Ultimately I pushed down a lot of the "standard" code into
several raco linked local planet libs and as they stabilized started raco
fileinject'ing them locally. This helped quite a bit.
Somehow I missed 'raco make' to build the core non-lib code. Thanks for
that one.
Ray
On Tue, May 24, 2011 at 8:12 PM, Robby Findler
<robby at eecs.northwestern.edu>wrote:
> 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?
>
> Robby
>
> 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
> >
>
--
The object of life is not to be on the side of the majority, but to escape
finding oneself in the ranks of the insane. - Marcus Aurelius
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110524/cdf310e8/attachment.html>