clojure 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +21 -0
- data/LICENSE +23 -0
- data/README.rdoc +18 -0
- data/Rakefile +18 -0
- data/VERSION +1 -0
- data/bin/clj +13 -0
- data/epl-v10.html +261 -0
- data/lib/clojure/asm/AnnotationVisitor.class +0 -0
- data/lib/clojure/asm/AnnotationWriter.class +0 -0
- data/lib/clojure/asm/Attribute.class +0 -0
- data/lib/clojure/asm/ByteVector.class +0 -0
- data/lib/clojure/asm/ClassAdapter.class +0 -0
- data/lib/clojure/asm/ClassReader.class +0 -0
- data/lib/clojure/asm/ClassVisitor.class +0 -0
- data/lib/clojure/asm/ClassWriter.class +0 -0
- data/lib/clojure/asm/Edge.class +0 -0
- data/lib/clojure/asm/FieldVisitor.class +0 -0
- data/lib/clojure/asm/FieldWriter.class +0 -0
- data/lib/clojure/asm/Frame.class +0 -0
- data/lib/clojure/asm/Handler.class +0 -0
- data/lib/clojure/asm/Item.class +0 -0
- data/lib/clojure/asm/Label.class +0 -0
- data/lib/clojure/asm/MethodAdapter.class +0 -0
- data/lib/clojure/asm/MethodVisitor.class +0 -0
- data/lib/clojure/asm/MethodWriter.class +0 -0
- data/lib/clojure/asm/Opcodes.class +0 -0
- data/lib/clojure/asm/Type.class +0 -0
- data/lib/clojure/asm/commons/AdviceAdapter.class +0 -0
- data/lib/clojure/asm/commons/AnalyzerAdapter.class +0 -0
- data/lib/clojure/asm/commons/CodeSizeEvaluator.class +0 -0
- data/lib/clojure/asm/commons/EmptyVisitor.class +0 -0
- data/lib/clojure/asm/commons/GeneratorAdapter.class +0 -0
- data/lib/clojure/asm/commons/LocalVariablesSorter.class +0 -0
- data/lib/clojure/asm/commons/Method.class +0 -0
- data/lib/clojure/asm/commons/SerialVersionUIDAdder$Item.class +0 -0
- data/lib/clojure/asm/commons/SerialVersionUIDAdder.class +0 -0
- data/lib/clojure/asm/commons/StaticInitMerger.class +0 -0
- data/lib/clojure/asm/commons/TableSwitchGenerator.class +0 -0
- data/lib/clojure/core$_DOT__DOT___3630.class +0 -0
- data/lib/clojure/core$_EQ__EQ___3398.class +0 -0
- data/lib/clojure/core$_EQ___3291.class +0 -0
- data/lib/clojure/core$_GT__EQ___3390.class +0 -0
- data/lib/clojure/core$_GT___3382.class +0 -0
- data/lib/clojure/core$_LT__EQ___3374.class +0 -0
- data/lib/clojure/core$_LT___3366.class +0 -0
- data/lib/clojure/core$_PLUS___3332.class +0 -0
- data/lib/clojure/core$_SLASH___3350.class +0 -0
- data/lib/clojure/core$_STAR___3341.class +0 -0
- data/lib/clojure/core$__GT___3634.class +0 -0
- data/lib/clojure/core$___3358.class +0 -0
- data/lib/clojure/core$accessor__4294.class +0 -0
- data/lib/clojure/core$aclone__4211.class +0 -0
- data/lib/clojure/core$add_classpath__4707.class +0 -0
- data/lib/clojure/core$add_doc__5153.class +0 -0
- data/lib/clojure/core$add_watch__3697.class +0 -0
- data/lib/clojure/core$add_watcher__3703$fn__3705.class +0 -0
- data/lib/clojure/core$add_watcher__3703.class +0 -0
- data/lib/clojure/core$agent__3684.class +0 -0
- data/lib/clojure/core$agent_errors__3712.class +0 -0
- data/lib/clojure/core$aget__4217.class +0 -0
- data/lib/clojure/core$alength__4205.class +0 -0
- data/lib/clojure/core$alias__4367.class +0 -0
- data/lib/clojure/core$all_ns__4318.class +0 -0
- data/lib/clojure/core$alter__3759.class +0 -0
- data/lib/clojure/core$alter_meta_BANG___3750.class +0 -0
- data/lib/clojure/core$alter_var_root__4827.class +0 -0
- data/lib/clojure/core$amap__4725.class +0 -0
- data/lib/clojure/core$ancestors__4866$fn__4869.class +0 -0
- data/lib/clojure/core$ancestors__4866.class +0 -0
- data/lib/clojure/core$and__3308.class +0 -0
- data/lib/clojure/core$apply__3243.class +0 -0
- data/lib/clojure/core$areduce__4729.class +0 -0
- data/lib/clojure/core$array__4040.class +0 -0
- data/lib/clojure/core$array_map__4401.class +0 -0
- data/lib/clojure/core$aset__4224.class +0 -0
- data/lib/clojure/core$aset_boolean__4244.class +0 -0
- data/lib/clojure/core$aset_byte__4260.class +0 -0
- data/lib/clojure/core$aset_char__4264.class +0 -0
- data/lib/clojure/core$aset_double__4252.class +0 -0
- data/lib/clojure/core$aset_float__4248.class +0 -0
- data/lib/clojure/core$aset_int__4236.class +0 -0
- data/lib/clojure/core$aset_long__4240.class +0 -0
- data/lib/clojure/core$aset_short__4256.class +0 -0
- data/lib/clojure/core$asm_type__5683.class +0 -0
- data/lib/clojure/core$assert__4528.class +0 -0
- data/lib/clojure/core$assert_args__3659.class +0 -0
- data/lib/clojure/core$assoc__3148.class +0 -0
- data/lib/clojure/core$assoc_in__5075.class +0 -0
- data/lib/clojure/core$associative_QMARK___5102.class +0 -0
- data/lib/clojure/core$atom__3728.class +0 -0
- data/lib/clojure/core$await1__4014.class +0 -0
- data/lib/clojure/core$await__4007$count_down__4009.class +0 -0
- data/lib/clojure/core$await__4007.class +0 -0
- data/lib/clojure/core$await_for__4017$count_down__4019.class +0 -0
- data/lib/clojure/core$await_for__4017.class +0 -0
- data/lib/clojure/core$bases__4836.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5305$fn__5307.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5305.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5321$thisfn__5323$fn__5324.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5321$thisfn__5323.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5321.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5330.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5333.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5336.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5339.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5342.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5346.class +0 -0
- data/lib/clojure/core$bean__5303$fn__5349.class +0 -0
- data/lib/clojure/core$bean__5303$snapshot__5315$fn__5317.class +0 -0
- data/lib/clojure/core$bean__5303$snapshot__5315.class +0 -0
- data/lib/clojure/core$bean__5303$v__5312.class +0 -0
- data/lib/clojure/core$bean__5303.class +0 -0
- data/lib/clojure/core$bigdec__4136.class +0 -0
- data/lib/clojure/core$bigint__4133.class +0 -0
- data/lib/clojure/core$binding__3672$var_ize__3674.class +0 -0
- data/lib/clojure/core$binding__3672.class +0 -0
- data/lib/clojure/core$bit_and__3509.class +0 -0
- data/lib/clojure/core$bit_and_not__3524.class +0 -0
- data/lib/clojure/core$bit_clear__3527.class +0 -0
- data/lib/clojure/core$bit_flip__3533.class +0 -0
- data/lib/clojure/core$bit_not__3503.class +0 -0
- data/lib/clojure/core$bit_or__3515.class +0 -0
- data/lib/clojure/core$bit_set__3530.class +0 -0
- data/lib/clojure/core$bit_shift_left__3539.class +0 -0
- data/lib/clojure/core$bit_shift_right__3542.class +0 -0
- data/lib/clojure/core$bit_test__3536.class +0 -0
- data/lib/clojure/core$bit_xor__3521.class +0 -0
- data/lib/clojure/core$boolean__4101.class +0 -0
- data/lib/clojure/core$bound_fn__4679$fn__4681.class +0 -0
- data/lib/clojure/core$bound_fn__4679.class +0 -0
- data/lib/clojure/core$butlast__3156.class +0 -0
- data/lib/clojure/core$byte__4089.class +0 -0
- data/lib/clojure/core$cast__3160.class +0 -0
- data/lib/clojure/core$char__4095.class +0 -0
- data/lib/clojure/core$class_QMARK___4824.class +0 -0
- data/lib/clojure/core$class__4043.class +0 -0
- data/lib/clojure/core$clear_agent_errors__3715.class +0 -0
- data/lib/clojure/core$clojure_version__5781.class +0 -0
- data/lib/clojure/core$coll_QMARK___5087.class +0 -0
- data/lib/clojure/core$comment__4501.class +0 -0
- data/lib/clojure/core$commute__3756.class +0 -0
- data/lib/clojure/core$comp__3775$fn__3777.class +0 -0
- data/lib/clojure/core$comp__3775.class +0 -0
- data/lib/clojure/core$comparator__3965$fn__3967.class +0 -0
- data/lib/clojure/core$comparator__3965.class +0 -0
- data/lib/clojure/core$compare__3304.class +0 -0
- data/lib/clojure/core$compare_and_set_BANG___3738.class +0 -0
- data/lib/clojure/core$compile__5065$fn__5067.class +0 -0
- data/lib/clojure/core$compile__5065.class +0 -0
- data/lib/clojure/core$complement__3551$fn__3553.class +0 -0
- data/lib/clojure/core$complement__3551.class +0 -0
- data/lib/clojure/core$concat__3255$cat__3269$fn__3270.class +0 -0
- data/lib/clojure/core$concat__3255$cat__3269.class +0 -0
- data/lib/clojure/core$concat__3255$fn__3257.class +0 -0
- data/lib/clojure/core$concat__3255$fn__3261.class +0 -0
- data/lib/clojure/core$concat__3255$fn__3265.class +0 -0
- data/lib/clojure/core$concat__3255.class +0 -0
- data/lib/clojure/core$cond__3237.class +0 -0
- data/lib/clojure/core$condp__5146$emit__5148.class +0 -0
- data/lib/clojure/core$condp__5146.class +0 -0
- data/lib/clojure/core$conj__3121.class +0 -0
- data/lib/clojure/core$cons__3107.class +0 -0
- data/lib/clojure/core$constantly__3560$fn__3562.class +0 -0
- data/lib/clojure/core$constantly__3560.class +0 -0
- data/lib/clojure/core$construct_proxy__5265.class +0 -0
- data/lib/clojure/core$contains_QMARK___3582.class +0 -0
- data/lib/clojure/core$count__3569.class +0 -0
- data/lib/clojure/core$counted_QMARK___5111.class +0 -0
- data/lib/clojure/core$create_ns__4312.class +0 -0
- data/lib/clojure/core$create_struct__4282.class +0 -0
- data/lib/clojure/core$ctor_sigs__5565$iter__5567__5569$fn__5570.class +0 -0
- data/lib/clojure/core$ctor_sigs__5565$iter__5567__5569.class +0 -0
- data/lib/clojure/core$ctor_sigs__5565.class +0 -0
- data/lib/clojure/core$cycle__3899$fn__3901.class +0 -0
- data/lib/clojure/core$cycle__3899.class +0 -0
- data/lib/clojure/core$dec__3422.class +0 -0
- data/lib/clojure/core$decimal_QMARK___4121.class +0 -0
- data/lib/clojure/core$declare__5118$fn__5120.class +0 -0
- data/lib/clojure/core$declare__5118.class +0 -0
- data/lib/clojure/core$def_aset__4233.class +0 -0
- data/lib/clojure/core$definline__4716.class +0 -0
- data/lib/clojure/core$defmacro__3190.class +0 -0
- data/lib/clojure/core$defmethod__3641.class +0 -0
- data/lib/clojure/core$defmulti__3638.class +0 -0
- data/lib/clojure/core$defn__3158.class +0 -0
- data/lib/clojure/core$defn___4565.class +0 -0
- data/lib/clojure/core$defonce__4973.class +0 -0
- data/lib/clojure/core$defstruct__4285.class +0 -0
- data/lib/clojure/core$delay_QMARK___3278.class +0 -0
- data/lib/clojure/core$delay__3275.class +0 -0
- data/lib/clojure/core$deref__3725.class +0 -0
- data/lib/clojure/core$derive__4877$tf__4880$fn__4882.class +0 -0
- data/lib/clojure/core$derive__4877$tf__4880.class +0 -0
- data/lib/clojure/core$derive__4877.class +0 -0
- data/lib/clojure/core$descendants__4873.class +0 -0
- data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419$fn__4421$fn__4423.class +0 -0
- data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419$fn__4421.class +0 -0
- data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419$fn__4427.class +0 -0
- data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419$fn__4430.class +0 -0
- data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419.class +0 -0
- data/lib/clojure/core$destructure__4413$pb__4415$pvec__4416.class +0 -0
- data/lib/clojure/core$destructure__4413$pb__4415.class +0 -0
- data/lib/clojure/core$destructure__4413$process_entry__4436.class +0 -0
- data/lib/clojure/core$destructure__4413.class +0 -0
- data/lib/clojure/core$disj__3594.class +0 -0
- data/lib/clojure/core$dissoc__3589.class +0 -0
- data/lib/clojure/core$distinct_QMARK___4901.class +0 -0
- data/lib/clojure/core$distinct__4646$step__4648$fn__4649$fn__4652.class +0 -0
- data/lib/clojure/core$distinct__4646$step__4648$fn__4649.class +0 -0
- data/lib/clojure/core$distinct__4646$step__4648.class +0 -0
- data/lib/clojure/core$distinct__4646.class +0 -0
- data/lib/clojure/core$doall__4003.class +0 -0
- data/lib/clojure/core$doc__4590.class +0 -0
- data/lib/clojure/core$dorun__3998.class +0 -0
- data/lib/clojure/core$doseq__3993$step__3995.class +0 -0
- data/lib/clojure/core$doseq__3993.class +0 -0
- data/lib/clojure/core$dosync__4672.class +0 -0
- data/lib/clojure/core$dotimes__4025.class +0 -0
- data/lib/clojure/core$doto__4187$fn__4189.class +0 -0
- data/lib/clojure/core$doto__4187.class +0 -0
- data/lib/clojure/core$double__4077.class +0 -0
- data/lib/clojure/core$double_array__4742.class +0 -0
- data/lib/clojure/core$doubles__4790.class +0 -0
- data/lib/clojure/core$drop__3872$fn__3878.class +0 -0
- data/lib/clojure/core$drop__3872$step__3874.class +0 -0
- data/lib/clojure/core$drop__3872.class +0 -0
- data/lib/clojure/core$drop_last__3882$fn__3885.class +0 -0
- data/lib/clojure/core$drop_last__3882.class +0 -0
- data/lib/clojure/core$drop_while__3889$fn__3895.class +0 -0
- data/lib/clojure/core$drop_while__3889$step__3891.class +0 -0
- data/lib/clojure/core$drop_while__3889.class +0 -0
- data/lib/clojure/core$empty_QMARK___5084.class +0 -0
- data/lib/clojure/core$empty__4721.class +0 -0
- data/lib/clojure/core$ensure__3765.class +0 -0
- data/lib/clojure/core$enumeration_seq__4935.class +0 -0
- data/lib/clojure/core$escape_class_name__5576.class +0 -0
- data/lib/clojure/core$eval__3990.class +0 -0
- data/lib/clojure/core$eval__4760$fn__4762.class +0 -0
- data/lib/clojure/core$eval__4760.class +0 -0
- data/lib/clojure/core$eval__4772$fn__4774.class +0 -0
- data/lib/clojure/core$eval__4772.class +0 -0
- data/lib/clojure/core$eval__4784$fn__4786.class +0 -0
- data/lib/clojure/core$eval__4784.class +0 -0
- data/lib/clojure/core$eval__4796$fn__4798.class +0 -0
- data/lib/clojure/core$eval__4796.class +0 -0
- data/lib/clojure/core$even_QMARK___3545.class +0 -0
- data/lib/clojure/core$every_QMARK___3806.class +0 -0
- data/lib/clojure/core$false_QMARK___3202.class +0 -0
- data/lib/clojure/core$ffirst__3125.class +0 -0
- data/lib/clojure/core$file_seq__4601$fn__4603.class +0 -0
- data/lib/clojure/core$file_seq__4601$fn__4606.class +0 -0
- data/lib/clojure/core$file_seq__4601.class +0 -0
- data/lib/clojure/core$filter__3845$fn__3851.class +0 -0
- data/lib/clojure/core$filter__3845$step__3847.class +0 -0
- data/lib/clojure/core$filter__3845.class +0 -0
- data/lib/clojure/core$filter_key__4306.class +0 -0
- data/lib/clojure/core$find__3599.class +0 -0
- data/lib/clojure/core$find_doc__4571.class +0 -0
- data/lib/clojure/core$find_field__5583$fn__5585.class +0 -0
- data/lib/clojure/core$find_field__5583.class +0 -0
- data/lib/clojure/core$find_ns__4309.class +0 -0
- data/lib/clojure/core$find_var__3678.class +0 -0
- data/lib/clojure/core$first__3115.class +0 -0
- data/lib/clojure/core$float_QMARK___4124.class +0 -0
- data/lib/clojure/core$float__4071.class +0 -0
- data/lib/clojure/core$float_array__4735.class +0 -0
- data/lib/clojure/core$floats__4766.class +0 -0
- data/lib/clojure/core$flush__4156.class +0 -0
- data/lib/clojure/core$fn_QMARK___5099.class +0 -0
- data/lib/clojure/core$fn__3113.class +0 -0
- data/lib/clojure/core$fn__3288.class +0 -0
- data/lib/clojure/core$fn__3301.class +0 -0
- data/lib/clojure/core$fn__3329.class +0 -0
- data/lib/clojure/core$fn__3338.class +0 -0
- data/lib/clojure/core$fn__3347.class +0 -0
- data/lib/clojure/core$fn__3355.class +0 -0
- data/lib/clojure/core$fn__3363.class +0 -0
- data/lib/clojure/core$fn__3371.class +0 -0
- data/lib/clojure/core$fn__3379.class +0 -0
- data/lib/clojure/core$fn__3387.class +0 -0
- data/lib/clojure/core$fn__3395.class +0 -0
- data/lib/clojure/core$fn__3413.class +0 -0
- data/lib/clojure/core$fn__3419.class +0 -0
- data/lib/clojure/core$fn__3425.class +0 -0
- data/lib/clojure/core$fn__3431.class +0 -0
- data/lib/clojure/core$fn__3437.class +0 -0
- data/lib/clojure/core$fn__3443.class +0 -0
- data/lib/clojure/core$fn__3449.class +0 -0
- data/lib/clojure/core$fn__3455.class +0 -0
- data/lib/clojure/core$fn__3461.class +0 -0
- data/lib/clojure/core$fn__3467.class +0 -0
- data/lib/clojure/core$fn__3473.class +0 -0
- data/lib/clojure/core$fn__3479.class +0 -0
- data/lib/clojure/core$fn__3485.class +0 -0
- data/lib/clojure/core$fn__3500.class +0 -0
- data/lib/clojure/core$fn__3506.class +0 -0
- data/lib/clojure/core$fn__3512.class +0 -0
- data/lib/clojure/core$fn__3518.class +0 -0
- data/lib/clojure/core$fn__4050.class +0 -0
- data/lib/clojure/core$fn__4056.class +0 -0
- data/lib/clojure/core$fn__4062.class +0 -0
- data/lib/clojure/core$fn__4068.class +0 -0
- data/lib/clojure/core$fn__4074.class +0 -0
- data/lib/clojure/core$fn__4080.class +0 -0
- data/lib/clojure/core$fn__4086.class +0 -0
- data/lib/clojure/core$fn__4092.class +0 -0
- data/lib/clojure/core$fn__4098.class +0 -0
- data/lib/clojure/core$fn__4139.class +0 -0
- data/lib/clojure/core$fn__4142.class +0 -0
- data/lib/clojure/core$fn__4202.class +0 -0
- data/lib/clojure/core$fn__4208.class +0 -0
- data/lib/clojure/core$fn__4214.class +0 -0
- data/lib/clojure/core$fn__4221.class +0 -0
- data/lib/clojure/core$fn__4443$psig__4445.class +0 -0
- data/lib/clojure/core$fn__4443.class +0 -0
- data/lib/clojure/core$fn__4732.class +0 -0
- data/lib/clojure/core$fn__4739.class +0 -0
- data/lib/clojure/core$fn__4746.class +0 -0
- data/lib/clojure/core$fn__4753.class +0 -0
- data/lib/clojure/core$fn__4769.class +0 -0
- data/lib/clojure/core$fn__4781.class +0 -0
- data/lib/clojure/core$fn__4793.class +0 -0
- data/lib/clojure/core$fn__4805.class +0 -0
- data/lib/clojure/core$fn__4976.class +0 -0
- data/lib/clojure/core$fn__4980.class +0 -0
- data/lib/clojure/core$fn__4984.class +0 -0
- data/lib/clojure/core$fn__5379$fn__5381.class +0 -0
- data/lib/clojure/core$fn__5379.class +0 -0
- data/lib/clojure/core$fn__5385.class +0 -0
- data/lib/clojure/core$fn__5388.class +0 -0
- data/lib/clojure/core$fn__5394.class +0 -0
- data/lib/clojure/core$fn__5397.class +0 -0
- data/lib/clojure/core$fn__5400.class +0 -0
- data/lib/clojure/core$fn__5403.class +0 -0
- data/lib/clojure/core$fn__5406$fn__5408.class +0 -0
- data/lib/clojure/core$fn__5406.class +0 -0
- data/lib/clojure/core$fn__5412$fn__5414.class +0 -0
- data/lib/clojure/core$fn__5412.class +0 -0
- data/lib/clojure/core$fn__5418.class +0 -0
- data/lib/clojure/core$fn__5421.class +0 -0
- data/lib/clojure/core$fn__5427.class +0 -0
- data/lib/clojure/core$fn__5430.class +0 -0
- data/lib/clojure/core$fn__5433.class +0 -0
- data/lib/clojure/core$fn__5436.class +0 -0
- data/lib/clojure/core$fn__5439.class +0 -0
- data/lib/clojure/core$fn__5442.class +0 -0
- data/lib/clojure/core$fn__5445.class +0 -0
- data/lib/clojure/core$fn__5448.class +0 -0
- data/lib/clojure/core$fn__5453$fn__5455.class +0 -0
- data/lib/clojure/core$fn__5453.class +0 -0
- data/lib/clojure/core$fn__5459.class +0 -0
- data/lib/clojure/core$fn__5462.class +0 -0
- data/lib/clojure/core$fn__5467.class +0 -0
- data/lib/clojure/core$fn__5470.class +0 -0
- data/lib/clojure/core$fn__5479.class +0 -0
- data/lib/clojure/core$fn__5484$fn__5486.class +0 -0
- data/lib/clojure/core$fn__5484.class +0 -0
- data/lib/clojure/core$fn__5490.class +0 -0
- data/lib/clojure/core$fn__5493.class +0 -0
- data/lib/clojure/core$fn__5496.class +0 -0
- data/lib/clojure/core$fn__5500.class +0 -0
- data/lib/clojure/core$fn__5503.class +0 -0
- data/lib/clojure/core$fn__5506.class +0 -0
- data/lib/clojure/core$fn__5509.class +0 -0
- data/lib/clojure/core$fn__5512.class +0 -0
- data/lib/clojure/core$fn__5515.class +0 -0
- data/lib/clojure/core$fn__5518.class +0 -0
- data/lib/clojure/core$fn__5521.class +0 -0
- data/lib/clojure/core$fn__5524.class +0 -0
- data/lib/clojure/core$fn__5527.class +0 -0
- data/lib/clojure/core$fn__5530.class +0 -0
- data/lib/clojure/core$fn__5533.class +0 -0
- data/lib/clojure/core$fn__5536.class +0 -0
- data/lib/clojure/core$fn__5544.class +0 -0
- data/lib/clojure/core$fn__5547.class +0 -0
- data/lib/clojure/core$fn__5550.class +0 -0
- data/lib/clojure/core$fn__5774$prop__5777.class +0 -0
- data/lib/clojure/core$fn__5774.class +0 -0
- data/lib/clojure/core$fnext__3129.class +0 -0
- data/lib/clojure/core$for__4475$emit_bind__4489$do_mod__4495.class +0 -0
- data/lib/clojure/core$for__4475$emit_bind__4489.class +0 -0
- data/lib/clojure/core$for__4475$err__4485.class +0 -0
- data/lib/clojure/core$for__4475$to_groups__4477$fn__4480.class +0 -0
- data/lib/clojure/core$for__4475$to_groups__4477.class +0 -0
- data/lib/clojure/core$for__4475.class +0 -0
- data/lib/clojure/core$force__3281.class +0 -0
- data/lib/clojure/core$format__4938.class +0 -0
- data/lib/clojure/core$future__5722.class +0 -0
- data/lib/clojure/core$future_call__5702$fn__5704.class +0 -0
- data/lib/clojure/core$future_call__5702$fn__5707.class +0 -0
- data/lib/clojure/core$future_call__5702$fn__5710.class +0 -0
- data/lib/clojure/core$future_call__5702$fn__5713.class +0 -0
- data/lib/clojure/core$future_call__5702$fn__5717.class +0 -0
- data/lib/clojure/core$future_call__5702.class +0 -0
- data/lib/clojure/core$gen_class__5679.class +0 -0
- data/lib/clojure/core$gen_interface__5698.class +0 -0
- data/lib/clojure/core$generate_class__5596$arg_types__5608.class +0 -0
- data/lib/clojure/core$generate_class__5596$emit_forwarding_method__5642.class +0 -0
- data/lib/clojure/core$generate_class__5596$emit_get_var__5636.class +0 -0
- data/lib/clojure/core$generate_class__5596$emit_unsupported__5639.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5614.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5619.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5624.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5629$fn__5632.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5629.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5651.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5654.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5657.class +0 -0
- data/lib/clojure/core$generate_class__5596$fn__5664.class +0 -0
- data/lib/clojure/core$generate_class__5596$iname__5599.class +0 -0
- data/lib/clojure/core$generate_class__5596$to_types__5605.class +0 -0
- data/lib/clojure/core$generate_class__5596$totype__5602.class +0 -0
- data/lib/clojure/core$generate_class__5596$var_name__5611.class +0 -0
- data/lib/clojure/core$generate_class__5596.class +0 -0
- data/lib/clojure/core$generate_interface__5689$fn__5692.class +0 -0
- data/lib/clojure/core$generate_interface__5689.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$fn__5209$fn__5212.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$fn__5209.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$fn__5237.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$fn__5240.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$fn__5247.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$fn__5251.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$gen_bridge__5199.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$gen_method__5203.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$iname__5190.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$iter__5221__5225$fn__5226$iter__5223__5228$fn__5229.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$iter__5221__5225$fn__5226$iter__5223__5228.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$iter__5221__5225$fn__5226.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$iter__5221__5225.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$to_types__5196.class +0 -0
- data/lib/clojure/core$generate_proxy__5188$totype__5193.class +0 -0
- data/lib/clojure/core$generate_proxy__5188.class +0 -0
- data/lib/clojure/core$gensym__3233.class +0 -0
- data/lib/clojure/core$get__3585.class +0 -0
- data/lib/clojure/core$get_in__5071.class +0 -0
- data/lib/clojure/core$get_method__3653.class +0 -0
- data/lib/clojure/core$get_proxy_class__5259.class +0 -0
- data/lib/clojure/core$get_super_and_interfaces__5256.class +0 -0
- data/lib/clojure/core$get_validator__3747.class +0 -0
- data/lib/clojure/core$group_by_sig__5170$fn__5173.class +0 -0
- data/lib/clojure/core$group_by_sig__5170.class +0 -0
- data/lib/clojure/core$hash__4710.class +0 -0
- data/lib/clojure/core$hash_map__3173.class +0 -0
- data/lib/clojure/core$hash_set__3177.class +0 -0
- data/lib/clojure/core$identity__3566.class +0 -0
- data/lib/clojure/core$if_let__3663.class +0 -0
- data/lib/clojure/core$if_not__3284.class +0 -0
- data/lib/clojure/core$ifn_QMARK___5096.class +0 -0
- data/lib/clojure/core$import__4028.class +0 -0
- data/lib/clojure/core$inc__3416.class +0 -0
- data/lib/clojure/core$init_proxy__5268.class +0 -0
- data/lib/clojure/core$instance_QMARK___3135.class +0 -0
- data/lib/clojure/core$int__4059.class +0 -0
- data/lib/clojure/core$int_array__4749.class +0 -0
- data/lib/clojure/core$integer_QMARK___4107.class +0 -0
- data/lib/clojure/core$interleave__4383.class +0 -0
- data/lib/clojure/core$intern__5131.class +0 -0
- data/lib/clojure/core$interpose__4713.class +0 -0
- data/lib/clojure/core$into__4037.class +0 -0
- data/lib/clojure/core$into_array__4033.class +0 -0
- data/lib/clojure/core$ints__4778.class +0 -0
- data/lib/clojure/core$io_BANG___3771.class +0 -0
- data/lib/clojure/core$isa_QMARK___4843$fn__4846.class +0 -0
- data/lib/clojure/core$isa_QMARK___4843.class +0 -0
- data/lib/clojure/core$iterate__3922$fn__3924.class +0 -0
- data/lib/clojure/core$iterate__3922.class +0 -0
- data/lib/clojure/core$iterator_seq__4932.class +0 -0
- data/lib/clojure/core$key__3611.class +0 -0
- data/lib/clojure/core$keys__3605.class +0 -0
- data/lib/clojure/core$keyword_QMARK___3222.class +0 -0
- data/lib/clojure/core$keyword__3229.class +0 -0
- data/lib/clojure/core$last__3154.class +0 -0
- data/lib/clojure/core$lazy_cat__4466$fn__4468.class +0 -0
- data/lib/clojure/core$lazy_cat__4466.class +0 -0
- data/lib/clojure/core$lazy_seq__3252.class +0 -0
- data/lib/clojure/core$let__3109.class +0 -0
- data/lib/clojure/core$let__4440.class +0 -0
- data/lib/clojure/core$letfn__5768$fn__5770.class +0 -0
- data/lib/clojure/core$letfn__5768.class +0 -0
- data/lib/clojure/core$libspec_QMARK___4995.class +0 -0
- data/lib/clojure/core$line_seq__3959$fn__3961.class +0 -0
- data/lib/clojure/core$line_seq__3959.class +0 -0
- data/lib/clojure/core$list_QMARK___5090.class +0 -0
- data/lib/clojure/core$list_STAR___3249.class +0 -0
- data/lib/clojure/core$load__5058$fn__5061.class +0 -0
- data/lib/clojure/core$load__5058.class +0 -0
- data/lib/clojure/core$load_all__5019$fn__5021$fn__5023.class +0 -0
- data/lib/clojure/core$load_all__5019$fn__5021$fn__5026.class +0 -0
- data/lib/clojure/core$load_all__5019$fn__5021.class +0 -0
- data/lib/clojure/core$load_all__5019.class +0 -0
- data/lib/clojure/core$load_lib__5031.class +0 -0
- data/lib/clojure/core$load_libs__5043.class +0 -0
- data/lib/clojure/core$load_one__5010$fn__5012.class +0 -0
- data/lib/clojure/core$load_one__5010.class +0 -0
- data/lib/clojure/core$load_reader__4297.class +0 -0
- data/lib/clojure/core$load_string__4300.class +0 -0
- data/lib/clojure/core$loaded_libs__5055.class +0 -0
- data/lib/clojure/core$locking__3627.class +0 -0
- data/lib/clojure/core$long__4065.class +0 -0
- data/lib/clojure/core$long_array__4756.class +0 -0
- data/lib/clojure/core$longs__4802.class +0 -0
- data/lib/clojure/core$loop__3111.class +0 -0
- data/lib/clojure/core$loop__4450$fn__4452.class +0 -0
- data/lib/clojure/core$loop__4450$fn__4456.class +0 -0
- data/lib/clojure/core$loop__4450.class +0 -0
- data/lib/clojure/core$macroexpand_1__4276.class +0 -0
- data/lib/clojure/core$macroexpand__4279.class +0 -0
- data/lib/clojure/core$make_array__4268.class +0 -0
- data/lib/clojure/core$make_hierarchy__4830.class +0 -0
- data/lib/clojure/core$map_QMARK___3141.class +0 -0
- data/lib/clojure/core$map__3815$fn__3817.class +0 -0
- data/lib/clojure/core$map__3815$fn__3822.class +0 -0
- data/lib/clojure/core$map__3815$fn__3827.class +0 -0
- data/lib/clojure/core$map__3815$fn__3838.class +0 -0
- data/lib/clojure/core$map__3815$step__3833$fn__3834.class +0 -0
- data/lib/clojure/core$map__3815$step__3833.class +0 -0
- data/lib/clojure/core$map__3815.class +0 -0
- data/lib/clojure/core$mapcat__3842.class +0 -0
- data/lib/clojure/core$max__3403.class +0 -0
- data/lib/clojure/core$max_key__4628$fn__4632.class +0 -0
- data/lib/clojure/core$max_key__4628.class +0 -0
- data/lib/clojure/core$memfn__4194.class +0 -0
- data/lib/clojure/core$memoize__5138$fn__5140.class +0 -0
- data/lib/clojure/core$memoize__5138.class +0 -0
- data/lib/clojure/core$merge__3938$fn__3940.class +0 -0
- data/lib/clojure/core$merge__3938.class +0 -0
- data/lib/clojure/core$merge_with__3945$merge2__3950.class +0 -0
- data/lib/clojure/core$merge_with__3945$merge_entry__3947.class +0 -0
- data/lib/clojure/core$merge_with__3945.class +0 -0
- data/lib/clojure/core$meta__3150.class +0 -0
- data/lib/clojure/core$method_sig__5156.class +0 -0
- data/lib/clojure/core$methods__3650.class +0 -0
- data/lib/clojure/core$min__3408.class +0 -0
- data/lib/clojure/core$min_key__4638$fn__4642.class +0 -0
- data/lib/clojure/core$min_key__4638.class +0 -0
- data/lib/clojure/core$mod__4114.class +0 -0
- data/lib/clojure/core$most_specific__5160$fn__5162$fn__5164.class +0 -0
- data/lib/clojure/core$most_specific__5160$fn__5162.class +0 -0
- data/lib/clojure/core$most_specific__5160.class +0 -0
- data/lib/clojure/core$name__3620.class +0 -0
- data/lib/clojure/core$namespace__3623.class +0 -0
- data/lib/clojure/core$neg_QMARK___3482.class +0 -0
- data/lib/clojure/core$newline__4153.class +0 -0
- data/lib/clojure/core$next__3117.class +0 -0
- data/lib/clojure/core$nfirst__3127.class +0 -0
- data/lib/clojure/core$nil_QMARK___3199.class +0 -0
- data/lib/clojure/core$nnext__3131.class +0 -0
- data/lib/clojure/core$non_private_methods__5553$fn__5556.class +0 -0
- data/lib/clojure/core$non_private_methods__5553.class +0 -0
- data/lib/clojure/core$not_EQ___3296.class +0 -0
- data/lib/clojure/core$not__3208.class +0 -0
- data/lib/clojure/core$not_empty__4833.class +0 -0
- data/lib/clojure/core$ns__4948$fn__4958.class +0 -0
- data/lib/clojure/core$ns__4948$fn__4961.class +0 -0
- data/lib/clojure/core$ns__4948$fn__4964.class +0 -0
- data/lib/clojure/core$ns__4948$process_reference__4951$fn__4954.class +0 -0
- data/lib/clojure/core$ns__4948$process_reference__4951.class +0 -0
- data/lib/clojure/core$ns__4948.class +0 -0
- data/lib/clojure/core$ns_aliases__4370.class +0 -0
- data/lib/clojure/core$ns_imports__4342.class +0 -0
- data/lib/clojure/core$ns_interns__4360$fn__4362.class +0 -0
- data/lib/clojure/core$ns_interns__4360.class +0 -0
- data/lib/clojure/core$ns_map__4328.class +0 -0
- data/lib/clojure/core$ns_name__4325.class +0 -0
- data/lib/clojure/core$ns_publics__4334$fn__4336.class +0 -0
- data/lib/clojure/core$ns_publics__4334.class +0 -0
- data/lib/clojure/core$ns_refers__4353$fn__4355.class +0 -0
- data/lib/clojure/core$ns_refers__4353.class +0 -0
- data/lib/clojure/core$ns_resolve__4395.class +0 -0
- data/lib/clojure/core$ns_unalias__4373.class +0 -0
- data/lib/clojure/core$ns_unmap__4331.class +0 -0
- data/lib/clojure/core$nth__3578.class +0 -0
- data/lib/clojure/core$nthnext__4405.class +0 -0
- data/lib/clojure/core$num__4053.class +0 -0
- data/lib/clojure/core$number_QMARK___4104.class +0 -0
- data/lib/clojure/core$odd_QMARK___3548.class +0 -0
- data/lib/clojure/core$or__3314.class +0 -0
- data/lib/clojure/core$overload_name__5579.class +0 -0
- data/lib/clojure/core$parents__4861.class +0 -0
- data/lib/clojure/core$partial__3781$fn__3783.class +0 -0
- data/lib/clojure/core$partial__3781$fn__3787.class +0 -0
- data/lib/clojure/core$partial__3781$fn__3791.class +0 -0
- data/lib/clojure/core$partial__3781$fn__3795.class +0 -0
- data/lib/clojure/core$partial__3781.class +0 -0
- data/lib/clojure/core$partition__3982$fn__3985.class +0 -0
- data/lib/clojure/core$partition__3982.class +0 -0
- data/lib/clojure/core$pcalls__5754$fn__5756.class +0 -0
- data/lib/clojure/core$pcalls__5754.class +0 -0
- data/lib/clojure/core$peek__3572.class +0 -0
- data/lib/clojure/core$pmap__5727$fn__5729$fn__5731.class +0 -0
- data/lib/clojure/core$pmap__5727$fn__5729.class +0 -0
- data/lib/clojure/core$pmap__5727$fn__5749.class +0 -0
- data/lib/clojure/core$pmap__5727$step__5736$fn__5738.class +0 -0
- data/lib/clojure/core$pmap__5727$step__5736.class +0 -0
- data/lib/clojure/core$pmap__5727$step__5744$fn__5745.class +0 -0
- data/lib/clojure/core$pmap__5727$step__5744.class +0 -0
- data/lib/clojure/core$pmap__5727.class +0 -0
- data/lib/clojure/core$pop__3575.class +0 -0
- data/lib/clojure/core$pos_QMARK___3476.class +0 -0
- data/lib/clojure/core$pr__4148.class +0 -0
- data/lib/clojure/core$pr_on__4145.class +0 -0
- data/lib/clojure/core$pr_str__4512.class +0 -0
- data/lib/clojure/core$prefer_method__3647.class +0 -0
- data/lib/clojure/core$prefers__3656.class +0 -0
- data/lib/clojure/core$prependss__5001.class +0 -0
- data/lib/clojure/core$print__4162.class +0 -0
- data/lib/clojure/core$print_ctor__5391.class +0 -0
- data/lib/clojure/core$print_doc__4568.class +0 -0
- data/lib/clojure/core$print_map__5473$fn__5475.class +0 -0
- data/lib/clojure/core$print_map__5473.class +0 -0
- data/lib/clojure/core$print_meta__5370.class +0 -0
- data/lib/clojure/core$print_namespace_doc__4587.class +0 -0
- data/lib/clojure/core$print_sequential__5354.class +0 -0
- data/lib/clojure/core$print_simple__5424.class +0 -0
- data/lib/clojure/core$print_special_doc__4584.class +0 -0
- data/lib/clojure/core$print_str__4520.class +0 -0
- data/lib/clojure/core$printf__4941.class +0 -0
- data/lib/clojure/core$println__4165.class +0 -0
- data/lib/clojure/core$println_str__4524.class +0 -0
- data/lib/clojure/core$prn__4159.class +0 -0
- data/lib/clojure/core$prn_str__4516.class +0 -0
- data/lib/clojure/core$proxy__5279$fn__5282.class +0 -0
- data/lib/clojure/core$proxy__5279$fn__5287$fn__5291.class +0 -0
- data/lib/clojure/core$proxy__5279$fn__5287.class +0 -0
- data/lib/clojure/core$proxy__5279.class +0 -0
- data/lib/clojure/core$proxy_call_with_super__5297.class +0 -0
- data/lib/clojure/core$proxy_mappings__5274.class +0 -0
- data/lib/clojure/core$proxy_name__5179$fn__5181.class +0 -0
- data/lib/clojure/core$proxy_name__5179.class +0 -0
- data/lib/clojure/core$proxy_super__5300.class +0 -0
- data/lib/clojure/core$pvalues__5761$fn__5763.class +0 -0
- data/lib/clojure/core$pvalues__5761.class +0 -0
- data/lib/clojure/core$quot__3491.class +0 -0
- data/lib/clojure/core$rand__4558.class +0 -0
- data/lib/clojure/core$rand_int__4562.class +0 -0
- data/lib/clojure/core$range__3928.class +0 -0
- data/lib/clojure/core$ratio_QMARK___4118.class +0 -0
- data/lib/clojure/core$rational_QMARK___4128.class +0 -0
- data/lib/clojure/core$rationalize__3497.class +0 -0
- data/lib/clojure/core$re_find__4554.class +0 -0
- data/lib/clojure/core$re_groups__4540.class +0 -0
- data/lib/clojure/core$re_matcher__4537.class +0 -0
- data/lib/clojure/core$re_matches__4551.class +0 -0
- data/lib/clojure/core$re_pattern__4534.class +0 -0
- data/lib/clojure/core$re_seq__4543$step__4545$fn__4546.class +0 -0
- data/lib/clojure/core$re_seq__4543$step__4545.class +0 -0
- data/lib/clojure/core$re_seq__4543.class +0 -0
- data/lib/clojure/core$read__4168.class +0 -0
- data/lib/clojure/core$read_line__4174.class +0 -0
- data/lib/clojure/core$read_string__4177.class +0 -0
- data/lib/clojure/core$reduce__3319$fn__3322.class +0 -0
- data/lib/clojure/core$reduce__3319.class +0 -0
- data/lib/clojure/core$ref__3721.class +0 -0
- data/lib/clojure/core$ref_set__3762.class +0 -0
- data/lib/clojure/core$refer__4345.class +0 -0
- data/lib/clojure/core$refer_clojure__4969.class +0 -0
- data/lib/clojure/core$release_pending_sends__3694.class +0 -0
- data/lib/clojure/core$rem__3494.class +0 -0
- data/lib/clojure/core$remove__3855.class +0 -0
- data/lib/clojure/core$remove_method__3644.class +0 -0
- data/lib/clojure/core$remove_ns__4315.class +0 -0
- data/lib/clojure/core$remove_watch__3700.class +0 -0
- data/lib/clojure/core$remove_watcher__3709.class +0 -0
- data/lib/clojure/core$repeat__3912$fn__3914.class +0 -0
- data/lib/clojure/core$repeat__3912.class +0 -0
- data/lib/clojure/core$repeatedly__4701$fn__4703.class +0 -0
- data/lib/clojure/core$repeatedly__4701.class +0 -0
- data/lib/clojure/core$replace__4661$fn__4663.class +0 -0
- data/lib/clojure/core$replace__4661$fn__4667.class +0 -0
- data/lib/clojure/core$replace__4661.class +0 -0
- data/lib/clojure/core$replicate__3919.class +0 -0
- data/lib/clojure/core$require__5049.class +0 -0
- data/lib/clojure/core$reset_BANG___3741.class +0 -0
- data/lib/clojure/core$reset_meta_BANG___3753.class +0 -0
- data/lib/clojure/core$resolve__4398.class +0 -0
- data/lib/clojure/core$rest__3119.class +0 -0
- data/lib/clojure/core$resultset_seq__4911$fn__4913.class +0 -0
- data/lib/clojure/core$resultset_seq__4911$fn__4916.class +0 -0
- data/lib/clojure/core$resultset_seq__4911$row_values__4919$fn__4921.class +0 -0
- data/lib/clojure/core$resultset_seq__4911$row_values__4919.class +0 -0
- data/lib/clojure/core$resultset_seq__4911$thisfn__4925$fn__4926.class +0 -0
- data/lib/clojure/core$resultset_seq__4911$thisfn__4925.class +0 -0
- data/lib/clojure/core$resultset_seq__4911.class +0 -0
- data/lib/clojure/core$reverse__3326.class +0 -0
- data/lib/clojure/core$reversible_QMARK___5114.class +0 -0
- data/lib/clojure/core$root_directory__5007.class +0 -0
- data/lib/clojure/core$root_resource__5004.class +0 -0
- data/lib/clojure/core$rseq__3617.class +0 -0
- data/lib/clojure/core$rsubseq__4693.class +0 -0
- data/lib/clojure/core$second__3123.class +0 -0
- data/lib/clojure/core$select_keys__3602.class +0 -0
- data/lib/clojure/core$send__3688.class +0 -0
- data/lib/clojure/core$send_off__3691.class +0 -0
- data/lib/clojure/core$seq_QMARK___3137.class +0 -0
- data/lib/clojure/core$seq__3133.class +0 -0
- data/lib/clojure/core$seque__4808$drain__4818$fn__4819.class +0 -0
- data/lib/clojure/core$seque__4808$drain__4818.class +0 -0
- data/lib/clojure/core$seque__4808$fill__4811.class +0 -0
- data/lib/clojure/core$seque__4808.class +0 -0
- data/lib/clojure/core$sequence__3802.class +0 -0
- data/lib/clojure/core$sequential_QMARK___5105.class +0 -0
- data/lib/clojure/core$set_QMARK___5093.class +0 -0
- data/lib/clojure/core$set__4303.class +0 -0
- data/lib/clojure/core$set_validator_BANG___3744.class +0 -0
- data/lib/clojure/core$setup_reference__3681.class +0 -0
- data/lib/clojure/core$short__4083.class +0 -0
- data/lib/clojure/core$shutdown_agents__3718.class +0 -0
- data/lib/clojure/core$sigs__3145.class +0 -0
- data/lib/clojure/core$slurp__4619.class +0 -0
- data/lib/clojure/core$some__3810.class +0 -0
- data/lib/clojure/core$sort__3971.class +0 -0
- data/lib/clojure/core$sort_by__3975$fn__3978.class +0 -0
- data/lib/clojure/core$sort_by__3975.class +0 -0
- data/lib/clojure/core$sorted_QMARK___5108.class +0 -0
- data/lib/clojure/core$sorted_map__3181.class +0 -0
- data/lib/clojure/core$sorted_map_by__3187.class +0 -0
- data/lib/clojure/core$sorted_set__3184.class +0 -0
- data/lib/clojure/core$special_form_anchor__4578.class +0 -0
- data/lib/clojure/core$special_symbol_QMARK___4613.class +0 -0
- data/lib/clojure/core$split_at__3906.class +0 -0
- data/lib/clojure/core$split_with__3909.class +0 -0
- data/lib/clojure/core$spread__3240.class +0 -0
- data/lib/clojure/core$str__3211$fn__3215.class +0 -0
- data/lib/clojure/core$str__3211.class +0 -0
- data/lib/clojure/core$stream_QMARK___3799.class +0 -0
- data/lib/clojure/core$string_QMARK___3139.class +0 -0
- data/lib/clojure/core$struct__4291.class +0 -0
- data/lib/clojure/core$struct_map__4288.class +0 -0
- data/lib/clojure/core$subs__4622.class +0 -0
- data/lib/clojure/core$subseq__4685.class +0 -0
- data/lib/clojure/core$subvec__4180.class +0 -0
- data/lib/clojure/core$supers__4839.class +0 -0
- data/lib/clojure/core$swap_BANG___3732.class +0 -0
- data/lib/clojure/core$symbol_QMARK___3219.class +0 -0
- data/lib/clojure/core$symbol__3225.class +0 -0
- data/lib/clojure/core$sync__3768.class +0 -0
- data/lib/clojure/core$syntax_symbol_anchor__4581.class +0 -0
- data/lib/clojure/core$take__3858$fn__3860.class +0 -0
- data/lib/clojure/core$take__3858.class +0 -0
- data/lib/clojure/core$take_nth__4376$fn__4378.class +0 -0
- data/lib/clojure/core$take_nth__4376.class +0 -0
- data/lib/clojure/core$take_while__3865$fn__3867.class +0 -0
- data/lib/clojure/core$take_while__3865.class +0 -0
- data/lib/clojure/core$test__4531.class +0 -0
- data/lib/clojure/core$the_class__5590.class +0 -0
- data/lib/clojure/core$the_ns__4321.class +0 -0
- data/lib/clojure/core$throw_if__4989$boring_QMARK___4991.class +0 -0
- data/lib/clojure/core$throw_if__4989.class +0 -0
- data/lib/clojure/core$time__4199.class +0 -0
- data/lib/clojure/core$to_array_2d__4273.class +0 -0
- data/lib/clojure/core$to_array__3163.class +0 -0
- data/lib/clojure/core$trampoline__5124$fn__5127.class +0 -0
- data/lib/clojure/core$trampoline__5124.class +0 -0
- data/lib/clojure/core$tree_seq__4593$walk__4595$fn__4596.class +0 -0
- data/lib/clojure/core$tree_seq__4593$walk__4595.class +0 -0
- data/lib/clojure/core$tree_seq__4593.class +0 -0
- data/lib/clojure/core$true_QMARK___3205.class +0 -0
- data/lib/clojure/core$type__4046.class +0 -0
- data/lib/clojure/core$unchecked_add__3446.class +0 -0
- data/lib/clojure/core$unchecked_dec__3434.class +0 -0
- data/lib/clojure/core$unchecked_divide__3464.class +0 -0
- data/lib/clojure/core$unchecked_inc__3428.class +0 -0
- data/lib/clojure/core$unchecked_multiply__3458.class +0 -0
- data/lib/clojure/core$unchecked_negate__3440.class +0 -0
- data/lib/clojure/core$unchecked_remainder__3470.class +0 -0
- data/lib/clojure/core$unchecked_subtract__3452.class +0 -0
- data/lib/clojure/core$underive__4891$tf__4894$fn__4896.class +0 -0
- data/lib/clojure/core$underive__4891$tf__4894.class +0 -0
- data/lib/clojure/core$underive__4891.class +0 -0
- data/lib/clojure/core$update_in__5080.class +0 -0
- data/lib/clojure/core$update_proxy__5271.class +0 -0
- data/lib/clojure/core$use__5052.class +0 -0
- data/lib/clojure/core$val__3614.class +0 -0
- data/lib/clojure/core$vals__3608.class +0 -0
- data/lib/clojure/core$var_QMARK___4616.class +0 -0
- data/lib/clojure/core$var_get__4386.class +0 -0
- data/lib/clojure/core$var_set__4389.class +0 -0
- data/lib/clojure/core$vary_meta__3246.class +0 -0
- data/lib/clojure/core$vec__3170.class +0 -0
- data/lib/clojure/core$vector_QMARK___3143.class +0 -0
- data/lib/clojure/core$vector__3166.class +0 -0
- data/lib/clojure/core$when__3193.class +0 -0
- data/lib/clojure/core$when_first__4461.class +0 -0
- data/lib/clojure/core$when_let__3669.class +0 -0
- data/lib/clojure/core$when_not__3196.class +0 -0
- data/lib/clojure/core$while__5135.class +0 -0
- data/lib/clojure/core$with_in_str__4509.class +0 -0
- data/lib/clojure/core$with_local_vars__4392.class +0 -0
- data/lib/clojure/core$with_meta__3152.class +0 -0
- data/lib/clojure/core$with_open__4184.class +0 -0
- data/lib/clojure/core$with_out_str__4505.class +0 -0
- data/lib/clojure/core$with_precision__4675.class +0 -0
- data/lib/clojure/core$xml_seq__4610.class +0 -0
- data/lib/clojure/core$zero_QMARK___3488.class +0 -0
- data/lib/clojure/core$zipmap__3955.class +0 -0
- data/lib/clojure/core.clj +4121 -0
- data/lib/clojure/core__init.class +0 -0
- data/lib/clojure/core_print.clj +317 -0
- data/lib/clojure/core_print__init.class +0 -0
- data/lib/clojure/core_proxy.clj +394 -0
- data/lib/clojure/core_proxy__init.class +0 -0
- data/lib/clojure/genclass.clj +683 -0
- data/lib/clojure/genclass__init.class +0 -0
- data/lib/clojure/inspector$atom_QMARK___6181.class +0 -0
- data/lib/clojure/inspector$collection_tag__6184.class +0 -0
- data/lib/clojure/inspector$fn__6187.class +0 -0
- data/lib/clojure/inspector$fn__6190.class +0 -0
- data/lib/clojure/inspector$fn__6193.class +0 -0
- data/lib/clojure/inspector$fn__6196.class +0 -0
- data/lib/clojure/inspector$fn__6199.class +0 -0
- data/lib/clojure/inspector$fn__6202.class +0 -0
- data/lib/clojure/inspector$fn__6205.class +0 -0
- data/lib/clojure/inspector$fn__6208.class +0 -0
- data/lib/clojure/inspector$fn__6211.class +0 -0
- data/lib/clojure/inspector$fn__6278$fn__6280.class +0 -0
- data/lib/clojure/inspector$fn__6278$fn__6283.class +0 -0
- data/lib/clojure/inspector$fn__6278.class +0 -0
- data/lib/clojure/inspector$fn__6287$fn__6289.class +0 -0
- data/lib/clojure/inspector$fn__6287$fn__6292.class +0 -0
- data/lib/clojure/inspector$fn__6287.class +0 -0
- data/lib/clojure/inspector$fn__6296$fn__6299.class +0 -0
- data/lib/clojure/inspector$fn__6296$fn__6303.class +0 -0
- data/lib/clojure/inspector$fn__6296$fn__6306.class +0 -0
- data/lib/clojure/inspector$fn__6296.class +0 -0
- data/lib/clojure/inspector$fn__6324$fn__6326.class +0 -0
- data/lib/clojure/inspector$fn__6324$fn__6329.class +0 -0
- data/lib/clojure/inspector$fn__6324$fn__6332.class +0 -0
- data/lib/clojure/inspector$fn__6324.class +0 -0
- data/lib/clojure/inspector$inspect__6337.class +0 -0
- data/lib/clojure/inspector$inspect_table__6274.class +0 -0
- data/lib/clojure/inspector$inspect_tree__6270.class +0 -0
- data/lib/clojure/inspector$list_model__6310$fn__6313.class +0 -0
- data/lib/clojure/inspector$list_model__6310$fn__6316.class +0 -0
- data/lib/clojure/inspector$list_model__6310$fn__6319.class +0 -0
- data/lib/clojure/inspector$list_model__6310.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242$fn__6244.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242$fn__6247.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242$fn__6250.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242$fn__6253.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242$fn__6256.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242$fn__6259.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242$fn__6262.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242$fn__6265.class +0 -0
- data/lib/clojure/inspector$old_table_model__6242.class +0 -0
- data/lib/clojure/inspector$tree_model__6214$fn__6216.class +0 -0
- data/lib/clojure/inspector$tree_model__6214$fn__6219.class +0 -0
- data/lib/clojure/inspector$tree_model__6214$fn__6222.class +0 -0
- data/lib/clojure/inspector$tree_model__6214$fn__6225.class +0 -0
- data/lib/clojure/inspector$tree_model__6214$fn__6228.class +0 -0
- data/lib/clojure/inspector$tree_model__6214$fn__6231.class +0 -0
- data/lib/clojure/inspector$tree_model__6214$fn__6234.class +0 -0
- data/lib/clojure/inspector$tree_model__6214$fn__6237.class +0 -0
- data/lib/clojure/inspector$tree_model__6214.class +0 -0
- data/lib/clojure/inspector.clj +180 -0
- data/lib/clojure/inspector__init.class +0 -0
- data/lib/clojure/lang/AFn.class +0 -0
- data/lib/clojure/lang/AFunction.class +0 -0
- data/lib/clojure/lang/AMapEntry.class +0 -0
- data/lib/clojure/lang/APersistentMap$1.class +0 -0
- data/lib/clojure/lang/APersistentMap$2$1.class +0 -0
- data/lib/clojure/lang/APersistentMap$2.class +0 -0
- data/lib/clojure/lang/APersistentMap$3$1.class +0 -0
- data/lib/clojure/lang/APersistentMap$3.class +0 -0
- data/lib/clojure/lang/APersistentMap$KeySeq.class +0 -0
- data/lib/clojure/lang/APersistentMap$ValSeq.class +0 -0
- data/lib/clojure/lang/APersistentMap.class +0 -0
- data/lib/clojure/lang/APersistentSet.class +0 -0
- data/lib/clojure/lang/APersistentVector$1.class +0 -0
- data/lib/clojure/lang/APersistentVector$2.class +0 -0
- data/lib/clojure/lang/APersistentVector$RSeq.class +0 -0
- data/lib/clojure/lang/APersistentVector$Seq.class +0 -0
- data/lib/clojure/lang/APersistentVector$Src.class +0 -0
- data/lib/clojure/lang/APersistentVector$SubVector.class +0 -0
- data/lib/clojure/lang/APersistentVector.class +0 -0
- data/lib/clojure/lang/ARef.class +0 -0
- data/lib/clojure/lang/AReference.class +0 -0
- data/lib/clojure/lang/ASeq$Src.class +0 -0
- data/lib/clojure/lang/ASeq.class +0 -0
- data/lib/clojure/lang/Agent$Action.class +0 -0
- data/lib/clojure/lang/Agent.class +0 -0
- data/lib/clojure/lang/ArraySeq$ArraySeq_double.class +0 -0
- data/lib/clojure/lang/ArraySeq$ArraySeq_float.class +0 -0
- data/lib/clojure/lang/ArraySeq$ArraySeq_int.class +0 -0
- data/lib/clojure/lang/ArraySeq$ArraySeq_long.class +0 -0
- data/lib/clojure/lang/ArraySeq.class +0 -0
- data/lib/clojure/lang/ArrayStream$ArrayStream_boolean.class +0 -0
- data/lib/clojure/lang/ArrayStream$ArrayStream_byte.class +0 -0
- data/lib/clojure/lang/ArrayStream$ArrayStream_char.class +0 -0
- data/lib/clojure/lang/ArrayStream$ArrayStream_double.class +0 -0
- data/lib/clojure/lang/ArrayStream$ArrayStream_float.class +0 -0
- data/lib/clojure/lang/ArrayStream$ArrayStream_int.class +0 -0
- data/lib/clojure/lang/ArrayStream$ArrayStream_long.class +0 -0
- data/lib/clojure/lang/ArrayStream$ArrayStream_short.class +0 -0
- data/lib/clojure/lang/ArrayStream.class +0 -0
- data/lib/clojure/lang/Associative.class +0 -0
- data/lib/clojure/lang/Atom.class +0 -0
- data/lib/clojure/lang/Binding.class +0 -0
- data/lib/clojure/lang/Box.class +0 -0
- data/lib/clojure/lang/Compile.class +0 -0
- data/lib/clojure/lang/Compiler$1.class +0 -0
- data/lib/clojure/lang/Compiler$AssignExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$AssignExpr.class +0 -0
- data/lib/clojure/lang/Compiler$AssignableExpr.class +0 -0
- data/lib/clojure/lang/Compiler$BindingInit.class +0 -0
- data/lib/clojure/lang/Compiler$BodyExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$BodyExpr.class +0 -0
- data/lib/clojure/lang/Compiler$BooleanExpr.class +0 -0
- data/lib/clojure/lang/Compiler$C.class +0 -0
- data/lib/clojure/lang/Compiler$CompilerException.class +0 -0
- data/lib/clojure/lang/Compiler$ConstantExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$ConstantExpr.class +0 -0
- data/lib/clojure/lang/Compiler$DefExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$DefExpr.class +0 -0
- data/lib/clojure/lang/Compiler$EmptyExpr.class +0 -0
- data/lib/clojure/lang/Compiler$Expr.class +0 -0
- data/lib/clojure/lang/Compiler$FieldExpr.class +0 -0
- data/lib/clojure/lang/Compiler$FnExpr.class +0 -0
- data/lib/clojure/lang/Compiler$FnLoaderThunk.class +0 -0
- data/lib/clojure/lang/Compiler$FnMethod.class +0 -0
- data/lib/clojure/lang/Compiler$HostExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$HostExpr.class +0 -0
- data/lib/clojure/lang/Compiler$IParser.class +0 -0
- data/lib/clojure/lang/Compiler$IfExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$IfExpr.class +0 -0
- data/lib/clojure/lang/Compiler$InstanceFieldExpr.class +0 -0
- data/lib/clojure/lang/Compiler$InstanceMethodExpr.class +0 -0
- data/lib/clojure/lang/Compiler$InvokeExpr.class +0 -0
- data/lib/clojure/lang/Compiler$KeywordExpr.class +0 -0
- data/lib/clojure/lang/Compiler$LetExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$LetExpr.class +0 -0
- data/lib/clojure/lang/Compiler$LetFnExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$LetFnExpr.class +0 -0
- data/lib/clojure/lang/Compiler$ListExpr.class +0 -0
- data/lib/clojure/lang/Compiler$LiteralExpr.class +0 -0
- data/lib/clojure/lang/Compiler$LocalBinding.class +0 -0
- data/lib/clojure/lang/Compiler$LocalBindingExpr.class +0 -0
- data/lib/clojure/lang/Compiler$MapExpr.class +0 -0
- data/lib/clojure/lang/Compiler$MaybePrimitiveExpr.class +0 -0
- data/lib/clojure/lang/Compiler$MetaExpr.class +0 -0
- data/lib/clojure/lang/Compiler$MethodExpr.class +0 -0
- data/lib/clojure/lang/Compiler$MonitorEnterExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$MonitorEnterExpr.class +0 -0
- data/lib/clojure/lang/Compiler$MonitorExitExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$MonitorExitExpr.class +0 -0
- data/lib/clojure/lang/Compiler$NewExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$NewExpr.class +0 -0
- data/lib/clojure/lang/Compiler$NilExpr.class +0 -0
- data/lib/clojure/lang/Compiler$PSTATE.class +0 -0
- data/lib/clojure/lang/Compiler$RecurExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$RecurExpr.class +0 -0
- data/lib/clojure/lang/Compiler$SetExpr.class +0 -0
- data/lib/clojure/lang/Compiler$SourceDebugExtensionAttribute.class +0 -0
- data/lib/clojure/lang/Compiler$StaticFieldExpr.class +0 -0
- data/lib/clojure/lang/Compiler$StaticMethodExpr.class +0 -0
- data/lib/clojure/lang/Compiler$StringExpr.class +0 -0
- data/lib/clojure/lang/Compiler$TheVarExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$TheVarExpr.class +0 -0
- data/lib/clojure/lang/Compiler$ThrowExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$ThrowExpr.class +0 -0
- data/lib/clojure/lang/Compiler$TryExpr$CatchClause.class +0 -0
- data/lib/clojure/lang/Compiler$TryExpr$Parser.class +0 -0
- data/lib/clojure/lang/Compiler$TryExpr.class +0 -0
- data/lib/clojure/lang/Compiler$UnresolvedVarExpr.class +0 -0
- data/lib/clojure/lang/Compiler$UntypedExpr.class +0 -0
- data/lib/clojure/lang/Compiler$VarExpr.class +0 -0
- data/lib/clojure/lang/Compiler$VectorExpr.class +0 -0
- data/lib/clojure/lang/Compiler.class +0 -0
- data/lib/clojure/lang/Cons.class +0 -0
- data/lib/clojure/lang/Counted.class +0 -0
- data/lib/clojure/lang/Delay.class +0 -0
- data/lib/clojure/lang/DynamicClassLoader.class +0 -0
- data/lib/clojure/lang/EnumerationSeq$State.class +0 -0
- data/lib/clojure/lang/EnumerationSeq.class +0 -0
- data/lib/clojure/lang/Fn.class +0 -0
- data/lib/clojure/lang/IDeref.class +0 -0
- data/lib/clojure/lang/IFn.class +0 -0
- data/lib/clojure/lang/IMapEntry.class +0 -0
- data/lib/clojure/lang/IMeta.class +0 -0
- data/lib/clojure/lang/IObj.class +0 -0
- data/lib/clojure/lang/IPersistentCollection.class +0 -0
- data/lib/clojure/lang/IPersistentList.class +0 -0
- data/lib/clojure/lang/IPersistentMap.class +0 -0
- data/lib/clojure/lang/IPersistentSet.class +0 -0
- data/lib/clojure/lang/IPersistentStack.class +0 -0
- data/lib/clojure/lang/IPersistentVector.class +0 -0
- data/lib/clojure/lang/IProxy.class +0 -0
- data/lib/clojure/lang/IReduce.class +0 -0
- data/lib/clojure/lang/IRef.class +0 -0
- data/lib/clojure/lang/IReference.class +0 -0
- data/lib/clojure/lang/ISeq.class +0 -0
- data/lib/clojure/lang/IndexedSeq.class +0 -0
- data/lib/clojure/lang/IteratorSeq$State.class +0 -0
- data/lib/clojure/lang/IteratorSeq.class +0 -0
- data/lib/clojure/lang/IteratorStream.class +0 -0
- data/lib/clojure/lang/Keyword.class +0 -0
- data/lib/clojure/lang/LazilyPersistentVector.class +0 -0
- data/lib/clojure/lang/LazySeq.class +0 -0
- data/lib/clojure/lang/LineNumberingPushbackReader.class +0 -0
- data/lib/clojure/lang/LispReader$ArgReader.class +0 -0
- data/lib/clojure/lang/LispReader$CharacterReader.class +0 -0
- data/lib/clojure/lang/LispReader$CommentReader.class +0 -0
- data/lib/clojure/lang/LispReader$CtorReader.class +0 -0
- data/lib/clojure/lang/LispReader$DiscardReader.class +0 -0
- data/lib/clojure/lang/LispReader$DispatchReader.class +0 -0
- data/lib/clojure/lang/LispReader$EvalReader.class +0 -0
- data/lib/clojure/lang/LispReader$FnReader.class +0 -0
- data/lib/clojure/lang/LispReader$ListReader.class +0 -0
- data/lib/clojure/lang/LispReader$MapReader.class +0 -0
- data/lib/clojure/lang/LispReader$MetaReader.class +0 -0
- data/lib/clojure/lang/LispReader$ReaderException.class +0 -0
- data/lib/clojure/lang/LispReader$RegexReader.class +0 -0
- data/lib/clojure/lang/LispReader$SetReader.class +0 -0
- data/lib/clojure/lang/LispReader$StringReader.class +0 -0
- data/lib/clojure/lang/LispReader$SyntaxQuoteReader.class +0 -0
- data/lib/clojure/lang/LispReader$UnmatchedDelimiterReader.class +0 -0
- data/lib/clojure/lang/LispReader$UnquoteReader.class +0 -0
- data/lib/clojure/lang/LispReader$UnreadableReader.class +0 -0
- data/lib/clojure/lang/LispReader$VarReader.class +0 -0
- data/lib/clojure/lang/LispReader$VectorReader.class +0 -0
- data/lib/clojure/lang/LispReader$WrappingReader.class +0 -0
- data/lib/clojure/lang/LispReader.class +0 -0
- data/lib/clojure/lang/LockingTransaction$AbortException.class +0 -0
- data/lib/clojure/lang/LockingTransaction$CFn.class +0 -0
- data/lib/clojure/lang/LockingTransaction$Info.class +0 -0
- data/lib/clojure/lang/LockingTransaction$Notify.class +0 -0
- data/lib/clojure/lang/LockingTransaction$RetryEx.class +0 -0
- data/lib/clojure/lang/LockingTransaction.class +0 -0
- data/lib/clojure/lang/MapEntry.class +0 -0
- data/lib/clojure/lang/MultiFn.class +0 -0
- data/lib/clojure/lang/Named.class +0 -0
- data/lib/clojure/lang/Namespace.class +0 -0
- data/lib/clojure/lang/Numbers$BigDecimalOps.class +0 -0
- data/lib/clojure/lang/Numbers$BigIntegerBitOps.class +0 -0
- data/lib/clojure/lang/Numbers$BigIntegerOps.class +0 -0
- data/lib/clojure/lang/Numbers$BitOps.class +0 -0
- data/lib/clojure/lang/Numbers$DoubleOps.class +0 -0
- data/lib/clojure/lang/Numbers$FloatOps.class +0 -0
- data/lib/clojure/lang/Numbers$IntegerBitOps.class +0 -0
- data/lib/clojure/lang/Numbers$IntegerOps.class +0 -0
- data/lib/clojure/lang/Numbers$LongBitOps.class +0 -0
- data/lib/clojure/lang/Numbers$LongOps.class +0 -0
- data/lib/clojure/lang/Numbers$Ops.class +0 -0
- data/lib/clojure/lang/Numbers$RatioOps.class +0 -0
- data/lib/clojure/lang/Numbers.class +0 -0
- data/lib/clojure/lang/Obj.class +0 -0
- data/lib/clojure/lang/PersistentArrayMap$Iter.class +0 -0
- data/lib/clojure/lang/PersistentArrayMap$Seq.class +0 -0
- data/lib/clojure/lang/PersistentArrayMap.class +0 -0
- data/lib/clojure/lang/PersistentHashMap$BitmapIndexedNode$Seq.class +0 -0
- data/lib/clojure/lang/PersistentHashMap$BitmapIndexedNode.class +0 -0
- data/lib/clojure/lang/PersistentHashMap$EmptyNode.class +0 -0
- data/lib/clojure/lang/PersistentHashMap$FullNode$Seq.class +0 -0
- data/lib/clojure/lang/PersistentHashMap$FullNode.class +0 -0
- data/lib/clojure/lang/PersistentHashMap$HashCollisionNode.class +0 -0
- data/lib/clojure/lang/PersistentHashMap$INode.class +0 -0
- data/lib/clojure/lang/PersistentHashMap$LeafNode.class +0 -0
- data/lib/clojure/lang/PersistentHashMap.class +0 -0
- data/lib/clojure/lang/PersistentHashSet.class +0 -0
- data/lib/clojure/lang/PersistentList$1.class +0 -0
- data/lib/clojure/lang/PersistentList$EmptyList$1.class +0 -0
- data/lib/clojure/lang/PersistentList$EmptyList.class +0 -0
- data/lib/clojure/lang/PersistentList.class +0 -0
- data/lib/clojure/lang/PersistentQueue$Seq.class +0 -0
- data/lib/clojure/lang/PersistentQueue.class +0 -0
- data/lib/clojure/lang/PersistentStructMap$1.class +0 -0
- data/lib/clojure/lang/PersistentStructMap$Def.class +0 -0
- data/lib/clojure/lang/PersistentStructMap$Seq.class +0 -0
- data/lib/clojure/lang/PersistentStructMap.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$Black.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$BlackBranch.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$BlackBranchVal.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$BlackVal.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$KeyIterator.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$Node.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$NodeIterator.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$Red.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$RedBranch.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$RedBranchVal.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$RedVal.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$Seq.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap$ValIterator.class +0 -0
- data/lib/clojure/lang/PersistentTreeMap.class +0 -0
- data/lib/clojure/lang/PersistentTreeSet.class +0 -0
- data/lib/clojure/lang/PersistentVector.class +0 -0
- data/lib/clojure/lang/ProxyHandler.class +0 -0
- data/lib/clojure/lang/RT$1.class +0 -0
- data/lib/clojure/lang/RT$2.class +0 -0
- data/lib/clojure/lang/RT$3.class +0 -0
- data/lib/clojure/lang/RT$4.class +0 -0
- data/lib/clojure/lang/RT$5.class +0 -0
- data/lib/clojure/lang/RT$6.class +0 -0
- data/lib/clojure/lang/RT.class +0 -0
- data/lib/clojure/lang/Range$Src.class +0 -0
- data/lib/clojure/lang/Range.class +0 -0
- data/lib/clojure/lang/Ratio.class +0 -0
- data/lib/clojure/lang/Ref$TVal.class +0 -0
- data/lib/clojure/lang/Ref.class +0 -0
- data/lib/clojure/lang/Reflector.class +0 -0
- data/lib/clojure/lang/Repl.class +0 -0
- data/lib/clojure/lang/RestFn.class +0 -0
- data/lib/clojure/lang/Reversible.class +0 -0
- data/lib/clojure/lang/Script.class +0 -0
- data/lib/clojure/lang/SeqEnumeration.class +0 -0
- data/lib/clojure/lang/SeqIterator.class +0 -0
- data/lib/clojure/lang/Seqable.class +0 -0
- data/lib/clojure/lang/Sequential.class +0 -0
- data/lib/clojure/lang/Settable.class +0 -0
- data/lib/clojure/lang/Sorted.class +0 -0
- data/lib/clojure/lang/Stream$1.class +0 -0
- data/lib/clojure/lang/Stream$2.class +0 -0
- data/lib/clojure/lang/Stream.class +0 -0
- data/lib/clojure/lang/Streamable.class +0 -0
- data/lib/clojure/lang/StringSeq.class +0 -0
- data/lib/clojure/lang/Symbol.class +0 -0
- data/lib/clojure/lang/TransactionalHashMap$1.class +0 -0
- data/lib/clojure/lang/TransactionalHashMap.class +0 -0
- data/lib/clojure/lang/Util.class +0 -0
- data/lib/clojure/lang/Var$1.class +0 -0
- data/lib/clojure/lang/Var$2.class +0 -0
- data/lib/clojure/lang/Var$Frame.class +0 -0
- data/lib/clojure/lang/Var.class +0 -0
- data/lib/clojure/lang/XMLHandler.class +0 -0
- data/lib/clojure/main$eval_opt__5839.class +0 -0
- data/lib/clojure/main$help_opt__5871.class +0 -0
- data/lib/clojure/main$init_dispatch__5843.class +0 -0
- data/lib/clojure/main$init_opt__5836.class +0 -0
- data/lib/clojure/main$initialize__5846.class +0 -0
- data/lib/clojure/main$legacy_repl__5878.class +0 -0
- data/lib/clojure/main$legacy_script__5883.class +0 -0
- data/lib/clojure/main$load_script__5833.class +0 -0
- data/lib/clojure/main$main__5888.class +0 -0
- data/lib/clojure/main$main_dispatch__5874.class +0 -0
- data/lib/clojure/main$null_opt__5868.class +0 -0
- data/lib/clojure/main$repl__5813$fn__5816.class +0 -0
- data/lib/clojure/main$repl__5813$fn__5819.class +0 -0
- data/lib/clojure/main$repl__5813$fn__5822.class +0 -0
- data/lib/clojure/main$repl__5813$fn__5829.class +0 -0
- data/lib/clojure/main$repl__5813$read_eval_print__5825.class +0 -0
- data/lib/clojure/main$repl__5813.class +0 -0
- data/lib/clojure/main$repl_caught__5810.class +0 -0
- data/lib/clojure/main$repl_exception__5807.class +0 -0
- data/lib/clojure/main$repl_opt__5853$fn__5856.class +0 -0
- data/lib/clojure/main$repl_opt__5853$fn__5859.class +0 -0
- data/lib/clojure/main$repl_opt__5853.class +0 -0
- data/lib/clojure/main$repl_prompt__5789.class +0 -0
- data/lib/clojure/main$repl_read__5799.class +0 -0
- data/lib/clojure/main$root_cause__5803.class +0 -0
- data/lib/clojure/main$script_opt__5864.class +0 -0
- data/lib/clojure/main$skip_if_eol__5792.class +0 -0
- data/lib/clojure/main$skip_whitespace__5795.class +0 -0
- data/lib/clojure/main$with_bindings__5786.class +0 -0
- data/lib/clojure/main.class +0 -0
- data/lib/clojure/main.clj +337 -0
- data/lib/clojure/main__init.class +0 -0
- data/lib/clojure/parallel.clj +248 -0
- data/lib/clojure/proxy/clojure/lang/APersistentMap.class +0 -0
- data/lib/clojure/proxy/java/lang/Object$ContentHandler.class +0 -0
- data/lib/clojure/proxy/java/lang/Object$Future$IDeref.class +0 -0
- data/lib/clojure/proxy/java/lang/Object$TableModel.class +0 -0
- data/lib/clojure/proxy/java/lang/Object$TreeModel.class +0 -0
- data/lib/clojure/proxy/javax/swing/table/AbstractTableModel.class +0 -0
- data/lib/clojure/set$bubble_max_key__5896$fn__5898.class +0 -0
- data/lib/clojure/set$bubble_max_key__5896.class +0 -0
- data/lib/clojure/set$difference__5920$fn__5923.class +0 -0
- data/lib/clojure/set$difference__5920.class +0 -0
- data/lib/clojure/set$index__5956$fn__5958.class +0 -0
- data/lib/clojure/set$index__5956.class +0 -0
- data/lib/clojure/set$intersection__5909$fn__5912.class +0 -0
- data/lib/clojure/set$intersection__5909$fn__5916.class +0 -0
- data/lib/clojure/set$intersection__5909.class +0 -0
- data/lib/clojure/set$join__5974$fn__5977$fn__5979.class +0 -0
- data/lib/clojure/set$join__5974$fn__5977.class +0 -0
- data/lib/clojure/set$join__5974$fn__5985$fn__5987.class +0 -0
- data/lib/clojure/set$join__5974$fn__5985.class +0 -0
- data/lib/clojure/set$join__5974.class +0 -0
- data/lib/clojure/set$map_invert__5962$fn__5965.class +0 -0
- data/lib/clojure/set$map_invert__5962.class +0 -0
- data/lib/clojure/set$project__5935$fn__5937.class +0 -0
- data/lib/clojure/set$project__5935.class +0 -0
- data/lib/clojure/set$rename__5950$fn__5952.class +0 -0
- data/lib/clojure/set$rename__5950.class +0 -0
- data/lib/clojure/set$rename_keys__5941$fn__5944.class +0 -0
- data/lib/clojure/set$rename_keys__5941.class +0 -0
- data/lib/clojure/set$select__5928$fn__5930.class +0 -0
- data/lib/clojure/set$select__5928.class +0 -0
- data/lib/clojure/set$union__5902.class +0 -0
- data/lib/clojure/set.clj +148 -0
- data/lib/clojure/set__init.class +0 -0
- data/lib/clojure/version.properties +5 -0
- data/lib/clojure/xml$emit__6057.class +0 -0
- data/lib/clojure/xml$emit_element__6052.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6007.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6010.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6013.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6016.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6019.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6022.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6025.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6028$attrs__6030.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6028.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6034.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6037.class +0 -0
- data/lib/clojure/xml$fn__5994$fn__6040.class +0 -0
- data/lib/clojure/xml$fn__5994$push_chars__6000$fn__6002.class +0 -0
- data/lib/clojure/xml$fn__5994$push_chars__6000.class +0 -0
- data/lib/clojure/xml$fn__5994$push_content__5996.class +0 -0
- data/lib/clojure/xml$fn__5994.class +0 -0
- data/lib/clojure/xml$parse__6048.class +0 -0
- data/lib/clojure/xml$startparse_sax__6045.class +0 -0
- data/lib/clojure/xml.clj +115 -0
- data/lib/clojure/xml__init.class +0 -0
- data/lib/clojure/zip$append_child__6155.class +0 -0
- data/lib/clojure/zip$branch_QMARK___6085.class +0 -0
- data/lib/clojure/zip$children__6088.class +0 -0
- data/lib/clojure/zip$down__6103.class +0 -0
- data/lib/clojure/zip$edit__6149.class +0 -0
- data/lib/clojure/zip$end_QMARK___6171.class +0 -0
- data/lib/clojure/zip$insert_child__6152.class +0 -0
- data/lib/clojure/zip$insert_left__6137.class +0 -0
- data/lib/clojure/zip$insert_right__6141.class +0 -0
- data/lib/clojure/zip$left__6127.class +0 -0
- data/lib/clojure/zip$leftmost__6132.class +0 -0
- data/lib/clojure/zip$lefts__6097.class +0 -0
- data/lib/clojure/zip$make_node__6091.class +0 -0
- data/lib/clojure/zip$next__6158.class +0 -0
- data/lib/clojure/zip$node__6082.class +0 -0
- data/lib/clojure/zip$path__6094.class +0 -0
- data/lib/clojure/zip$prev__6165.class +0 -0
- data/lib/clojure/zip$remove__6174.class +0 -0
- data/lib/clojure/zip$replace__6145.class +0 -0
- data/lib/clojure/zip$right__6116.class +0 -0
- data/lib/clojure/zip$rightmost__6122.class +0 -0
- data/lib/clojure/zip$rights__6100.class +0 -0
- data/lib/clojure/zip$root__6113.class +0 -0
- data/lib/clojure/zip$seq_zip__6063$fn__6065.class +0 -0
- data/lib/clojure/zip$seq_zip__6063.class +0 -0
- data/lib/clojure/zip$up__6108.class +0 -0
- data/lib/clojure/zip$vector_zip__6069$fn__6071.class +0 -0
- data/lib/clojure/zip$vector_zip__6069.class +0 -0
- data/lib/clojure/zip$xml_zip__6075$fn__6077.class +0 -0
- data/lib/clojure/zip$xml_zip__6075.class +0 -0
- data/lib/clojure/zip$zipper__6060.class +0 -0
- data/lib/clojure/zip.clj +278 -0
- data/lib/clojure/zip__init.class +0 -0
- data/src/clj/clojure/core.clj +4121 -0
- data/src/clj/clojure/core_print.clj +317 -0
- data/src/clj/clojure/core_proxy.clj +394 -0
- data/src/clj/clojure/genclass.clj +683 -0
- data/src/clj/clojure/inspector.clj +180 -0
- data/src/clj/clojure/main.clj +337 -0
- data/src/clj/clojure/parallel.clj +248 -0
- data/src/clj/clojure/set.clj +148 -0
- data/src/clj/clojure/version.properties +5 -0
- data/src/clj/clojure/xml.clj +115 -0
- data/src/clj/clojure/zip.clj +278 -0
- data/src/jvm/clojure/asm/AnnotationVisitor.java +97 -0
- data/src/jvm/clojure/asm/AnnotationWriter.java +357 -0
- data/src/jvm/clojure/asm/Attribute.java +253 -0
- data/src/jvm/clojure/asm/ByteVector.java +318 -0
- data/src/jvm/clojure/asm/ClassAdapter.java +115 -0
- data/src/jvm/clojure/asm/ClassReader.java +2224 -0
- data/src/jvm/clojure/asm/ClassVisitor.java +196 -0
- data/src/jvm/clojure/asm/ClassWriter.java +1415 -0
- data/src/jvm/clojure/asm/Edge.java +75 -0
- data/src/jvm/clojure/asm/FieldVisitor.java +64 -0
- data/src/jvm/clojure/asm/FieldWriter.java +290 -0
- data/src/jvm/clojure/asm/Frame.java +1506 -0
- data/src/jvm/clojure/asm/Handler.java +70 -0
- data/src/jvm/clojure/asm/Item.java +258 -0
- data/src/jvm/clojure/asm/Label.java +437 -0
- data/src/jvm/clojure/asm/MethodAdapter.java +186 -0
- data/src/jvm/clojure/asm/MethodVisitor.java +396 -0
- data/src/jvm/clojure/asm/MethodWriter.java +3029 -0
- data/src/jvm/clojure/asm/Opcodes.java +341 -0
- data/src/jvm/clojure/asm/Type.java +872 -0
- data/src/jvm/clojure/asm/commons/AdviceAdapter.java +681 -0
- data/src/jvm/clojure/asm/commons/AnalyzerAdapter.java +938 -0
- data/src/jvm/clojure/asm/commons/CodeSizeEvaluator.java +234 -0
- data/src/jvm/clojure/asm/commons/EmptyVisitor.java +221 -0
- data/src/jvm/clojure/asm/commons/GeneratorAdapter.java +1533 -0
- data/src/jvm/clojure/asm/commons/LocalVariablesSorter.java +330 -0
- data/src/jvm/clojure/asm/commons/Method.java +267 -0
- data/src/jvm/clojure/asm/commons/SerialVersionUIDAdder.java +508 -0
- data/src/jvm/clojure/asm/commons/StaticInitMerger.java +102 -0
- data/src/jvm/clojure/asm/commons/TableSwitchGenerator.java +55 -0
- data/src/jvm/clojure/asm/commons/package.html +48 -0
- data/src/jvm/clojure/asm/package.html +87 -0
- data/src/jvm/clojure/lang/AFn.java +452 -0
- data/src/jvm/clojure/lang/AFunction.java +47 -0
- data/src/jvm/clojure/lang/AMapEntry.java +149 -0
- data/src/jvm/clojure/lang/APersistentMap.java +382 -0
- data/src/jvm/clojure/lang/APersistentSet.java +159 -0
- data/src/jvm/clojure/lang/APersistentVector.java +579 -0
- data/src/jvm/clojure/lang/ARef.java +107 -0
- data/src/jvm/clojure/lang/AReference.java +40 -0
- data/src/jvm/clojure/lang/ASeq.java +282 -0
- data/src/jvm/clojure/lang/Agent.java +194 -0
- data/src/jvm/clojure/lang/ArraySeq.java +316 -0
- data/src/jvm/clojure/lang/ArrayStream.java +184 -0
- data/src/jvm/clojure/lang/Associative.java +22 -0
- data/src/jvm/clojure/lang/Atom.java +104 -0
- data/src/jvm/clojure/lang/Binding.java +26 -0
- data/src/jvm/clojure/lang/Box.java +22 -0
- data/src/jvm/clojure/lang/Compile.java +73 -0
- data/src/jvm/clojure/lang/Compiler.java +5017 -0
- data/src/jvm/clojure/lang/Cons.java +53 -0
- data/src/jvm/clojure/lang/Counted.java +18 -0
- data/src/jvm/clojure/lang/Delay.java +38 -0
- data/src/jvm/clojure/lang/DynamicClassLoader.java +71 -0
- data/src/jvm/clojure/lang/EnumerationSeq.java +71 -0
- data/src/jvm/clojure/lang/Fn.java +16 -0
- data/src/jvm/clojure/lang/IDeref.java +17 -0
- data/src/jvm/clojure/lang/IFn.java +90 -0
- data/src/jvm/clojure/lang/IMapEntry.java +19 -0
- data/src/jvm/clojure/lang/IMeta.java +17 -0
- data/src/jvm/clojure/lang/IObj.java +18 -0
- data/src/jvm/clojure/lang/IPersistentCollection.java +23 -0
- data/src/jvm/clojure/lang/IPersistentList.java +16 -0
- data/src/jvm/clojure/lang/IPersistentMap.java +23 -0
- data/src/jvm/clojure/lang/IPersistentSet.java +19 -0
- data/src/jvm/clojure/lang/IPersistentStack.java +19 -0
- data/src/jvm/clojure/lang/IPersistentVector.java +22 -0
- data/src/jvm/clojure/lang/IProxy.java +21 -0
- data/src/jvm/clojure/lang/IReduce.java +19 -0
- data/src/jvm/clojure/lang/IRef.java +27 -0
- data/src/jvm/clojure/lang/IReference.java +18 -0
- data/src/jvm/clojure/lang/ISeq.java +29 -0
- data/src/jvm/clojure/lang/IndexedSeq.java +16 -0
- data/src/jvm/clojure/lang/IteratorSeq.java +69 -0
- data/src/jvm/clojure/lang/IteratorStream.java +29 -0
- data/src/jvm/clojure/lang/Keyword.java +199 -0
- data/src/jvm/clojure/lang/LazilyPersistentVector.java +79 -0
- data/src/jvm/clojure/lang/LazySeq.java +233 -0
- data/src/jvm/clojure/lang/LineNumberingPushbackReader.java +75 -0
- data/src/jvm/clojure/lang/LispReader.java +1063 -0
- data/src/jvm/clojure/lang/LockingTransaction.java +583 -0
- data/src/jvm/clojure/lang/MapEntry.java +40 -0
- data/src/jvm/clojure/lang/MultiFn.java +308 -0
- data/src/jvm/clojure/lang/Named.java +19 -0
- data/src/jvm/clojure/lang/Namespace.java +178 -0
- data/src/jvm/clojure/lang/Numbers.java +4371 -0
- data/src/jvm/clojure/lang/Obj.java +33 -0
- data/src/jvm/clojure/lang/PersistentArrayMap.java +263 -0
- data/src/jvm/clojure/lang/PersistentHashMap.java +746 -0
- data/src/jvm/clojure/lang/PersistentHashSet.java +72 -0
- data/src/jvm/clojure/lang/PersistentList.java +298 -0
- data/src/jvm/clojure/lang/PersistentQueue.java +304 -0
- data/src/jvm/clojure/lang/PersistentStructMap.java +225 -0
- data/src/jvm/clojure/lang/PersistentTreeMap.java +998 -0
- data/src/jvm/clojure/lang/PersistentTreeSet.java +94 -0
- data/src/jvm/clojure/lang/PersistentVector.java +320 -0
- data/src/jvm/clojure/lang/ProxyHandler.java +72 -0
- data/src/jvm/clojure/lang/RT.java +1676 -0
- data/src/jvm/clojure/lang/Range.java +85 -0
- data/src/jvm/clojure/lang/Ratio.java +74 -0
- data/src/jvm/clojure/lang/Ref.java +335 -0
- data/src/jvm/clojure/lang/Reflector.java +448 -0
- data/src/jvm/clojure/lang/Repl.java +22 -0
- data/src/jvm/clojure/lang/RestFn.java +1335 -0
- data/src/jvm/clojure/lang/Reversible.java +17 -0
- data/src/jvm/clojure/lang/Script.java +22 -0
- data/src/jvm/clojure/lang/SeqEnumeration.java +33 -0
- data/src/jvm/clojure/lang/SeqIterator.java +41 -0
- data/src/jvm/clojure/lang/Seqable.java +17 -0
- data/src/jvm/clojure/lang/Sequential.java +13 -0
- data/src/jvm/clojure/lang/Settable.java +18 -0
- data/src/jvm/clojure/lang/Sorted.java +25 -0
- data/src/jvm/clojure/lang/Stream.java +88 -0
- data/src/jvm/clojure/lang/Streamable.java +17 -0
- data/src/jvm/clojure/lang/StringSeq.java +50 -0
- data/src/jvm/clojure/lang/Symbol.java +121 -0
- data/src/jvm/clojure/lang/TransactionalHashMap.java +197 -0
- data/src/jvm/clojure/lang/Util.java +74 -0
- data/src/jvm/clojure/lang/Var.java +472 -0
- data/src/jvm/clojure/lang/XMLHandler.java +89 -0
- data/src/jvm/clojure/main.java +41 -0
- metadata +1433 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Rich Hickey. All rights reserved.
|
|
3
|
+
* The use and distribution terms for this software are covered by the
|
|
4
|
+
* Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
|
5
|
+
* which can be found in the file epl-v10.html at the root of this distribution.
|
|
6
|
+
* By using this software in any fashion, you are agreeing to be bound by
|
|
7
|
+
* the terms of this license.
|
|
8
|
+
* You must not remove this notice, or any other, from this software.
|
|
9
|
+
**/
|
|
10
|
+
|
|
11
|
+
/* rich Jul 31, 2008 */
|
|
12
|
+
|
|
13
|
+
package clojure.lang;
|
|
14
|
+
|
|
15
|
+
import java.util.concurrent.ConcurrentMap;
|
|
16
|
+
import java.util.*;
|
|
17
|
+
|
|
18
|
+
public class TransactionalHashMap<K, V> extends AbstractMap<K, V> implements ConcurrentMap<K, V>{
|
|
19
|
+
final Ref[] bins;
|
|
20
|
+
|
|
21
|
+
IPersistentMap mapAt(int bin){
|
|
22
|
+
return (IPersistentMap) bins[bin].deref();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
final int binFor(Object k){
|
|
26
|
+
//spread hashes, a la Cliff Click
|
|
27
|
+
int h = k.hashCode();
|
|
28
|
+
h ^= (h >>> 20) ^ (h >>> 12);
|
|
29
|
+
h ^= (h >>> 7) ^ (h >>> 4);
|
|
30
|
+
return h % bins.length;
|
|
31
|
+
// return k.hashCode() % bins.length;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
Entry entryAt(Object k){
|
|
35
|
+
return mapAt(binFor(k)).entryAt(k);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public TransactionalHashMap() throws Exception{
|
|
39
|
+
this(421);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public TransactionalHashMap(int nBins) throws Exception{
|
|
43
|
+
bins = new Ref[nBins];
|
|
44
|
+
for(int i = 0; i < nBins; i++)
|
|
45
|
+
bins[i] = new Ref(PersistentHashMap.EMPTY);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
public TransactionalHashMap(Map<? extends K, ? extends V> m) throws Exception{
|
|
49
|
+
this(m.size());
|
|
50
|
+
putAll(m);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public int size(){
|
|
54
|
+
int n = 0;
|
|
55
|
+
for(int i = 0; i < bins.length; i++)
|
|
56
|
+
{
|
|
57
|
+
n += mapAt(i).count();
|
|
58
|
+
}
|
|
59
|
+
return n;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public boolean isEmpty(){
|
|
63
|
+
return size() == 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
public boolean containsKey(Object k){
|
|
67
|
+
return entryAt(k) != null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public V get(Object k){
|
|
71
|
+
Entry e = entryAt(k);
|
|
72
|
+
if(e != null)
|
|
73
|
+
return (V) e.getValue();
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public V put(K k, V v){
|
|
78
|
+
Ref r = bins[binFor(k)];
|
|
79
|
+
IPersistentMap map = (IPersistentMap) r.deref();
|
|
80
|
+
Object ret = map.valAt(k);
|
|
81
|
+
r.set(map.assoc(k, v));
|
|
82
|
+
return (V) ret;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public V remove(Object k){
|
|
86
|
+
Ref r = bins[binFor(k)];
|
|
87
|
+
IPersistentMap map = (IPersistentMap) r.deref();
|
|
88
|
+
Object ret = map.valAt(k);
|
|
89
|
+
//checked exceptions are a bad idea, especially in an interface
|
|
90
|
+
try
|
|
91
|
+
{
|
|
92
|
+
r.set(map.without(k));
|
|
93
|
+
}
|
|
94
|
+
catch(Exception e)
|
|
95
|
+
{
|
|
96
|
+
throw new RuntimeException(e);
|
|
97
|
+
}
|
|
98
|
+
return (V) ret;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
public void putAll(Map<? extends K, ? extends V> map){
|
|
102
|
+
for(Iterator i = map.entrySet().iterator(); i.hasNext();)
|
|
103
|
+
{
|
|
104
|
+
Entry<K, V> e = (Entry) i.next();
|
|
105
|
+
put(e.getKey(), e.getValue());
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public void clear(){
|
|
110
|
+
for(int i = 0; i < bins.length; i++)
|
|
111
|
+
{
|
|
112
|
+
Ref r = bins[i];
|
|
113
|
+
IPersistentMap map = (IPersistentMap) r.deref();
|
|
114
|
+
if(map.count() > 0)
|
|
115
|
+
{
|
|
116
|
+
r.set(PersistentHashMap.EMPTY);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
public Set<Entry<K, V>> entrySet(){
|
|
122
|
+
final ArrayList<Map.Entry<K, V>> entries = new ArrayList(bins.length);
|
|
123
|
+
for(int i = 0; i < bins.length; i++)
|
|
124
|
+
{
|
|
125
|
+
IPersistentMap map = mapAt(i);
|
|
126
|
+
if(map.count() > 0)
|
|
127
|
+
entries.addAll((Collection) RT.seq(map));
|
|
128
|
+
}
|
|
129
|
+
return new AbstractSet<Entry<K, V>>(){
|
|
130
|
+
public Iterator iterator(){
|
|
131
|
+
return Collections.unmodifiableList(entries).iterator();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
public int size(){
|
|
135
|
+
return entries.size();
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
public V putIfAbsent(K k, V v){
|
|
141
|
+
Ref r = bins[binFor(k)];
|
|
142
|
+
IPersistentMap map = (IPersistentMap) r.deref();
|
|
143
|
+
Entry e = map.entryAt(k);
|
|
144
|
+
if(e == null)
|
|
145
|
+
{
|
|
146
|
+
r.set(map.assoc(k, v));
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
else
|
|
150
|
+
return (V) e.getValue();
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
public boolean remove(Object k, Object v){
|
|
154
|
+
Ref r = bins[binFor(k)];
|
|
155
|
+
IPersistentMap map = (IPersistentMap) r.deref();
|
|
156
|
+
Entry e = map.entryAt(k);
|
|
157
|
+
if(e != null && e.getValue().equals(v))
|
|
158
|
+
{
|
|
159
|
+
//checked exceptions are a bad idea, especially in an interface
|
|
160
|
+
try
|
|
161
|
+
{
|
|
162
|
+
r.set(map.without(k));
|
|
163
|
+
}
|
|
164
|
+
catch(Exception ex)
|
|
165
|
+
{
|
|
166
|
+
throw new RuntimeException(ex);
|
|
167
|
+
}
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
public boolean replace(K k, V oldv, V newv){
|
|
174
|
+
Ref r = bins[binFor(k)];
|
|
175
|
+
IPersistentMap map = (IPersistentMap) r.deref();
|
|
176
|
+
Entry e = map.entryAt(k);
|
|
177
|
+
if(e != null && e.getValue().equals(oldv))
|
|
178
|
+
{
|
|
179
|
+
r.set(map.assoc(k, newv));
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
public V replace(K k, V v){
|
|
186
|
+
Ref r = bins[binFor(k)];
|
|
187
|
+
IPersistentMap map = (IPersistentMap) r.deref();
|
|
188
|
+
Entry e = map.entryAt(k);
|
|
189
|
+
if(e != null)
|
|
190
|
+
{
|
|
191
|
+
r.set(map.assoc(k, v));
|
|
192
|
+
return (V) e.getValue();
|
|
193
|
+
}
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Rich Hickey. All rights reserved.
|
|
3
|
+
* The use and distribution terms for this software are covered by the
|
|
4
|
+
* Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
|
5
|
+
* which can be found in the file epl-v10.html at the root of this distribution.
|
|
6
|
+
* By using this software in any fashion, you are agreeing to be bound by
|
|
7
|
+
* the terms of this license.
|
|
8
|
+
* You must not remove this notice, or any other, from this software.
|
|
9
|
+
**/
|
|
10
|
+
|
|
11
|
+
/* rich Apr 19, 2008 */
|
|
12
|
+
|
|
13
|
+
package clojure.lang;
|
|
14
|
+
|
|
15
|
+
import java.math.BigInteger;
|
|
16
|
+
|
|
17
|
+
public class Util{
|
|
18
|
+
static public boolean equiv(Object k1, Object k2){
|
|
19
|
+
if(k1 == k2)
|
|
20
|
+
return true;
|
|
21
|
+
if(k1 != null)
|
|
22
|
+
{
|
|
23
|
+
if(k1 instanceof Number)
|
|
24
|
+
return Numbers.equiv(k1, k2);
|
|
25
|
+
else if(k1 instanceof IPersistentCollection && k2 instanceof IPersistentCollection)
|
|
26
|
+
return ((IPersistentCollection)k1).equiv(k2);
|
|
27
|
+
return k1.equals(k2);
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static public boolean equals(Object k1, Object k2){
|
|
33
|
+
if(k1 == k2)
|
|
34
|
+
return true;
|
|
35
|
+
return k1 != null && k1.equals(k2);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static public int compare(Object k1, Object k2){
|
|
39
|
+
if(k1 == k2)
|
|
40
|
+
return 0;
|
|
41
|
+
if(k1 != null)
|
|
42
|
+
{
|
|
43
|
+
if(k2 == null)
|
|
44
|
+
return 1;
|
|
45
|
+
if(k1 instanceof Number)
|
|
46
|
+
return Numbers.compare((Number) k1, (Number) k2);
|
|
47
|
+
return ((Comparable) k1).compareTo(k2);
|
|
48
|
+
}
|
|
49
|
+
return -1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static public int hash(Object o){
|
|
53
|
+
if(o == null)
|
|
54
|
+
return 0;
|
|
55
|
+
return o.hashCode();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static public int hashCombine(int seed, int hash){
|
|
59
|
+
//a la boost
|
|
60
|
+
seed ^= hash + 0x9e3779b9 + (seed << 6) + (seed >> 2);
|
|
61
|
+
return seed;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static public boolean isPrimitive(Class c){
|
|
65
|
+
return c != null && c.isPrimitive() && !(c == Void.TYPE);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static public boolean isInteger(Object x){
|
|
69
|
+
return x instanceof Integer
|
|
70
|
+
|| x instanceof Long
|
|
71
|
+
|| x instanceof BigInteger;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
}
|
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Rich Hickey. All rights reserved.
|
|
3
|
+
* The use and distribution terms for this software are covered by the
|
|
4
|
+
* Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
|
5
|
+
* which can be found in the file epl-v10.html at the root of this distribution.
|
|
6
|
+
* By using this software in any fashion, you are agreeing to be bound by
|
|
7
|
+
* the terms of this license.
|
|
8
|
+
* You must not remove this notice, or any other, from this software.
|
|
9
|
+
**/
|
|
10
|
+
|
|
11
|
+
/* rich Jul 31, 2007 */
|
|
12
|
+
|
|
13
|
+
package clojure.lang;
|
|
14
|
+
|
|
15
|
+
import java.util.concurrent.atomic.AtomicInteger;
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
public final class Var extends ARef implements IFn, IRef, Settable{
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
static class Frame{
|
|
22
|
+
//Var->Box
|
|
23
|
+
Associative bindings;
|
|
24
|
+
//Var->val
|
|
25
|
+
Associative frameBindings;
|
|
26
|
+
Frame prev;
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
public Frame(){
|
|
30
|
+
this(PersistentHashMap.EMPTY, PersistentHashMap.EMPTY, null);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public Frame(Associative frameBindings, Associative bindings, Frame prev){
|
|
34
|
+
this.frameBindings = frameBindings;
|
|
35
|
+
this.bindings = bindings;
|
|
36
|
+
this.prev = prev;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static ThreadLocal<Frame> dvals = new ThreadLocal<Frame>(){
|
|
41
|
+
|
|
42
|
+
protected Frame initialValue(){
|
|
43
|
+
return new Frame();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
static Keyword privateKey = Keyword.intern(null, "private");
|
|
48
|
+
static IPersistentMap privateMeta = new PersistentArrayMap(new Object[]{privateKey, Boolean.TRUE});
|
|
49
|
+
static Keyword macroKey = Keyword.intern(null, "macro");
|
|
50
|
+
static Keyword nameKey = Keyword.intern(null, "name");
|
|
51
|
+
static Keyword nsKey = Keyword.intern(null, "ns");
|
|
52
|
+
//static Keyword tagKey = Keyword.intern(null, "tag");
|
|
53
|
+
|
|
54
|
+
volatile Object root;
|
|
55
|
+
transient final AtomicInteger count;
|
|
56
|
+
public final Symbol sym;
|
|
57
|
+
public final Namespace ns;
|
|
58
|
+
|
|
59
|
+
//IPersistentMap _meta;
|
|
60
|
+
|
|
61
|
+
public static Var intern(Namespace ns, Symbol sym, Object root){
|
|
62
|
+
return intern(ns, sym, root, true);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
public static Var intern(Namespace ns, Symbol sym, Object root, boolean replaceRoot){
|
|
66
|
+
Var dvout = ns.intern(sym);
|
|
67
|
+
if(!dvout.hasRoot() || replaceRoot)
|
|
68
|
+
dvout.bindRoot(root);
|
|
69
|
+
return dvout;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
public String toString(){
|
|
74
|
+
if(ns != null)
|
|
75
|
+
return "#'" + ns.name + "/" + sym;
|
|
76
|
+
return "#<Var: " + (sym != null ? sym.toString() : "--unnamed--") + ">";
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
public static Var find(Symbol nsQualifiedSym){
|
|
80
|
+
if(nsQualifiedSym.ns == null)
|
|
81
|
+
throw new IllegalArgumentException("Symbol must be namespace-qualified");
|
|
82
|
+
Namespace ns = Namespace.find(Symbol.create(nsQualifiedSym.ns));
|
|
83
|
+
if(ns == null)
|
|
84
|
+
throw new IllegalArgumentException("No such namespace: " + nsQualifiedSym.ns);
|
|
85
|
+
return ns.findInternedVar(Symbol.create(nsQualifiedSym.name));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
public static Var intern(Symbol nsName, Symbol sym){
|
|
89
|
+
Namespace ns = Namespace.findOrCreate(nsName);
|
|
90
|
+
return intern(ns, sym);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public static Var internPrivate(String nsName, String sym){
|
|
94
|
+
Namespace ns = Namespace.findOrCreate(Symbol.intern(nsName));
|
|
95
|
+
Var ret = intern(ns, Symbol.intern(sym));
|
|
96
|
+
ret.setMeta(privateMeta);
|
|
97
|
+
return ret;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
public static Var intern(Namespace ns, Symbol sym){
|
|
101
|
+
return ns.intern(sym);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
public static Var create(){
|
|
106
|
+
return new Var(null, null);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public static Var create(Object root){
|
|
110
|
+
return new Var(null, null, root);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
Var(Namespace ns, Symbol sym){
|
|
114
|
+
this.ns = ns;
|
|
115
|
+
this.sym = sym;
|
|
116
|
+
this.count = new AtomicInteger();
|
|
117
|
+
this.root = dvals; //use dvals as magic not-bound value
|
|
118
|
+
setMeta(PersistentHashMap.EMPTY);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
Var(Namespace ns, Symbol sym, Object root){
|
|
122
|
+
this(ns, sym);
|
|
123
|
+
this.root = root;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
public boolean isBound(){
|
|
127
|
+
return hasRoot() || (count.get() > 0 && dvals.get().bindings.containsKey(this));
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
final public Object get(){
|
|
131
|
+
return deref();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
final public Object deref(){
|
|
135
|
+
Box b = getThreadBinding();
|
|
136
|
+
if(b != null)
|
|
137
|
+
return b.val;
|
|
138
|
+
if(hasRoot())
|
|
139
|
+
return root;
|
|
140
|
+
throw new IllegalStateException(String.format("Var %s/%s is unbound.", ns, sym));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
public void setValidator(IFn vf){
|
|
144
|
+
if(hasRoot())
|
|
145
|
+
validate(vf, getRoot());
|
|
146
|
+
validator = vf;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
public Object alter(IFn fn, ISeq args) throws Exception{
|
|
150
|
+
set(fn.applyTo(RT.cons(deref(), args)));
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
public Object set(Object val){
|
|
155
|
+
validate(getValidator(), val);
|
|
156
|
+
Box b = getThreadBinding();
|
|
157
|
+
if(b != null)
|
|
158
|
+
return (b.val = val);
|
|
159
|
+
//jury still out on this
|
|
160
|
+
// if(hasRoot())
|
|
161
|
+
// {
|
|
162
|
+
// bindRoot(val);
|
|
163
|
+
// return val;
|
|
164
|
+
// }
|
|
165
|
+
throw new IllegalStateException(String.format("Can't change/establish root binding of: %s with set", sym));
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
public Object doSet(Object val) throws Exception {
|
|
169
|
+
return set(val);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
public Object doReset(Object val) throws Exception {
|
|
173
|
+
bindRoot(val);
|
|
174
|
+
return val;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
public void setMeta(IPersistentMap m) {
|
|
178
|
+
//ensure these basis keys
|
|
179
|
+
resetMeta(m.assoc(nameKey, sym).assoc(nsKey, ns));
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
public void setMacro() {
|
|
183
|
+
try
|
|
184
|
+
{
|
|
185
|
+
alterMeta(assoc, RT.list(macroKey, RT.T));
|
|
186
|
+
}
|
|
187
|
+
catch (Exception e)
|
|
188
|
+
{
|
|
189
|
+
throw new RuntimeException(e);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
public boolean isMacro(){
|
|
194
|
+
return RT.booleanCast(meta().valAt(macroKey));
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
//public void setExported(boolean state){
|
|
198
|
+
// _meta = _meta.assoc(privateKey, state);
|
|
199
|
+
//}
|
|
200
|
+
|
|
201
|
+
public boolean isPublic(){
|
|
202
|
+
return !RT.booleanCast(meta().valAt(privateKey));
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
public Object getRoot(){
|
|
206
|
+
if(hasRoot())
|
|
207
|
+
return root;
|
|
208
|
+
throw new IllegalStateException(String.format("Var %s/%s is unbound.", ns, sym));
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
public Object getTag(){
|
|
212
|
+
return meta().valAt(RT.TAG_KEY);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
public void setTag(Symbol tag) {
|
|
216
|
+
try
|
|
217
|
+
{
|
|
218
|
+
alterMeta(assoc, RT.list(RT.TAG_KEY, tag));
|
|
219
|
+
}
|
|
220
|
+
catch (Exception e)
|
|
221
|
+
{
|
|
222
|
+
throw new RuntimeException(e);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
final public boolean hasRoot(){
|
|
227
|
+
return root != dvals;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
//binding root always clears macro flag
|
|
231
|
+
synchronized public void bindRoot(Object root){
|
|
232
|
+
validate(getValidator(), root);
|
|
233
|
+
Object oldroot = hasRoot()?this.root:null;
|
|
234
|
+
this.root = root;
|
|
235
|
+
try
|
|
236
|
+
{
|
|
237
|
+
alterMeta(assoc, RT.list(macroKey, RT.F));
|
|
238
|
+
}
|
|
239
|
+
catch (Exception e)
|
|
240
|
+
{
|
|
241
|
+
throw new RuntimeException(e);
|
|
242
|
+
}
|
|
243
|
+
notifyWatches(oldroot,this.root);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
synchronized void swapRoot(Object root){
|
|
247
|
+
validate(getValidator(), root);
|
|
248
|
+
Object oldroot = hasRoot()?this.root:null;
|
|
249
|
+
this.root = root;
|
|
250
|
+
notifyWatches(oldroot,root);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
synchronized public void unbindRoot(){
|
|
254
|
+
this.root = dvals;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
synchronized public void commuteRoot(IFn fn) throws Exception{
|
|
258
|
+
Object newRoot = fn.invoke(root);
|
|
259
|
+
validate(getValidator(), newRoot);
|
|
260
|
+
Object oldroot = getRoot();
|
|
261
|
+
this.root = newRoot;
|
|
262
|
+
notifyWatches(oldroot,newRoot);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
synchronized public Object alterRoot(IFn fn, ISeq args) throws Exception{
|
|
266
|
+
Object newRoot = fn.applyTo(RT.cons(root, args));
|
|
267
|
+
validate(getValidator(), newRoot);
|
|
268
|
+
Object oldroot = getRoot();
|
|
269
|
+
this.root = newRoot;
|
|
270
|
+
notifyWatches(oldroot,newRoot);
|
|
271
|
+
return newRoot;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
public static void pushThreadBindings(Associative bindings){
|
|
275
|
+
Frame f = dvals.get();
|
|
276
|
+
Associative bmap = f.bindings;
|
|
277
|
+
for(ISeq bs = bindings.seq(); bs != null; bs = bs.next())
|
|
278
|
+
{
|
|
279
|
+
IMapEntry e = (IMapEntry) bs.first();
|
|
280
|
+
Var v = (Var) e.key();
|
|
281
|
+
v.validate(v.getValidator(), e.val());
|
|
282
|
+
v.count.incrementAndGet();
|
|
283
|
+
bmap = bmap.assoc(v, new Box(e.val()));
|
|
284
|
+
}
|
|
285
|
+
dvals.set(new Frame(bindings, bmap, f));
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
public static void popThreadBindings(){
|
|
289
|
+
Frame f = dvals.get();
|
|
290
|
+
if(f.prev == null)
|
|
291
|
+
throw new IllegalStateException("Pop without matching push");
|
|
292
|
+
for(ISeq bs = RT.keys(f.frameBindings); bs != null; bs = bs.next())
|
|
293
|
+
{
|
|
294
|
+
Var v = (Var) bs.first();
|
|
295
|
+
v.count.decrementAndGet();
|
|
296
|
+
}
|
|
297
|
+
dvals.set(f.prev);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
public static void releaseThreadBindings(){
|
|
301
|
+
Frame f = dvals.get();
|
|
302
|
+
if(f.prev == null)
|
|
303
|
+
throw new IllegalStateException("Release without full unwind");
|
|
304
|
+
for(ISeq bs = RT.keys(f.bindings); bs != null; bs = bs.next())
|
|
305
|
+
{
|
|
306
|
+
Var v = (Var) bs.first();
|
|
307
|
+
v.count.decrementAndGet();
|
|
308
|
+
}
|
|
309
|
+
dvals.set(null);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
final Box getThreadBinding(){
|
|
313
|
+
if(count.get() > 0)
|
|
314
|
+
{
|
|
315
|
+
IMapEntry e = dvals.get().bindings.entryAt(this);
|
|
316
|
+
if(e != null)
|
|
317
|
+
return (Box) e.val();
|
|
318
|
+
}
|
|
319
|
+
return null;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
final public IFn fn(){
|
|
323
|
+
return (IFn) deref();
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
public Object call() throws Exception{
|
|
327
|
+
return invoke();
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
public void run(){
|
|
331
|
+
try
|
|
332
|
+
{
|
|
333
|
+
invoke();
|
|
334
|
+
}
|
|
335
|
+
catch(Exception e)
|
|
336
|
+
{
|
|
337
|
+
throw new RuntimeException(e);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
public Object invoke() throws Exception{
|
|
342
|
+
return fn().invoke();
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
public Object invoke(Object arg1) throws Exception{
|
|
346
|
+
return fn().invoke(arg1);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
public Object invoke(Object arg1, Object arg2) throws Exception{
|
|
350
|
+
return fn().invoke(arg1, arg2);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
public Object invoke(Object arg1, Object arg2, Object arg3) throws Exception{
|
|
354
|
+
return fn().invoke(arg1, arg2, arg3);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4) throws Exception{
|
|
358
|
+
return fn().invoke(arg1, arg2, arg3, arg4);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) throws Exception{
|
|
362
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6) throws Exception{
|
|
366
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7)
|
|
370
|
+
throws Exception{
|
|
371
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
375
|
+
Object arg8) throws Exception{
|
|
376
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
380
|
+
Object arg8, Object arg9) throws Exception{
|
|
381
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
385
|
+
Object arg8, Object arg9, Object arg10) throws Exception{
|
|
386
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
390
|
+
Object arg8, Object arg9, Object arg10, Object arg11) throws Exception{
|
|
391
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
395
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12) throws Exception{
|
|
396
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
400
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13)
|
|
401
|
+
throws Exception{
|
|
402
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
406
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14)
|
|
407
|
+
throws Exception{
|
|
408
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
412
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14,
|
|
413
|
+
Object arg15) throws Exception{
|
|
414
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
418
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14,
|
|
419
|
+
Object arg15, Object arg16) throws Exception{
|
|
420
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15,
|
|
421
|
+
arg16);
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
425
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14,
|
|
426
|
+
Object arg15, Object arg16, Object arg17) throws Exception{
|
|
427
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15,
|
|
428
|
+
arg16, arg17);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
432
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14,
|
|
433
|
+
Object arg15, Object arg16, Object arg17, Object arg18) throws Exception{
|
|
434
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15,
|
|
435
|
+
arg16, arg17, arg18);
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
439
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14,
|
|
440
|
+
Object arg15, Object arg16, Object arg17, Object arg18, Object arg19) throws Exception{
|
|
441
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15,
|
|
442
|
+
arg16, arg17, arg18, arg19);
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
446
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14,
|
|
447
|
+
Object arg15, Object arg16, Object arg17, Object arg18, Object arg19, Object arg20)
|
|
448
|
+
throws Exception{
|
|
449
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15,
|
|
450
|
+
arg16, arg17, arg18, arg19, arg20);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7,
|
|
454
|
+
Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14,
|
|
455
|
+
Object arg15, Object arg16, Object arg17, Object arg18, Object arg19, Object arg20,
|
|
456
|
+
Object... args)
|
|
457
|
+
throws Exception{
|
|
458
|
+
return fn().invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15,
|
|
459
|
+
arg16, arg17, arg18, arg19, arg20, args);
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
public Object applyTo(ISeq arglist) throws Exception{
|
|
463
|
+
return AFn.applyToHelper(this, arglist);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
static IFn assoc = new AFn(){
|
|
467
|
+
@Override
|
|
468
|
+
public Object invoke(Object m, Object k, Object v) throws Exception {
|
|
469
|
+
return RT.assoc(m, k, v);
|
|
470
|
+
}
|
|
471
|
+
};
|
|
472
|
+
}
|