Skip to content

Planned features #1

Description

@avborup

A tracking issue for planned features of Linefeed.

  • Everything is an expression
  • Lazy keyword
    • E.g. lazy foo = 1 + 2 is not evaluated until first use
  • (Linear-algebraic) vectors
  • By-default big integers (as in Python, Perl, and Ruby)
  • Good I/O tooling
    • Null file handle (as in Perl's null file handle)
    • Regex support
  • Trait-based
    • Dictionaries with any key, for example
    • Operators: addition for strings, numbers, vectors etc

... and more

And some "might be fun but might not happen" features:

  • Make a JIT compiler that uses LLVM
  • Type inference
  • Linear algebra: matrix multiplication, determinants, inverse

Discarded features

  • Nullish coalescing operator. Can be done with the or operation most of the time. Abandoned for now.
  • Complex numbers. Add linear-algebraic vectors instead with useful methods. In Python, complex numbers were used as a stand-in for vectors 99% of the time (in my case).

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