Live data from Hacker News

Viewing profile — ambrosebs

ambrosebs

HN member
Joined
Mon, Jul 18, 2011, 4:55 PM UTC
HN karma
124
Public activity
53 items

About ambrosebs

http://twitter.com/ambrosebs

Recent public activity

  1. story
  2. comment
    Comment #9755709

    I went back to Siek & Taha's original formulation and they have a nice examples section in 5.3 of some interesting higher-order cases with Dyn, that better demonstrates than my clu…

  3. comment
    Comment #9755659

    Right, I think when you have a Dyn, you import all untyped code as type Dyn or containing Dyn. Then the idea is, when you unwrap a Dyn function at runtime, to distribute the functi…

  4. comment
    Comment #9754540

    Great point. `Any` is also often called `Dyn` or `Dynamic` in normal typed languages, which is slightly different to `Any` here (core.typed's `Any` is the supertype to all types, `…

  5. comment
    Comment #6595330

    It shouldn't be too surprising given the similarities between Clojure and Racket. Typed Clojure and Typed Racket are very closely related in theory and implementation.

  6. comment
    Comment #6595074

    Typed Clojure is currently static analysis only and offers no automatic speed improvements. It has the nice property that code will compile and run no matter what the type checker …

  7. comment
    Comment #6594939

    To type check Clojure idioms we use techniques that resemble light-weight dependent types. No particular attempt is made to go beyond the minimum required for checking certain idio…

  8. comment
    Comment #6593767

    Clojure's map takes at least 2 arguments, so that's why we have an extra "a". I also commented on the blog post explaining the terms I used.

  9. comment
    Comment #6593434

    The dotted type-variable on the right hand side of ... is what ensures both sets of dots get instantiated with the same sequence of types. Both sides of b ... b are actually comple…

  10. comment
  11. comment
    Comment #6592836

    No reason.

  12. comment
    Comment #6508675

    Rich hasn't been directly involved, aside from providing encouragement. Almost all the design/implementation work was done via Typed Racket anyway. I stole a lot of it and spent mo…

  13. comment
    Comment #6508570

    The information on what needs annotating isn't quite complete: loops and some other macros need annotations. I'm probably responsible for the thinking that annotations are only nee…

  14. comment
    Comment #6475153

    So I tried out my ideas for type checking core.match with CinC, and it worked out wonderfully. http://www.youtube.com/watch?v=g2zts1hW19k

  15. comment
  16. comment
    Comment #6471992

    Amusingly, Nicola (Bronsa) let me know CinC already provides the extension points for everything in the blog post.

  17. comment
    Comment #6470771

    (ns my-ns (:require [clojure.core.typed :as t :refer [ann]])) (ann my-keys (All [a] [(t/Map a Any) -> (t/Coll a)])

  18. comment
    Comment #6469894

    There would be annotations in the same places as Typed Clojure, except :no-check would be replaced by type soundness-preserving runtime assertions. There would be no need for :no-c…

  19. comment
    Comment #6463669

    I will tiptoe carefully around the issue you're bringing up and point out that the styles of type checking provided by Dialyzer and Typed Clojure are pretty different.

  20. comment
    Comment #6461682

    nil is explicit in Typed Clojure, and it's a goal to statically avoid misuses of nil. This rough screencast describes on aspect to the approach http://vimeo.com/55280915

  21. comment
    Comment #6461175

    Typed Clojure's type system is too rich to avoid top-level annotations. It's a similar situation to Scala.

  22. comment
  23. comment
    Comment #6460319

    Yep that's correct. I want a tool that infers a rough approximation of top-levels to accelerate the process of porting untyped code to be typed. The programmer would inspect the an…

  24. comment
    Comment #6460291

    AFAIK Typescript is level 1 gradual typing. Typed Clojure is also level 1, but I'm aiming for level 3. I guess Typed Clojure is more powerful than Typescript in a few ways, but it'…

  25. comment
    Comment #6460230

    Also I'm not aware of a tool to "guess" top level annotations for Typed Racket. This is an area I want to explore further, soon.