文件名称:Cassette.jl:覆写你的茱莉亚代码
文件大小:529KB
文件格式:ZIP
更新时间:2024-05-24 14:24:46
Julia
概述 Cassette使您可以通过直接向Julia编译器注入新的,特定于上下文的行为,轻松地扩展Julia语言。 从技术上讲,Cassette是一个Julia软件包,它提供了一种机制,可将代码转换动态地注入到Julia的即时(JIT)编译周期中,从而可以事后分析和修改“未意识到Cassette的” Julia程序,而无需手动添加源代码或重构目标代码。 Cassette的API建立在用户可定义的执行上下文的概念上,这些上下文表示为普通的Julia类型。 使用盒式磁带,可以在执行上下文中通过称为“配音”的过程调用任何常规的Julia函数。 盒式磁带为用户提供了多种方法来定义与其上下文类型一起配音的代码的执行。 例如,Cassette的最低级别接口允许用户通过正常的Julia函数实现任意CodeInfo转换,并在编译时轻松地将这些转换应用于CodeInfo方法主体。 Cassette还提供了
【文件预览】:
Cassette.jl-master
----Project.toml(389B)
----docs()
--------make.jl(940B)
--------Project.toml(109B)
--------img()
--------src()
----.github()
--------workflows()
----test()
--------misctests.jl(25KB)
--------misctaggingtests.jl(16KB)
--------unittests.jl(2KB)
--------runtests.jl(757B)
--------precompile.jl(778B)
----src()
--------pass.jl(7KB)
--------Cassette.jl(240B)
--------overdub.jl(34KB)
--------context.jl(17KB)
--------deprecations.jl(982B)
--------tagging.jl(27KB)
----LICENSE.md(1KB)
----.gitignore(77B)
----README.md(3KB)