You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue outlines the tasks needed for a fully working tsuki compiler.
New features are not going to be added into the language until the first version of the compiler is finished, at which point features are going to be refined (along with the spec) and removed, but no new features are going to be added into the language.
Macros, which are currently TODO, are a 1.0 goal, but I need an overview of how the internal AST is going to look before I can implement them.
Make operators use traits for overloading (mark this level's tasks as done as soon as this is introduced)
Control flow
Prefix do expressions
if expressions
if val
match expressions
try blocks and ? operator
while loops
while val
for loops
break expression
Functions
Function definitions
Calls
Intrinsic
User-defined
Self-recursive (fun a() calls itself)
Mutually recursive (fun a() calls fun b() which calls fun a())
Check when method calls are supported
return expression
Control flow analysis as to whether a function returns or not
Not needed. Because all functions that return a value treat the last expression in the body as the value to return, we can be sure that all functions that need to return a value, already do so.
This issue outlines the tasks needed for a fully working tsuki compiler.
New features are not going to be added into the language until the first version of the compiler is finished, at which point features are going to be refined (along with the spec) and removed, but no new features are going to be added into the language.
Macros, which are currently TODO, are a 1.0 goal, but I need an overview of how the internal AST is going to look before I can implement them.
==
,!=
<
,<=
,>
,>=
not
and
andor
~
,&
,|
,^^
~
in
is
as
do
expressionsif
expressionsif val
match
expressionstry
blocks and?
operatorwhile
loopswhile val
for
loopsbreak
expressionfun a()
calls itself)fun a()
callsfun b()
which callsfun a()
)return
expressionControl flow analysis as to whether a function returns or notNot needed. Because all functions that return a value treat the last expression in the body as the value to return, we can be sure that all functions that need to return a value, already do so.
:: compiler_intrinsic
pragma:: c_import
pragma:: c_varargs
pragma:: c_export
pragmaSemLiterals
#7const T {V}
#6()
Bool
NoReturn
Char
Array[N, T]
Seq[T]
Table[K, V]
String
rc
andrc var
Self
self
with explicit typeself
with pointer type inferencederive
sCopy
andDup
where
constraintsDo note that this roadmap does not include the standard library.
The text was updated successfully, but these errors were encountered: