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
The thought is the following: let the compiler to the bare minimum work of bootstrapping the alpaca primitives and implement as much of the rest in alpaca itself. So everything that is in the compiler right now that could be a function ends up being a function.
There are a few advantages to that:
it keeps the compiler minimal
all optimisations or mutations that can be done on the alpaca ast also a apply to those kernel functions
it's a nice bit of dogfooding
more of the code will be typed out of the box
And some disadvantages:
testing the compiler w/o the kernel gets more complicated.
I've not read every line of the compiler but most notabley are the mathematical operators. Instead of a special compiler case for them they'd turn into something like:
I think the only overhead would be the guard functions, not sure what the impact is there though tbh. We could do this all with type specs now although I'm not sure that would set the best example :)
The thought is the following: let the compiler to the bare minimum work of bootstrapping the alpaca primitives and implement as much of the rest in alpaca itself. So everything that is in the compiler right now that could be a function ends up being a function.
There are a few advantages to that:
And some disadvantages:
I've not read every line of the compiler but most notabley are the mathematical operators. Instead of a special compiler case for them they'd turn into something like:
The text was updated successfully, but these errors were encountered: