cbaggers / cepl

Code Evaluate Play Loop
BSD 2-Clause "Simplified" License
860 stars 51 forks source link

Allow use of lambda-g (and maybe defun-g) without a test compile #256

Open cbaggers opened 6 years ago

cbaggers commented 6 years ago

Once a gpu-function is done, by which I mean will not be recompiled interactively, there is no point having it perform a test compile when the macro is expanded. There is also no point in emitting code to handling recompilation propagation. The advantage would be that we lower the cost of defining these functions and thus make loading faster.

We could achieve this with a :static tag in the &context section of the arguments.

Ideally we would only allow a static function to call other static function, but checking this would require compilation which rather defeats the point :p

ghost commented 6 years ago

Is there something I can do to help with this? It is kind of important for my study, so I will do what I can to help.

cbaggers commented 6 years ago

Phew, id be scared to build my study on such a beta project! But no theres nothing I really need, im on holiday and been working on Varjo a lot (we have reference documentation and a guide now :)

I'll start looking at this in an hour or two

cbaggers commented 6 years ago

The problem with this is that the test compile is used to identify implicit uniforms. We still might be able to do this for lambda-g as it handles its compilation is a different way to defun-g