Skip to content

Big list of potential features - language #4

@glaebhoerl

Description

@glaebhoerl
  • Everything-is-an-expression
  • ASCII strings
  • {Int,UInt}{8,16,32,64}
  • Float{32,64}
  • Structs (nominal products)
  • Enums (nominal sums) with simple switch
  • Never (uninhabited type)
  • Arrays
  • Shared mutable references
  • Type aliases
  • Irrefutable destructuring
  • "Method syntax"

  • inout parameters
  • Pattern matching
  • Tuples (structural products)
  • Structural sums
  • Unicode strings
  • Generic functions (top level, first order, "prenex")
  • Generic types (first order)
  • "Type classes" / interfaces
  • Recursive types
  • Iterators, foreach
  • Ranges
  • Self-modifying functions (function!())
  • A module system for namespacing
  • "Syntactic" operator overloading

  • Unbounded Int, UInt, Float
  • Complex numbers
  • "Associated types"
  • "Object types" (like trait objects)
  • Existential types
  • Polymorphic recursion
  • Generic functions (higher-order, "higher rank")
  • Generic types (higher-order, "higher kinded")
  • A kind system
  • Variadic types ([type] kind)
  • Generic modules
  • Privacy
  • Effect tracking
  • unsafe / trusted
  • Threads
  • Dynamic typing, reflection

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions