Skip to content

Add typed List[T] with list literals and basic methods #33

@synapticvoid

Description

@synapticvoid

Task

Implement List[T] as a built-in generic collection type.

Acceptance criteria

  • Type syntax: List[Int], List[Str], etc.
  • Non-empty literal infers element type: [1, 2, 3]List[Int]
  • Empty literal requires annotation: var xs: List[Int] = []
  • Mixed-type literals are a compile-time error
  • Methods: len(), contains(value), get(index), get(index, default), add(value), remove(index)
  • Mutating methods (add, remove) require var receiver — compile-time error on const
  • Negative indexing: xs[-1] → last element; out-of-bounds → IndexError

Spec

See PDP-009: Collection Types.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions