Skip to content

JuliaDebug/CassetteOverlay.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CassetteOverlay.jl

julia> using CassetteOverlay, Test

julia> @MethodTable SinTable;

julia> @overlay SinTable sin(x::Union{Float32,Float64}) = cos(x);

julia> pass = @overlaypass SinTable;

# run with the overlayed method
julia> @test pass(42) do a
           sin(a) * cos(a)
       end == cos(42)^2
Test Passed

# invalidate the overlayed method and make it return `cos∘sin`
julia> @overlay SinTable sin(x::Union{Float32,Float64}) = cos(x) * @nonoverlay sin(x);

julia> @test pass(42) do a
           sin(a) * cos(a)
       end == cos(42)^2 * sin(42)
Test Passed

About

An experimental simple method overlay mechanism for Julia

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages