Skip to content

Revisit dynamic dispatch based on types #13

Open
@c3d

Description

@c3d

Dynamic dispatch is currently somewhat implemented both in the compiler and interpreter.

However, given recent evolutions of the language, notably with respect to pattern matching, this code needs to be seriously revisited.

Key changes:

  • Support for type inheritance / implicit conversions (two passes)
  • Support for metaboxes (issue Implement metabox notation #10) in patterns
  • Smarter dispatch in maps for common cases, e.g. contiguous values (ideally, turn that to "switch" statements in LLVM IR and let the switch optimizer do its magic).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions