Skip to content

Set-theoretic types: representation of all data types #13227

@josevalim

Description

@josevalim

The goal is to represent all data types within types:

  • Non-divisible types (integer, floats, pids, etc)
  • Dynamic
  • Atoms
  • Maps
    • New representation which is more efficient for negations
    • Domain key-types
    • map_fetch
    • map_put
    • map_delete
    • map_keys
    • map_values
    • Map module
  • Tuples
    • Generalize :open / :closed
    • tuple_fetch
    • tuple_insert
    • tuple_delete
    • tuple_values
  • Lists
    • list_hd
    • list_tl
  • Functions
    • apply/2 and fun.(args...)
    • fn ... -> ... end (expr)
    • Strong capture (expr)
    • Inferred capture (expr)
    • Unions of closures / empty applications
    • Pretty printing

See #14558 and #13881.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions