What are your concerns about a future type system for Elixir?

  1. How well type system would be integrated in future?
    Would we be able to write a macros with a new dollar ($) syntax just like we are doing now for @spec?
    Would we be able to read information about it from beam files?
    For reference: Dynamically generate typespecs from module attribute list

  2. Would we be able to write multiple $ spec like we did for @spec?
    This is supported by ex_doc and not supported by dialyzer?
    For reference: What is the idiomatic way to use @spec?

  3. What would happen with @spec and what with ex_doc?
    Would ex_doc prefer $ over @spec or maybe it would just present both of them?
    Would @spec be deprecated in long term or it would be only recommended to use one over another?

13 Likes