On Wed, 03 Jun 2015 13:45:06 +0200, Jacob Carlborg wrote: > On 2015-06-02 10:54, ketmar wrote: > >> that was the thing i once proposed. see, we have a powerful scripting >> language inside DMD: D! yet we never used all it's power to do >> something really exciting -- like, for example, preparing command lines >> for external package fetching tool and parsing the answers. instead of >> providing a simple module for that, it all goes to be hardcoded. >> >> i extended CTFE engine with simple file i/o functions and "system" call >> with config-defined executables (something like sudoers list) just to >> see if it will be usable. and it's surprisingly fun even with all the >> limits and without hooks for module imports and so on. >> >> this system can be extended to allow writing arbitrary subcommands >> (like git). just import the corresponding subcommand module, if any, >> and CTFE it's invocation point. bingo! the system that can be extended >> without recompiling the compiler. and user can add subcommands on >> per-project base! >> >> sadly, this seems to get no "wow!"s. :-( > > I think it's pretty cool. But I like the approach SDC has taken even > more. Using the LLVM JIT to run CTFE code.
so SDC will benefit from JITting, as it's not required to modify CTFE evaluator in any way to implement my idea. just adding some more "internal functions" (like `import()`), which are nothing more than "call `interpret`, use results). porting that entry points to SDC will be trivial.
signature.asc
Description: PGP signature
