On Tue, 23 Jul 2019 15:18:26 -0700 (PDT), Atlas Atlas <peacekeeperat...@gmail.com> wrote:
>My personal big wish is "standard library" consistency and futures(like >more extended date-time functions). > >Another big wish is typed system. Typed racket looks like a BIG step >forward, and gives real benefits, it is shame it have not so much support. > >Another wish is more fluid transition between typed and untyped code. For >now it feels painful. Agreed. I actually liked Dylan's approach that, by default, code should be latent typed. Then annotation could be added incrementally to elide runtime type tests and provide compile time diagnostics. Of course, the compiler still should be analyzing the code as best it can to avoid including unnecessary type tests in the first place. I don't know how well Racket fares currently in this regard, but the good Common Lisp compilers can optimize away a lot of redundent type tests. And, of course, Common Lisp also allows some manual eliding of type tests using the 'the' special operator. Big difference was that Dylan's compiler would catch mismatched types if they were statically known from the source, and if the compiler was unsure about an expression containing mixed latent and manifest types, it included the necessary runtime tests to catch problems. OTOH, CL compilers trust the programmer and just elide any testing when they see an annotated expression. To me, TypedRacket feels much more like ML than like Dylan or Common Lisp. Type inference is great - when it works. Coarse grained scope encompassing declarations are great - when you can figure out what they should be. Reducing busywork and the cognative load on the programmer seems like it always should be a Good Thing. But when inference fails and the declarations are unfathomable, and there is no easy way around the problem save by falling back to SLOW untyped code, then typing becomes a PITA. To my thinking, there needs to be some middle ground - like CL's 'the' operator or Dylan's local annotations - that can disambiguate problems on the spot. YMMV, George -- 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 https://groups.google.com/d/msgid/racket-users/5u3vjehunjeui8m05okuf542ucgl49pmjj%404ax.com.