Key

LAP: would the only option available to parse the output printed? Seems a little bit fragile. Could there be a command returning a tiny datastructure: \[ \{ :filename "/home/lpetit/.../my_namespace.clj", :line 1234, :description "here the usual text", :summary "condensed version for quick single-line display" \}, \{ ... another type error ... \} ... \]

Ambrose: At the top level I have a sequence of Exceptions which I just dump to stderr or stdout after type checking. I can easily provide a map.

There might be an option for automatic type checking along with compilation.

LAP: CCW does not compile those days (as in AOT compile), but does provide option to automatically reload the namespace. So this could probably be added as well, indeed (maybe not in a first version). The problem being, as usual, how (and should we) determine all other dependent namespaces that should be recompiled / rechecked (once we enter the "automatic" realm, users demands are high )

Ambrose: Yes that's what I meant. Users often want to do type checking when reloading namespaces.

Typed REPL

This is optional, but provide a REPL with the type checker always on. This would type check forms implicitly.

LAP: This could be an option. This would mean automatically encapsulating commands inside some core.typed call, right ?

Ambrose: Yes. It should be a matter of piping through a core.typed command.

Type queries

Hovering over locals could query core.typed for the type at particular positions. This could get complicated.