-
Notifications
You must be signed in to change notification settings - Fork 11
/
BangBang.jl
89 lines (80 loc) · 1.9 KB
/
BangBang.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
module BangBang
# Use README as the docstring of the module:
@doc read(joinpath(dirname(@__DIR__), "README.md"), String) BangBang
export @!,
@set!!,
Empty,
add!!,
append!!,
collector,
delete!!,
deleteat!!,
empty!!,
finish!,
lmul!!,
materialize!!,
merge!!,
mergewith!!,
mul!!,
pop!!,
popfirst!!,
prefermutation,
push!!,
pushfirst!!,
rmul!!,
setdiff!!,
setindex!!,
setproperties!!,
setproperty!!,
singletonof,
splice!!,
union!!,
unique!!
using Base.Broadcast:
Broadcasted,
broadcasted,
combine_eltypes,
copyto_nonleaf!,
instantiate,
materialize!,
preprocess
using Base: HasEltype, IteratorEltype, promote_typejoin
using Compat: hasproperty
using ConstructionBase: constructorof
using InitialValues
using LinearAlgebra
using Requires
using Tables: Tables
using ZygoteRules: @adjoint
# Used in NoBang:
function implements end
function push!! end
function unique!! end
include("NoBang/NoBang.jl")
using .NoBang: Empty, SingletonVector, singletonof
include("core.jl")
include("base.jl")
include("linearalgebra.jl")
include("extras.jl")
include("collectors.jl")
include("initials.jl")
include("macro.jl")
include("dataframes_impl.jl")
include("zygote.jl")
include("setfield.jl")
using .SetfieldImpl: @set!!, prefermutation
function __init__()
@require StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" begin
include("staticarrays.jl")
end
@require StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" begin
include("structarrays.jl")
end
@require TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" begin
include("typedtables.jl")
end
@require DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" begin
include("dataframes.jl")
end
end
end # module