Skip to content

miningape/lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kyle's Unnamed Language Project

roadmap:

  1. Type checking
  2. Finish variables
  • Mutability
  • Type checking
  1. Lists!
  • List creation
    • range
    • empty list
  • List type
  • Typed empty list
  1. Const lists / tuples
  • Creation
  • tuple type
  • destructuring

todos:

  • variables
    • create
    • mutate syntax
    • const
  • loop expressions
    • while
    • for (iterator)
    • infinite loop
  • match expressions
    • match on type
    • match on value
    • match on condition
    • check "completeness" of branches
    • destructuring / capturing
      • enum
      • struct
      • list
        • head / tail
        • positional destructuring
  • block return
  • exceptions
  • function application / pipe with auto curry
  • data structures
    • list
    • tuple (aka. const list)
    • struct
    • enum
    • destructuring
  • interfaces
    • definition
    • implementation
    • method calling
    • operator implementing (i.e. struct + struct)
  • type system
    • utility types
      • or (|)
      • function ((type) => type)
      • number
      • string
      • boolean
    • type definitions + binding
      • function argument types
      • function return types
      • inferred return types
      • let variable type
      • inferred recursive return types
    • type checking
      • function argument types
      • operator argument types
      • let variable creation
      • variable mutation
    • type as argument
    • type inference
  • imports & exports
  • I/O
    • std
    • file
    • network
  • concurrency
    • async / await (implicit virtual threading)
    • multi-threading (explicit)
    • mutex
  • compile (llvm? / wasm? / bytecode?)
  • standard library
    • utility functions
      • print
      • input
    • enums
      • Optional
      • Result

housekeeping:

  • testing
    • unit tests
      • tokeniser
      • parser
      • subtype typechecking
      • program typechecking
      • type inference
      • interpreting
    • integration tests
      • recursion
        • type inference
        • mutual recursion
      • variables
        • mutability
        • type checking
  • examples
  • documentation

About

A toy functional language with an expressive type system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages