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.

Reply via email to