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.
Files changed (1378) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/LICENSE +23 -0
  4. data/README.rdoc +18 -0
  5. data/Rakefile +18 -0
  6. data/VERSION +1 -0
  7. data/bin/clj +13 -0
  8. data/epl-v10.html +261 -0
  9. data/lib/clojure/asm/AnnotationVisitor.class +0 -0
  10. data/lib/clojure/asm/AnnotationWriter.class +0 -0
  11. data/lib/clojure/asm/Attribute.class +0 -0
  12. data/lib/clojure/asm/ByteVector.class +0 -0
  13. data/lib/clojure/asm/ClassAdapter.class +0 -0
  14. data/lib/clojure/asm/ClassReader.class +0 -0
  15. data/lib/clojure/asm/ClassVisitor.class +0 -0
  16. data/lib/clojure/asm/ClassWriter.class +0 -0
  17. data/lib/clojure/asm/Edge.class +0 -0
  18. data/lib/clojure/asm/FieldVisitor.class +0 -0
  19. data/lib/clojure/asm/FieldWriter.class +0 -0
  20. data/lib/clojure/asm/Frame.class +0 -0
  21. data/lib/clojure/asm/Handler.class +0 -0
  22. data/lib/clojure/asm/Item.class +0 -0
  23. data/lib/clojure/asm/Label.class +0 -0
  24. data/lib/clojure/asm/MethodAdapter.class +0 -0
  25. data/lib/clojure/asm/MethodVisitor.class +0 -0
  26. data/lib/clojure/asm/MethodWriter.class +0 -0
  27. data/lib/clojure/asm/Opcodes.class +0 -0
  28. data/lib/clojure/asm/Type.class +0 -0
  29. data/lib/clojure/asm/commons/AdviceAdapter.class +0 -0
  30. data/lib/clojure/asm/commons/AnalyzerAdapter.class +0 -0
  31. data/lib/clojure/asm/commons/CodeSizeEvaluator.class +0 -0
  32. data/lib/clojure/asm/commons/EmptyVisitor.class +0 -0
  33. data/lib/clojure/asm/commons/GeneratorAdapter.class +0 -0
  34. data/lib/clojure/asm/commons/LocalVariablesSorter.class +0 -0
  35. data/lib/clojure/asm/commons/Method.class +0 -0
  36. data/lib/clojure/asm/commons/SerialVersionUIDAdder$Item.class +0 -0
  37. data/lib/clojure/asm/commons/SerialVersionUIDAdder.class +0 -0
  38. data/lib/clojure/asm/commons/StaticInitMerger.class +0 -0
  39. data/lib/clojure/asm/commons/TableSwitchGenerator.class +0 -0
  40. data/lib/clojure/core$_DOT__DOT___3630.class +0 -0
  41. data/lib/clojure/core$_EQ__EQ___3398.class +0 -0
  42. data/lib/clojure/core$_EQ___3291.class +0 -0
  43. data/lib/clojure/core$_GT__EQ___3390.class +0 -0
  44. data/lib/clojure/core$_GT___3382.class +0 -0
  45. data/lib/clojure/core$_LT__EQ___3374.class +0 -0
  46. data/lib/clojure/core$_LT___3366.class +0 -0
  47. data/lib/clojure/core$_PLUS___3332.class +0 -0
  48. data/lib/clojure/core$_SLASH___3350.class +0 -0
  49. data/lib/clojure/core$_STAR___3341.class +0 -0
  50. data/lib/clojure/core$__GT___3634.class +0 -0
  51. data/lib/clojure/core$___3358.class +0 -0
  52. data/lib/clojure/core$accessor__4294.class +0 -0
  53. data/lib/clojure/core$aclone__4211.class +0 -0
  54. data/lib/clojure/core$add_classpath__4707.class +0 -0
  55. data/lib/clojure/core$add_doc__5153.class +0 -0
  56. data/lib/clojure/core$add_watch__3697.class +0 -0
  57. data/lib/clojure/core$add_watcher__3703$fn__3705.class +0 -0
  58. data/lib/clojure/core$add_watcher__3703.class +0 -0
  59. data/lib/clojure/core$agent__3684.class +0 -0
  60. data/lib/clojure/core$agent_errors__3712.class +0 -0
  61. data/lib/clojure/core$aget__4217.class +0 -0
  62. data/lib/clojure/core$alength__4205.class +0 -0
  63. data/lib/clojure/core$alias__4367.class +0 -0
  64. data/lib/clojure/core$all_ns__4318.class +0 -0
  65. data/lib/clojure/core$alter__3759.class +0 -0
  66. data/lib/clojure/core$alter_meta_BANG___3750.class +0 -0
  67. data/lib/clojure/core$alter_var_root__4827.class +0 -0
  68. data/lib/clojure/core$amap__4725.class +0 -0
  69. data/lib/clojure/core$ancestors__4866$fn__4869.class +0 -0
  70. data/lib/clojure/core$ancestors__4866.class +0 -0
  71. data/lib/clojure/core$and__3308.class +0 -0
  72. data/lib/clojure/core$apply__3243.class +0 -0
  73. data/lib/clojure/core$areduce__4729.class +0 -0
  74. data/lib/clojure/core$array__4040.class +0 -0
  75. data/lib/clojure/core$array_map__4401.class +0 -0
  76. data/lib/clojure/core$aset__4224.class +0 -0
  77. data/lib/clojure/core$aset_boolean__4244.class +0 -0
  78. data/lib/clojure/core$aset_byte__4260.class +0 -0
  79. data/lib/clojure/core$aset_char__4264.class +0 -0
  80. data/lib/clojure/core$aset_double__4252.class +0 -0
  81. data/lib/clojure/core$aset_float__4248.class +0 -0
  82. data/lib/clojure/core$aset_int__4236.class +0 -0
  83. data/lib/clojure/core$aset_long__4240.class +0 -0
  84. data/lib/clojure/core$aset_short__4256.class +0 -0
  85. data/lib/clojure/core$asm_type__5683.class +0 -0
  86. data/lib/clojure/core$assert__4528.class +0 -0
  87. data/lib/clojure/core$assert_args__3659.class +0 -0
  88. data/lib/clojure/core$assoc__3148.class +0 -0
  89. data/lib/clojure/core$assoc_in__5075.class +0 -0
  90. data/lib/clojure/core$associative_QMARK___5102.class +0 -0
  91. data/lib/clojure/core$atom__3728.class +0 -0
  92. data/lib/clojure/core$await1__4014.class +0 -0
  93. data/lib/clojure/core$await__4007$count_down__4009.class +0 -0
  94. data/lib/clojure/core$await__4007.class +0 -0
  95. data/lib/clojure/core$await_for__4017$count_down__4019.class +0 -0
  96. data/lib/clojure/core$await_for__4017.class +0 -0
  97. data/lib/clojure/core$bases__4836.class +0 -0
  98. data/lib/clojure/core$bean__5303$fn__5305$fn__5307.class +0 -0
  99. data/lib/clojure/core$bean__5303$fn__5305.class +0 -0
  100. data/lib/clojure/core$bean__5303$fn__5321$thisfn__5323$fn__5324.class +0 -0
  101. data/lib/clojure/core$bean__5303$fn__5321$thisfn__5323.class +0 -0
  102. data/lib/clojure/core$bean__5303$fn__5321.class +0 -0
  103. data/lib/clojure/core$bean__5303$fn__5330.class +0 -0
  104. data/lib/clojure/core$bean__5303$fn__5333.class +0 -0
  105. data/lib/clojure/core$bean__5303$fn__5336.class +0 -0
  106. data/lib/clojure/core$bean__5303$fn__5339.class +0 -0
  107. data/lib/clojure/core$bean__5303$fn__5342.class +0 -0
  108. data/lib/clojure/core$bean__5303$fn__5346.class +0 -0
  109. data/lib/clojure/core$bean__5303$fn__5349.class +0 -0
  110. data/lib/clojure/core$bean__5303$snapshot__5315$fn__5317.class +0 -0
  111. data/lib/clojure/core$bean__5303$snapshot__5315.class +0 -0
  112. data/lib/clojure/core$bean__5303$v__5312.class +0 -0
  113. data/lib/clojure/core$bean__5303.class +0 -0
  114. data/lib/clojure/core$bigdec__4136.class +0 -0
  115. data/lib/clojure/core$bigint__4133.class +0 -0
  116. data/lib/clojure/core$binding__3672$var_ize__3674.class +0 -0
  117. data/lib/clojure/core$binding__3672.class +0 -0
  118. data/lib/clojure/core$bit_and__3509.class +0 -0
  119. data/lib/clojure/core$bit_and_not__3524.class +0 -0
  120. data/lib/clojure/core$bit_clear__3527.class +0 -0
  121. data/lib/clojure/core$bit_flip__3533.class +0 -0
  122. data/lib/clojure/core$bit_not__3503.class +0 -0
  123. data/lib/clojure/core$bit_or__3515.class +0 -0
  124. data/lib/clojure/core$bit_set__3530.class +0 -0
  125. data/lib/clojure/core$bit_shift_left__3539.class +0 -0
  126. data/lib/clojure/core$bit_shift_right__3542.class +0 -0
  127. data/lib/clojure/core$bit_test__3536.class +0 -0
  128. data/lib/clojure/core$bit_xor__3521.class +0 -0
  129. data/lib/clojure/core$boolean__4101.class +0 -0
  130. data/lib/clojure/core$bound_fn__4679$fn__4681.class +0 -0
  131. data/lib/clojure/core$bound_fn__4679.class +0 -0
  132. data/lib/clojure/core$butlast__3156.class +0 -0
  133. data/lib/clojure/core$byte__4089.class +0 -0
  134. data/lib/clojure/core$cast__3160.class +0 -0
  135. data/lib/clojure/core$char__4095.class +0 -0
  136. data/lib/clojure/core$class_QMARK___4824.class +0 -0
  137. data/lib/clojure/core$class__4043.class +0 -0
  138. data/lib/clojure/core$clear_agent_errors__3715.class +0 -0
  139. data/lib/clojure/core$clojure_version__5781.class +0 -0
  140. data/lib/clojure/core$coll_QMARK___5087.class +0 -0
  141. data/lib/clojure/core$comment__4501.class +0 -0
  142. data/lib/clojure/core$commute__3756.class +0 -0
  143. data/lib/clojure/core$comp__3775$fn__3777.class +0 -0
  144. data/lib/clojure/core$comp__3775.class +0 -0
  145. data/lib/clojure/core$comparator__3965$fn__3967.class +0 -0
  146. data/lib/clojure/core$comparator__3965.class +0 -0
  147. data/lib/clojure/core$compare__3304.class +0 -0
  148. data/lib/clojure/core$compare_and_set_BANG___3738.class +0 -0
  149. data/lib/clojure/core$compile__5065$fn__5067.class +0 -0
  150. data/lib/clojure/core$compile__5065.class +0 -0
  151. data/lib/clojure/core$complement__3551$fn__3553.class +0 -0
  152. data/lib/clojure/core$complement__3551.class +0 -0
  153. data/lib/clojure/core$concat__3255$cat__3269$fn__3270.class +0 -0
  154. data/lib/clojure/core$concat__3255$cat__3269.class +0 -0
  155. data/lib/clojure/core$concat__3255$fn__3257.class +0 -0
  156. data/lib/clojure/core$concat__3255$fn__3261.class +0 -0
  157. data/lib/clojure/core$concat__3255$fn__3265.class +0 -0
  158. data/lib/clojure/core$concat__3255.class +0 -0
  159. data/lib/clojure/core$cond__3237.class +0 -0
  160. data/lib/clojure/core$condp__5146$emit__5148.class +0 -0
  161. data/lib/clojure/core$condp__5146.class +0 -0
  162. data/lib/clojure/core$conj__3121.class +0 -0
  163. data/lib/clojure/core$cons__3107.class +0 -0
  164. data/lib/clojure/core$constantly__3560$fn__3562.class +0 -0
  165. data/lib/clojure/core$constantly__3560.class +0 -0
  166. data/lib/clojure/core$construct_proxy__5265.class +0 -0
  167. data/lib/clojure/core$contains_QMARK___3582.class +0 -0
  168. data/lib/clojure/core$count__3569.class +0 -0
  169. data/lib/clojure/core$counted_QMARK___5111.class +0 -0
  170. data/lib/clojure/core$create_ns__4312.class +0 -0
  171. data/lib/clojure/core$create_struct__4282.class +0 -0
  172. data/lib/clojure/core$ctor_sigs__5565$iter__5567__5569$fn__5570.class +0 -0
  173. data/lib/clojure/core$ctor_sigs__5565$iter__5567__5569.class +0 -0
  174. data/lib/clojure/core$ctor_sigs__5565.class +0 -0
  175. data/lib/clojure/core$cycle__3899$fn__3901.class +0 -0
  176. data/lib/clojure/core$cycle__3899.class +0 -0
  177. data/lib/clojure/core$dec__3422.class +0 -0
  178. data/lib/clojure/core$decimal_QMARK___4121.class +0 -0
  179. data/lib/clojure/core$declare__5118$fn__5120.class +0 -0
  180. data/lib/clojure/core$declare__5118.class +0 -0
  181. data/lib/clojure/core$def_aset__4233.class +0 -0
  182. data/lib/clojure/core$definline__4716.class +0 -0
  183. data/lib/clojure/core$defmacro__3190.class +0 -0
  184. data/lib/clojure/core$defmethod__3641.class +0 -0
  185. data/lib/clojure/core$defmulti__3638.class +0 -0
  186. data/lib/clojure/core$defn__3158.class +0 -0
  187. data/lib/clojure/core$defn___4565.class +0 -0
  188. data/lib/clojure/core$defonce__4973.class +0 -0
  189. data/lib/clojure/core$defstruct__4285.class +0 -0
  190. data/lib/clojure/core$delay_QMARK___3278.class +0 -0
  191. data/lib/clojure/core$delay__3275.class +0 -0
  192. data/lib/clojure/core$deref__3725.class +0 -0
  193. data/lib/clojure/core$derive__4877$tf__4880$fn__4882.class +0 -0
  194. data/lib/clojure/core$derive__4877$tf__4880.class +0 -0
  195. data/lib/clojure/core$derive__4877.class +0 -0
  196. data/lib/clojure/core$descendants__4873.class +0 -0
  197. data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419$fn__4421$fn__4423.class +0 -0
  198. data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419$fn__4421.class +0 -0
  199. data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419$fn__4427.class +0 -0
  200. data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419$fn__4430.class +0 -0
  201. data/lib/clojure/core$destructure__4413$pb__4415$pmap__4419.class +0 -0
  202. data/lib/clojure/core$destructure__4413$pb__4415$pvec__4416.class +0 -0
  203. data/lib/clojure/core$destructure__4413$pb__4415.class +0 -0
  204. data/lib/clojure/core$destructure__4413$process_entry__4436.class +0 -0
  205. data/lib/clojure/core$destructure__4413.class +0 -0
  206. data/lib/clojure/core$disj__3594.class +0 -0
  207. data/lib/clojure/core$dissoc__3589.class +0 -0
  208. data/lib/clojure/core$distinct_QMARK___4901.class +0 -0
  209. data/lib/clojure/core$distinct__4646$step__4648$fn__4649$fn__4652.class +0 -0
  210. data/lib/clojure/core$distinct__4646$step__4648$fn__4649.class +0 -0
  211. data/lib/clojure/core$distinct__4646$step__4648.class +0 -0
  212. data/lib/clojure/core$distinct__4646.class +0 -0
  213. data/lib/clojure/core$doall__4003.class +0 -0
  214. data/lib/clojure/core$doc__4590.class +0 -0
  215. data/lib/clojure/core$dorun__3998.class +0 -0
  216. data/lib/clojure/core$doseq__3993$step__3995.class +0 -0
  217. data/lib/clojure/core$doseq__3993.class +0 -0
  218. data/lib/clojure/core$dosync__4672.class +0 -0
  219. data/lib/clojure/core$dotimes__4025.class +0 -0
  220. data/lib/clojure/core$doto__4187$fn__4189.class +0 -0
  221. data/lib/clojure/core$doto__4187.class +0 -0
  222. data/lib/clojure/core$double__4077.class +0 -0
  223. data/lib/clojure/core$double_array__4742.class +0 -0
  224. data/lib/clojure/core$doubles__4790.class +0 -0
  225. data/lib/clojure/core$drop__3872$fn__3878.class +0 -0
  226. data/lib/clojure/core$drop__3872$step__3874.class +0 -0
  227. data/lib/clojure/core$drop__3872.class +0 -0
  228. data/lib/clojure/core$drop_last__3882$fn__3885.class +0 -0
  229. data/lib/clojure/core$drop_last__3882.class +0 -0
  230. data/lib/clojure/core$drop_while__3889$fn__3895.class +0 -0
  231. data/lib/clojure/core$drop_while__3889$step__3891.class +0 -0
  232. data/lib/clojure/core$drop_while__3889.class +0 -0
  233. data/lib/clojure/core$empty_QMARK___5084.class +0 -0
  234. data/lib/clojure/core$empty__4721.class +0 -0
  235. data/lib/clojure/core$ensure__3765.class +0 -0
  236. data/lib/clojure/core$enumeration_seq__4935.class +0 -0
  237. data/lib/clojure/core$escape_class_name__5576.class +0 -0
  238. data/lib/clojure/core$eval__3990.class +0 -0
  239. data/lib/clojure/core$eval__4760$fn__4762.class +0 -0
  240. data/lib/clojure/core$eval__4760.class +0 -0
  241. data/lib/clojure/core$eval__4772$fn__4774.class +0 -0
  242. data/lib/clojure/core$eval__4772.class +0 -0
  243. data/lib/clojure/core$eval__4784$fn__4786.class +0 -0
  244. data/lib/clojure/core$eval__4784.class +0 -0
  245. data/lib/clojure/core$eval__4796$fn__4798.class +0 -0
  246. data/lib/clojure/core$eval__4796.class +0 -0
  247. data/lib/clojure/core$even_QMARK___3545.class +0 -0
  248. data/lib/clojure/core$every_QMARK___3806.class +0 -0
  249. data/lib/clojure/core$false_QMARK___3202.class +0 -0
  250. data/lib/clojure/core$ffirst__3125.class +0 -0
  251. data/lib/clojure/core$file_seq__4601$fn__4603.class +0 -0
  252. data/lib/clojure/core$file_seq__4601$fn__4606.class +0 -0
  253. data/lib/clojure/core$file_seq__4601.class +0 -0
  254. data/lib/clojure/core$filter__3845$fn__3851.class +0 -0
  255. data/lib/clojure/core$filter__3845$step__3847.class +0 -0
  256. data/lib/clojure/core$filter__3845.class +0 -0
  257. data/lib/clojure/core$filter_key__4306.class +0 -0
  258. data/lib/clojure/core$find__3599.class +0 -0
  259. data/lib/clojure/core$find_doc__4571.class +0 -0
  260. data/lib/clojure/core$find_field__5583$fn__5585.class +0 -0
  261. data/lib/clojure/core$find_field__5583.class +0 -0
  262. data/lib/clojure/core$find_ns__4309.class +0 -0
  263. data/lib/clojure/core$find_var__3678.class +0 -0
  264. data/lib/clojure/core$first__3115.class +0 -0
  265. data/lib/clojure/core$float_QMARK___4124.class +0 -0
  266. data/lib/clojure/core$float__4071.class +0 -0
  267. data/lib/clojure/core$float_array__4735.class +0 -0
  268. data/lib/clojure/core$floats__4766.class +0 -0
  269. data/lib/clojure/core$flush__4156.class +0 -0
  270. data/lib/clojure/core$fn_QMARK___5099.class +0 -0
  271. data/lib/clojure/core$fn__3113.class +0 -0
  272. data/lib/clojure/core$fn__3288.class +0 -0
  273. data/lib/clojure/core$fn__3301.class +0 -0
  274. data/lib/clojure/core$fn__3329.class +0 -0
  275. data/lib/clojure/core$fn__3338.class +0 -0
  276. data/lib/clojure/core$fn__3347.class +0 -0
  277. data/lib/clojure/core$fn__3355.class +0 -0
  278. data/lib/clojure/core$fn__3363.class +0 -0
  279. data/lib/clojure/core$fn__3371.class +0 -0
  280. data/lib/clojure/core$fn__3379.class +0 -0
  281. data/lib/clojure/core$fn__3387.class +0 -0
  282. data/lib/clojure/core$fn__3395.class +0 -0
  283. data/lib/clojure/core$fn__3413.class +0 -0
  284. data/lib/clojure/core$fn__3419.class +0 -0
  285. data/lib/clojure/core$fn__3425.class +0 -0
  286. data/lib/clojure/core$fn__3431.class +0 -0
  287. data/lib/clojure/core$fn__3437.class +0 -0
  288. data/lib/clojure/core$fn__3443.class +0 -0
  289. data/lib/clojure/core$fn__3449.class +0 -0
  290. data/lib/clojure/core$fn__3455.class +0 -0
  291. data/lib/clojure/core$fn__3461.class +0 -0
  292. data/lib/clojure/core$fn__3467.class +0 -0
  293. data/lib/clojure/core$fn__3473.class +0 -0
  294. data/lib/clojure/core$fn__3479.class +0 -0
  295. data/lib/clojure/core$fn__3485.class +0 -0
  296. data/lib/clojure/core$fn__3500.class +0 -0
  297. data/lib/clojure/core$fn__3506.class +0 -0
  298. data/lib/clojure/core$fn__3512.class +0 -0
  299. data/lib/clojure/core$fn__3518.class +0 -0
  300. data/lib/clojure/core$fn__4050.class +0 -0
  301. data/lib/clojure/core$fn__4056.class +0 -0
  302. data/lib/clojure/core$fn__4062.class +0 -0
  303. data/lib/clojure/core$fn__4068.class +0 -0
  304. data/lib/clojure/core$fn__4074.class +0 -0
  305. data/lib/clojure/core$fn__4080.class +0 -0
  306. data/lib/clojure/core$fn__4086.class +0 -0
  307. data/lib/clojure/core$fn__4092.class +0 -0
  308. data/lib/clojure/core$fn__4098.class +0 -0
  309. data/lib/clojure/core$fn__4139.class +0 -0
  310. data/lib/clojure/core$fn__4142.class +0 -0
  311. data/lib/clojure/core$fn__4202.class +0 -0
  312. data/lib/clojure/core$fn__4208.class +0 -0
  313. data/lib/clojure/core$fn__4214.class +0 -0
  314. data/lib/clojure/core$fn__4221.class +0 -0
  315. data/lib/clojure/core$fn__4443$psig__4445.class +0 -0
  316. data/lib/clojure/core$fn__4443.class +0 -0
  317. data/lib/clojure/core$fn__4732.class +0 -0
  318. data/lib/clojure/core$fn__4739.class +0 -0
  319. data/lib/clojure/core$fn__4746.class +0 -0
  320. data/lib/clojure/core$fn__4753.class +0 -0
  321. data/lib/clojure/core$fn__4769.class +0 -0
  322. data/lib/clojure/core$fn__4781.class +0 -0
  323. data/lib/clojure/core$fn__4793.class +0 -0
  324. data/lib/clojure/core$fn__4805.class +0 -0
  325. data/lib/clojure/core$fn__4976.class +0 -0
  326. data/lib/clojure/core$fn__4980.class +0 -0
  327. data/lib/clojure/core$fn__4984.class +0 -0
  328. data/lib/clojure/core$fn__5379$fn__5381.class +0 -0
  329. data/lib/clojure/core$fn__5379.class +0 -0
  330. data/lib/clojure/core$fn__5385.class +0 -0
  331. data/lib/clojure/core$fn__5388.class +0 -0
  332. data/lib/clojure/core$fn__5394.class +0 -0
  333. data/lib/clojure/core$fn__5397.class +0 -0
  334. data/lib/clojure/core$fn__5400.class +0 -0
  335. data/lib/clojure/core$fn__5403.class +0 -0
  336. data/lib/clojure/core$fn__5406$fn__5408.class +0 -0
  337. data/lib/clojure/core$fn__5406.class +0 -0
  338. data/lib/clojure/core$fn__5412$fn__5414.class +0 -0
  339. data/lib/clojure/core$fn__5412.class +0 -0
  340. data/lib/clojure/core$fn__5418.class +0 -0
  341. data/lib/clojure/core$fn__5421.class +0 -0
  342. data/lib/clojure/core$fn__5427.class +0 -0
  343. data/lib/clojure/core$fn__5430.class +0 -0
  344. data/lib/clojure/core$fn__5433.class +0 -0
  345. data/lib/clojure/core$fn__5436.class +0 -0
  346. data/lib/clojure/core$fn__5439.class +0 -0
  347. data/lib/clojure/core$fn__5442.class +0 -0
  348. data/lib/clojure/core$fn__5445.class +0 -0
  349. data/lib/clojure/core$fn__5448.class +0 -0
  350. data/lib/clojure/core$fn__5453$fn__5455.class +0 -0
  351. data/lib/clojure/core$fn__5453.class +0 -0
  352. data/lib/clojure/core$fn__5459.class +0 -0
  353. data/lib/clojure/core$fn__5462.class +0 -0
  354. data/lib/clojure/core$fn__5467.class +0 -0
  355. data/lib/clojure/core$fn__5470.class +0 -0
  356. data/lib/clojure/core$fn__5479.class +0 -0
  357. data/lib/clojure/core$fn__5484$fn__5486.class +0 -0
  358. data/lib/clojure/core$fn__5484.class +0 -0
  359. data/lib/clojure/core$fn__5490.class +0 -0
  360. data/lib/clojure/core$fn__5493.class +0 -0
  361. data/lib/clojure/core$fn__5496.class +0 -0
  362. data/lib/clojure/core$fn__5500.class +0 -0
  363. data/lib/clojure/core$fn__5503.class +0 -0
  364. data/lib/clojure/core$fn__5506.class +0 -0
  365. data/lib/clojure/core$fn__5509.class +0 -0
  366. data/lib/clojure/core$fn__5512.class +0 -0
  367. data/lib/clojure/core$fn__5515.class +0 -0
  368. data/lib/clojure/core$fn__5518.class +0 -0
  369. data/lib/clojure/core$fn__5521.class +0 -0
  370. data/lib/clojure/core$fn__5524.class +0 -0
  371. data/lib/clojure/core$fn__5527.class +0 -0
  372. data/lib/clojure/core$fn__5530.class +0 -0
  373. data/lib/clojure/core$fn__5533.class +0 -0
  374. data/lib/clojure/core$fn__5536.class +0 -0
  375. data/lib/clojure/core$fn__5544.class +0 -0
  376. data/lib/clojure/core$fn__5547.class +0 -0
  377. data/lib/clojure/core$fn__5550.class +0 -0
  378. data/lib/clojure/core$fn__5774$prop__5777.class +0 -0
  379. data/lib/clojure/core$fn__5774.class +0 -0
  380. data/lib/clojure/core$fnext__3129.class +0 -0
  381. data/lib/clojure/core$for__4475$emit_bind__4489$do_mod__4495.class +0 -0
  382. data/lib/clojure/core$for__4475$emit_bind__4489.class +0 -0
  383. data/lib/clojure/core$for__4475$err__4485.class +0 -0
  384. data/lib/clojure/core$for__4475$to_groups__4477$fn__4480.class +0 -0
  385. data/lib/clojure/core$for__4475$to_groups__4477.class +0 -0
  386. data/lib/clojure/core$for__4475.class +0 -0
  387. data/lib/clojure/core$force__3281.class +0 -0
  388. data/lib/clojure/core$format__4938.class +0 -0
  389. data/lib/clojure/core$future__5722.class +0 -0
  390. data/lib/clojure/core$future_call__5702$fn__5704.class +0 -0
  391. data/lib/clojure/core$future_call__5702$fn__5707.class +0 -0
  392. data/lib/clojure/core$future_call__5702$fn__5710.class +0 -0
  393. data/lib/clojure/core$future_call__5702$fn__5713.class +0 -0
  394. data/lib/clojure/core$future_call__5702$fn__5717.class +0 -0
  395. data/lib/clojure/core$future_call__5702.class +0 -0
  396. data/lib/clojure/core$gen_class__5679.class +0 -0
  397. data/lib/clojure/core$gen_interface__5698.class +0 -0
  398. data/lib/clojure/core$generate_class__5596$arg_types__5608.class +0 -0
  399. data/lib/clojure/core$generate_class__5596$emit_forwarding_method__5642.class +0 -0
  400. data/lib/clojure/core$generate_class__5596$emit_get_var__5636.class +0 -0
  401. data/lib/clojure/core$generate_class__5596$emit_unsupported__5639.class +0 -0
  402. data/lib/clojure/core$generate_class__5596$fn__5614.class +0 -0
  403. data/lib/clojure/core$generate_class__5596$fn__5619.class +0 -0
  404. data/lib/clojure/core$generate_class__5596$fn__5624.class +0 -0
  405. data/lib/clojure/core$generate_class__5596$fn__5629$fn__5632.class +0 -0
  406. data/lib/clojure/core$generate_class__5596$fn__5629.class +0 -0
  407. data/lib/clojure/core$generate_class__5596$fn__5651.class +0 -0
  408. data/lib/clojure/core$generate_class__5596$fn__5654.class +0 -0
  409. data/lib/clojure/core$generate_class__5596$fn__5657.class +0 -0
  410. data/lib/clojure/core$generate_class__5596$fn__5664.class +0 -0
  411. data/lib/clojure/core$generate_class__5596$iname__5599.class +0 -0
  412. data/lib/clojure/core$generate_class__5596$to_types__5605.class +0 -0
  413. data/lib/clojure/core$generate_class__5596$totype__5602.class +0 -0
  414. data/lib/clojure/core$generate_class__5596$var_name__5611.class +0 -0
  415. data/lib/clojure/core$generate_class__5596.class +0 -0
  416. data/lib/clojure/core$generate_interface__5689$fn__5692.class +0 -0
  417. data/lib/clojure/core$generate_interface__5689.class +0 -0
  418. data/lib/clojure/core$generate_proxy__5188$fn__5209$fn__5212.class +0 -0
  419. data/lib/clojure/core$generate_proxy__5188$fn__5209.class +0 -0
  420. data/lib/clojure/core$generate_proxy__5188$fn__5237.class +0 -0
  421. data/lib/clojure/core$generate_proxy__5188$fn__5240.class +0 -0
  422. data/lib/clojure/core$generate_proxy__5188$fn__5247.class +0 -0
  423. data/lib/clojure/core$generate_proxy__5188$fn__5251.class +0 -0
  424. data/lib/clojure/core$generate_proxy__5188$gen_bridge__5199.class +0 -0
  425. data/lib/clojure/core$generate_proxy__5188$gen_method__5203.class +0 -0
  426. data/lib/clojure/core$generate_proxy__5188$iname__5190.class +0 -0
  427. data/lib/clojure/core$generate_proxy__5188$iter__5221__5225$fn__5226$iter__5223__5228$fn__5229.class +0 -0
  428. data/lib/clojure/core$generate_proxy__5188$iter__5221__5225$fn__5226$iter__5223__5228.class +0 -0
  429. data/lib/clojure/core$generate_proxy__5188$iter__5221__5225$fn__5226.class +0 -0
  430. data/lib/clojure/core$generate_proxy__5188$iter__5221__5225.class +0 -0
  431. data/lib/clojure/core$generate_proxy__5188$to_types__5196.class +0 -0
  432. data/lib/clojure/core$generate_proxy__5188$totype__5193.class +0 -0
  433. data/lib/clojure/core$generate_proxy__5188.class +0 -0
  434. data/lib/clojure/core$gensym__3233.class +0 -0
  435. data/lib/clojure/core$get__3585.class +0 -0
  436. data/lib/clojure/core$get_in__5071.class +0 -0
  437. data/lib/clojure/core$get_method__3653.class +0 -0
  438. data/lib/clojure/core$get_proxy_class__5259.class +0 -0
  439. data/lib/clojure/core$get_super_and_interfaces__5256.class +0 -0
  440. data/lib/clojure/core$get_validator__3747.class +0 -0
  441. data/lib/clojure/core$group_by_sig__5170$fn__5173.class +0 -0
  442. data/lib/clojure/core$group_by_sig__5170.class +0 -0
  443. data/lib/clojure/core$hash__4710.class +0 -0
  444. data/lib/clojure/core$hash_map__3173.class +0 -0
  445. data/lib/clojure/core$hash_set__3177.class +0 -0
  446. data/lib/clojure/core$identity__3566.class +0 -0
  447. data/lib/clojure/core$if_let__3663.class +0 -0
  448. data/lib/clojure/core$if_not__3284.class +0 -0
  449. data/lib/clojure/core$ifn_QMARK___5096.class +0 -0
  450. data/lib/clojure/core$import__4028.class +0 -0
  451. data/lib/clojure/core$inc__3416.class +0 -0
  452. data/lib/clojure/core$init_proxy__5268.class +0 -0
  453. data/lib/clojure/core$instance_QMARK___3135.class +0 -0
  454. data/lib/clojure/core$int__4059.class +0 -0
  455. data/lib/clojure/core$int_array__4749.class +0 -0
  456. data/lib/clojure/core$integer_QMARK___4107.class +0 -0
  457. data/lib/clojure/core$interleave__4383.class +0 -0
  458. data/lib/clojure/core$intern__5131.class +0 -0
  459. data/lib/clojure/core$interpose__4713.class +0 -0
  460. data/lib/clojure/core$into__4037.class +0 -0
  461. data/lib/clojure/core$into_array__4033.class +0 -0
  462. data/lib/clojure/core$ints__4778.class +0 -0
  463. data/lib/clojure/core$io_BANG___3771.class +0 -0
  464. data/lib/clojure/core$isa_QMARK___4843$fn__4846.class +0 -0
  465. data/lib/clojure/core$isa_QMARK___4843.class +0 -0
  466. data/lib/clojure/core$iterate__3922$fn__3924.class +0 -0
  467. data/lib/clojure/core$iterate__3922.class +0 -0
  468. data/lib/clojure/core$iterator_seq__4932.class +0 -0
  469. data/lib/clojure/core$key__3611.class +0 -0
  470. data/lib/clojure/core$keys__3605.class +0 -0
  471. data/lib/clojure/core$keyword_QMARK___3222.class +0 -0
  472. data/lib/clojure/core$keyword__3229.class +0 -0
  473. data/lib/clojure/core$last__3154.class +0 -0
  474. data/lib/clojure/core$lazy_cat__4466$fn__4468.class +0 -0
  475. data/lib/clojure/core$lazy_cat__4466.class +0 -0
  476. data/lib/clojure/core$lazy_seq__3252.class +0 -0
  477. data/lib/clojure/core$let__3109.class +0 -0
  478. data/lib/clojure/core$let__4440.class +0 -0
  479. data/lib/clojure/core$letfn__5768$fn__5770.class +0 -0
  480. data/lib/clojure/core$letfn__5768.class +0 -0
  481. data/lib/clojure/core$libspec_QMARK___4995.class +0 -0
  482. data/lib/clojure/core$line_seq__3959$fn__3961.class +0 -0
  483. data/lib/clojure/core$line_seq__3959.class +0 -0
  484. data/lib/clojure/core$list_QMARK___5090.class +0 -0
  485. data/lib/clojure/core$list_STAR___3249.class +0 -0
  486. data/lib/clojure/core$load__5058$fn__5061.class +0 -0
  487. data/lib/clojure/core$load__5058.class +0 -0
  488. data/lib/clojure/core$load_all__5019$fn__5021$fn__5023.class +0 -0
  489. data/lib/clojure/core$load_all__5019$fn__5021$fn__5026.class +0 -0
  490. data/lib/clojure/core$load_all__5019$fn__5021.class +0 -0
  491. data/lib/clojure/core$load_all__5019.class +0 -0
  492. data/lib/clojure/core$load_lib__5031.class +0 -0
  493. data/lib/clojure/core$load_libs__5043.class +0 -0
  494. data/lib/clojure/core$load_one__5010$fn__5012.class +0 -0
  495. data/lib/clojure/core$load_one__5010.class +0 -0
  496. data/lib/clojure/core$load_reader__4297.class +0 -0
  497. data/lib/clojure/core$load_string__4300.class +0 -0
  498. data/lib/clojure/core$loaded_libs__5055.class +0 -0
  499. data/lib/clojure/core$locking__3627.class +0 -0
  500. data/lib/clojure/core$long__4065.class +0 -0
  501. data/lib/clojure/core$long_array__4756.class +0 -0
  502. data/lib/clojure/core$longs__4802.class +0 -0
  503. data/lib/clojure/core$loop__3111.class +0 -0
  504. data/lib/clojure/core$loop__4450$fn__4452.class +0 -0
  505. data/lib/clojure/core$loop__4450$fn__4456.class +0 -0
  506. data/lib/clojure/core$loop__4450.class +0 -0
  507. data/lib/clojure/core$macroexpand_1__4276.class +0 -0
  508. data/lib/clojure/core$macroexpand__4279.class +0 -0
  509. data/lib/clojure/core$make_array__4268.class +0 -0
  510. data/lib/clojure/core$make_hierarchy__4830.class +0 -0
  511. data/lib/clojure/core$map_QMARK___3141.class +0 -0
  512. data/lib/clojure/core$map__3815$fn__3817.class +0 -0
  513. data/lib/clojure/core$map__3815$fn__3822.class +0 -0
  514. data/lib/clojure/core$map__3815$fn__3827.class +0 -0
  515. data/lib/clojure/core$map__3815$fn__3838.class +0 -0
  516. data/lib/clojure/core$map__3815$step__3833$fn__3834.class +0 -0
  517. data/lib/clojure/core$map__3815$step__3833.class +0 -0
  518. data/lib/clojure/core$map__3815.class +0 -0
  519. data/lib/clojure/core$mapcat__3842.class +0 -0
  520. data/lib/clojure/core$max__3403.class +0 -0
  521. data/lib/clojure/core$max_key__4628$fn__4632.class +0 -0
  522. data/lib/clojure/core$max_key__4628.class +0 -0
  523. data/lib/clojure/core$memfn__4194.class +0 -0
  524. data/lib/clojure/core$memoize__5138$fn__5140.class +0 -0
  525. data/lib/clojure/core$memoize__5138.class +0 -0
  526. data/lib/clojure/core$merge__3938$fn__3940.class +0 -0
  527. data/lib/clojure/core$merge__3938.class +0 -0
  528. data/lib/clojure/core$merge_with__3945$merge2__3950.class +0 -0
  529. data/lib/clojure/core$merge_with__3945$merge_entry__3947.class +0 -0
  530. data/lib/clojure/core$merge_with__3945.class +0 -0
  531. data/lib/clojure/core$meta__3150.class +0 -0
  532. data/lib/clojure/core$method_sig__5156.class +0 -0
  533. data/lib/clojure/core$methods__3650.class +0 -0
  534. data/lib/clojure/core$min__3408.class +0 -0
  535. data/lib/clojure/core$min_key__4638$fn__4642.class +0 -0
  536. data/lib/clojure/core$min_key__4638.class +0 -0
  537. data/lib/clojure/core$mod__4114.class +0 -0
  538. data/lib/clojure/core$most_specific__5160$fn__5162$fn__5164.class +0 -0
  539. data/lib/clojure/core$most_specific__5160$fn__5162.class +0 -0
  540. data/lib/clojure/core$most_specific__5160.class +0 -0
  541. data/lib/clojure/core$name__3620.class +0 -0
  542. data/lib/clojure/core$namespace__3623.class +0 -0
  543. data/lib/clojure/core$neg_QMARK___3482.class +0 -0
  544. data/lib/clojure/core$newline__4153.class +0 -0
  545. data/lib/clojure/core$next__3117.class +0 -0
  546. data/lib/clojure/core$nfirst__3127.class +0 -0
  547. data/lib/clojure/core$nil_QMARK___3199.class +0 -0
  548. data/lib/clojure/core$nnext__3131.class +0 -0
  549. data/lib/clojure/core$non_private_methods__5553$fn__5556.class +0 -0
  550. data/lib/clojure/core$non_private_methods__5553.class +0 -0
  551. data/lib/clojure/core$not_EQ___3296.class +0 -0
  552. data/lib/clojure/core$not__3208.class +0 -0
  553. data/lib/clojure/core$not_empty__4833.class +0 -0
  554. data/lib/clojure/core$ns__4948$fn__4958.class +0 -0
  555. data/lib/clojure/core$ns__4948$fn__4961.class +0 -0
  556. data/lib/clojure/core$ns__4948$fn__4964.class +0 -0
  557. data/lib/clojure/core$ns__4948$process_reference__4951$fn__4954.class +0 -0
  558. data/lib/clojure/core$ns__4948$process_reference__4951.class +0 -0
  559. data/lib/clojure/core$ns__4948.class +0 -0
  560. data/lib/clojure/core$ns_aliases__4370.class +0 -0
  561. data/lib/clojure/core$ns_imports__4342.class +0 -0
  562. data/lib/clojure/core$ns_interns__4360$fn__4362.class +0 -0
  563. data/lib/clojure/core$ns_interns__4360.class +0 -0
  564. data/lib/clojure/core$ns_map__4328.class +0 -0
  565. data/lib/clojure/core$ns_name__4325.class +0 -0
  566. data/lib/clojure/core$ns_publics__4334$fn__4336.class +0 -0
  567. data/lib/clojure/core$ns_publics__4334.class +0 -0
  568. data/lib/clojure/core$ns_refers__4353$fn__4355.class +0 -0
  569. data/lib/clojure/core$ns_refers__4353.class +0 -0
  570. data/lib/clojure/core$ns_resolve__4395.class +0 -0
  571. data/lib/clojure/core$ns_unalias__4373.class +0 -0
  572. data/lib/clojure/core$ns_unmap__4331.class +0 -0
  573. data/lib/clojure/core$nth__3578.class +0 -0
  574. data/lib/clojure/core$nthnext__4405.class +0 -0
  575. data/lib/clojure/core$num__4053.class +0 -0
  576. data/lib/clojure/core$number_QMARK___4104.class +0 -0
  577. data/lib/clojure/core$odd_QMARK___3548.class +0 -0
  578. data/lib/clojure/core$or__3314.class +0 -0
  579. data/lib/clojure/core$overload_name__5579.class +0 -0
  580. data/lib/clojure/core$parents__4861.class +0 -0
  581. data/lib/clojure/core$partial__3781$fn__3783.class +0 -0
  582. data/lib/clojure/core$partial__3781$fn__3787.class +0 -0
  583. data/lib/clojure/core$partial__3781$fn__3791.class +0 -0
  584. data/lib/clojure/core$partial__3781$fn__3795.class +0 -0
  585. data/lib/clojure/core$partial__3781.class +0 -0
  586. data/lib/clojure/core$partition__3982$fn__3985.class +0 -0
  587. data/lib/clojure/core$partition__3982.class +0 -0
  588. data/lib/clojure/core$pcalls__5754$fn__5756.class +0 -0
  589. data/lib/clojure/core$pcalls__5754.class +0 -0
  590. data/lib/clojure/core$peek__3572.class +0 -0
  591. data/lib/clojure/core$pmap__5727$fn__5729$fn__5731.class +0 -0
  592. data/lib/clojure/core$pmap__5727$fn__5729.class +0 -0
  593. data/lib/clojure/core$pmap__5727$fn__5749.class +0 -0
  594. data/lib/clojure/core$pmap__5727$step__5736$fn__5738.class +0 -0
  595. data/lib/clojure/core$pmap__5727$step__5736.class +0 -0
  596. data/lib/clojure/core$pmap__5727$step__5744$fn__5745.class +0 -0
  597. data/lib/clojure/core$pmap__5727$step__5744.class +0 -0
  598. data/lib/clojure/core$pmap__5727.class +0 -0
  599. data/lib/clojure/core$pop__3575.class +0 -0
  600. data/lib/clojure/core$pos_QMARK___3476.class +0 -0
  601. data/lib/clojure/core$pr__4148.class +0 -0
  602. data/lib/clojure/core$pr_on__4145.class +0 -0
  603. data/lib/clojure/core$pr_str__4512.class +0 -0
  604. data/lib/clojure/core$prefer_method__3647.class +0 -0
  605. data/lib/clojure/core$prefers__3656.class +0 -0
  606. data/lib/clojure/core$prependss__5001.class +0 -0
  607. data/lib/clojure/core$print__4162.class +0 -0
  608. data/lib/clojure/core$print_ctor__5391.class +0 -0
  609. data/lib/clojure/core$print_doc__4568.class +0 -0
  610. data/lib/clojure/core$print_map__5473$fn__5475.class +0 -0
  611. data/lib/clojure/core$print_map__5473.class +0 -0
  612. data/lib/clojure/core$print_meta__5370.class +0 -0
  613. data/lib/clojure/core$print_namespace_doc__4587.class +0 -0
  614. data/lib/clojure/core$print_sequential__5354.class +0 -0
  615. data/lib/clojure/core$print_simple__5424.class +0 -0
  616. data/lib/clojure/core$print_special_doc__4584.class +0 -0
  617. data/lib/clojure/core$print_str__4520.class +0 -0
  618. data/lib/clojure/core$printf__4941.class +0 -0
  619. data/lib/clojure/core$println__4165.class +0 -0
  620. data/lib/clojure/core$println_str__4524.class +0 -0
  621. data/lib/clojure/core$prn__4159.class +0 -0
  622. data/lib/clojure/core$prn_str__4516.class +0 -0
  623. data/lib/clojure/core$proxy__5279$fn__5282.class +0 -0
  624. data/lib/clojure/core$proxy__5279$fn__5287$fn__5291.class +0 -0
  625. data/lib/clojure/core$proxy__5279$fn__5287.class +0 -0
  626. data/lib/clojure/core$proxy__5279.class +0 -0
  627. data/lib/clojure/core$proxy_call_with_super__5297.class +0 -0
  628. data/lib/clojure/core$proxy_mappings__5274.class +0 -0
  629. data/lib/clojure/core$proxy_name__5179$fn__5181.class +0 -0
  630. data/lib/clojure/core$proxy_name__5179.class +0 -0
  631. data/lib/clojure/core$proxy_super__5300.class +0 -0
  632. data/lib/clojure/core$pvalues__5761$fn__5763.class +0 -0
  633. data/lib/clojure/core$pvalues__5761.class +0 -0
  634. data/lib/clojure/core$quot__3491.class +0 -0
  635. data/lib/clojure/core$rand__4558.class +0 -0
  636. data/lib/clojure/core$rand_int__4562.class +0 -0
  637. data/lib/clojure/core$range__3928.class +0 -0
  638. data/lib/clojure/core$ratio_QMARK___4118.class +0 -0
  639. data/lib/clojure/core$rational_QMARK___4128.class +0 -0
  640. data/lib/clojure/core$rationalize__3497.class +0 -0
  641. data/lib/clojure/core$re_find__4554.class +0 -0
  642. data/lib/clojure/core$re_groups__4540.class +0 -0
  643. data/lib/clojure/core$re_matcher__4537.class +0 -0
  644. data/lib/clojure/core$re_matches__4551.class +0 -0
  645. data/lib/clojure/core$re_pattern__4534.class +0 -0
  646. data/lib/clojure/core$re_seq__4543$step__4545$fn__4546.class +0 -0
  647. data/lib/clojure/core$re_seq__4543$step__4545.class +0 -0
  648. data/lib/clojure/core$re_seq__4543.class +0 -0
  649. data/lib/clojure/core$read__4168.class +0 -0
  650. data/lib/clojure/core$read_line__4174.class +0 -0
  651. data/lib/clojure/core$read_string__4177.class +0 -0
  652. data/lib/clojure/core$reduce__3319$fn__3322.class +0 -0
  653. data/lib/clojure/core$reduce__3319.class +0 -0
  654. data/lib/clojure/core$ref__3721.class +0 -0
  655. data/lib/clojure/core$ref_set__3762.class +0 -0
  656. data/lib/clojure/core$refer__4345.class +0 -0
  657. data/lib/clojure/core$refer_clojure__4969.class +0 -0
  658. data/lib/clojure/core$release_pending_sends__3694.class +0 -0
  659. data/lib/clojure/core$rem__3494.class +0 -0
  660. data/lib/clojure/core$remove__3855.class +0 -0
  661. data/lib/clojure/core$remove_method__3644.class +0 -0
  662. data/lib/clojure/core$remove_ns__4315.class +0 -0
  663. data/lib/clojure/core$remove_watch__3700.class +0 -0
  664. data/lib/clojure/core$remove_watcher__3709.class +0 -0
  665. data/lib/clojure/core$repeat__3912$fn__3914.class +0 -0
  666. data/lib/clojure/core$repeat__3912.class +0 -0
  667. data/lib/clojure/core$repeatedly__4701$fn__4703.class +0 -0
  668. data/lib/clojure/core$repeatedly__4701.class +0 -0
  669. data/lib/clojure/core$replace__4661$fn__4663.class +0 -0
  670. data/lib/clojure/core$replace__4661$fn__4667.class +0 -0
  671. data/lib/clojure/core$replace__4661.class +0 -0
  672. data/lib/clojure/core$replicate__3919.class +0 -0
  673. data/lib/clojure/core$require__5049.class +0 -0
  674. data/lib/clojure/core$reset_BANG___3741.class +0 -0
  675. data/lib/clojure/core$reset_meta_BANG___3753.class +0 -0
  676. data/lib/clojure/core$resolve__4398.class +0 -0
  677. data/lib/clojure/core$rest__3119.class +0 -0
  678. data/lib/clojure/core$resultset_seq__4911$fn__4913.class +0 -0
  679. data/lib/clojure/core$resultset_seq__4911$fn__4916.class +0 -0
  680. data/lib/clojure/core$resultset_seq__4911$row_values__4919$fn__4921.class +0 -0
  681. data/lib/clojure/core$resultset_seq__4911$row_values__4919.class +0 -0
  682. data/lib/clojure/core$resultset_seq__4911$thisfn__4925$fn__4926.class +0 -0
  683. data/lib/clojure/core$resultset_seq__4911$thisfn__4925.class +0 -0
  684. data/lib/clojure/core$resultset_seq__4911.class +0 -0
  685. data/lib/clojure/core$reverse__3326.class +0 -0
  686. data/lib/clojure/core$reversible_QMARK___5114.class +0 -0
  687. data/lib/clojure/core$root_directory__5007.class +0 -0
  688. data/lib/clojure/core$root_resource__5004.class +0 -0
  689. data/lib/clojure/core$rseq__3617.class +0 -0
  690. data/lib/clojure/core$rsubseq__4693.class +0 -0
  691. data/lib/clojure/core$second__3123.class +0 -0
  692. data/lib/clojure/core$select_keys__3602.class +0 -0
  693. data/lib/clojure/core$send__3688.class +0 -0
  694. data/lib/clojure/core$send_off__3691.class +0 -0
  695. data/lib/clojure/core$seq_QMARK___3137.class +0 -0
  696. data/lib/clojure/core$seq__3133.class +0 -0
  697. data/lib/clojure/core$seque__4808$drain__4818$fn__4819.class +0 -0
  698. data/lib/clojure/core$seque__4808$drain__4818.class +0 -0
  699. data/lib/clojure/core$seque__4808$fill__4811.class +0 -0
  700. data/lib/clojure/core$seque__4808.class +0 -0
  701. data/lib/clojure/core$sequence__3802.class +0 -0
  702. data/lib/clojure/core$sequential_QMARK___5105.class +0 -0
  703. data/lib/clojure/core$set_QMARK___5093.class +0 -0
  704. data/lib/clojure/core$set__4303.class +0 -0
  705. data/lib/clojure/core$set_validator_BANG___3744.class +0 -0
  706. data/lib/clojure/core$setup_reference__3681.class +0 -0
  707. data/lib/clojure/core$short__4083.class +0 -0
  708. data/lib/clojure/core$shutdown_agents__3718.class +0 -0
  709. data/lib/clojure/core$sigs__3145.class +0 -0
  710. data/lib/clojure/core$slurp__4619.class +0 -0
  711. data/lib/clojure/core$some__3810.class +0 -0
  712. data/lib/clojure/core$sort__3971.class +0 -0
  713. data/lib/clojure/core$sort_by__3975$fn__3978.class +0 -0
  714. data/lib/clojure/core$sort_by__3975.class +0 -0
  715. data/lib/clojure/core$sorted_QMARK___5108.class +0 -0
  716. data/lib/clojure/core$sorted_map__3181.class +0 -0
  717. data/lib/clojure/core$sorted_map_by__3187.class +0 -0
  718. data/lib/clojure/core$sorted_set__3184.class +0 -0
  719. data/lib/clojure/core$special_form_anchor__4578.class +0 -0
  720. data/lib/clojure/core$special_symbol_QMARK___4613.class +0 -0
  721. data/lib/clojure/core$split_at__3906.class +0 -0
  722. data/lib/clojure/core$split_with__3909.class +0 -0
  723. data/lib/clojure/core$spread__3240.class +0 -0
  724. data/lib/clojure/core$str__3211$fn__3215.class +0 -0
  725. data/lib/clojure/core$str__3211.class +0 -0
  726. data/lib/clojure/core$stream_QMARK___3799.class +0 -0
  727. data/lib/clojure/core$string_QMARK___3139.class +0 -0
  728. data/lib/clojure/core$struct__4291.class +0 -0
  729. data/lib/clojure/core$struct_map__4288.class +0 -0
  730. data/lib/clojure/core$subs__4622.class +0 -0
  731. data/lib/clojure/core$subseq__4685.class +0 -0
  732. data/lib/clojure/core$subvec__4180.class +0 -0
  733. data/lib/clojure/core$supers__4839.class +0 -0
  734. data/lib/clojure/core$swap_BANG___3732.class +0 -0
  735. data/lib/clojure/core$symbol_QMARK___3219.class +0 -0
  736. data/lib/clojure/core$symbol__3225.class +0 -0
  737. data/lib/clojure/core$sync__3768.class +0 -0
  738. data/lib/clojure/core$syntax_symbol_anchor__4581.class +0 -0
  739. data/lib/clojure/core$take__3858$fn__3860.class +0 -0
  740. data/lib/clojure/core$take__3858.class +0 -0
  741. data/lib/clojure/core$take_nth__4376$fn__4378.class +0 -0
  742. data/lib/clojure/core$take_nth__4376.class +0 -0
  743. data/lib/clojure/core$take_while__3865$fn__3867.class +0 -0
  744. data/lib/clojure/core$take_while__3865.class +0 -0
  745. data/lib/clojure/core$test__4531.class +0 -0
  746. data/lib/clojure/core$the_class__5590.class +0 -0
  747. data/lib/clojure/core$the_ns__4321.class +0 -0
  748. data/lib/clojure/core$throw_if__4989$boring_QMARK___4991.class +0 -0
  749. data/lib/clojure/core$throw_if__4989.class +0 -0
  750. data/lib/clojure/core$time__4199.class +0 -0
  751. data/lib/clojure/core$to_array_2d__4273.class +0 -0
  752. data/lib/clojure/core$to_array__3163.class +0 -0
  753. data/lib/clojure/core$trampoline__5124$fn__5127.class +0 -0
  754. data/lib/clojure/core$trampoline__5124.class +0 -0
  755. data/lib/clojure/core$tree_seq__4593$walk__4595$fn__4596.class +0 -0
  756. data/lib/clojure/core$tree_seq__4593$walk__4595.class +0 -0
  757. data/lib/clojure/core$tree_seq__4593.class +0 -0
  758. data/lib/clojure/core$true_QMARK___3205.class +0 -0
  759. data/lib/clojure/core$type__4046.class +0 -0
  760. data/lib/clojure/core$unchecked_add__3446.class +0 -0
  761. data/lib/clojure/core$unchecked_dec__3434.class +0 -0
  762. data/lib/clojure/core$unchecked_divide__3464.class +0 -0
  763. data/lib/clojure/core$unchecked_inc__3428.class +0 -0
  764. data/lib/clojure/core$unchecked_multiply__3458.class +0 -0
  765. data/lib/clojure/core$unchecked_negate__3440.class +0 -0
  766. data/lib/clojure/core$unchecked_remainder__3470.class +0 -0
  767. data/lib/clojure/core$unchecked_subtract__3452.class +0 -0
  768. data/lib/clojure/core$underive__4891$tf__4894$fn__4896.class +0 -0
  769. data/lib/clojure/core$underive__4891$tf__4894.class +0 -0
  770. data/lib/clojure/core$underive__4891.class +0 -0
  771. data/lib/clojure/core$update_in__5080.class +0 -0
  772. data/lib/clojure/core$update_proxy__5271.class +0 -0
  773. data/lib/clojure/core$use__5052.class +0 -0
  774. data/lib/clojure/core$val__3614.class +0 -0
  775. data/lib/clojure/core$vals__3608.class +0 -0
  776. data/lib/clojure/core$var_QMARK___4616.class +0 -0
  777. data/lib/clojure/core$var_get__4386.class +0 -0
  778. data/lib/clojure/core$var_set__4389.class +0 -0
  779. data/lib/clojure/core$vary_meta__3246.class +0 -0
  780. data/lib/clojure/core$vec__3170.class +0 -0
  781. data/lib/clojure/core$vector_QMARK___3143.class +0 -0
  782. data/lib/clojure/core$vector__3166.class +0 -0
  783. data/lib/clojure/core$when__3193.class +0 -0
  784. data/lib/clojure/core$when_first__4461.class +0 -0
  785. data/lib/clojure/core$when_let__3669.class +0 -0
  786. data/lib/clojure/core$when_not__3196.class +0 -0
  787. data/lib/clojure/core$while__5135.class +0 -0
  788. data/lib/clojure/core$with_in_str__4509.class +0 -0
  789. data/lib/clojure/core$with_local_vars__4392.class +0 -0
  790. data/lib/clojure/core$with_meta__3152.class +0 -0
  791. data/lib/clojure/core$with_open__4184.class +0 -0
  792. data/lib/clojure/core$with_out_str__4505.class +0 -0
  793. data/lib/clojure/core$with_precision__4675.class +0 -0
  794. data/lib/clojure/core$xml_seq__4610.class +0 -0
  795. data/lib/clojure/core$zero_QMARK___3488.class +0 -0
  796. data/lib/clojure/core$zipmap__3955.class +0 -0
  797. data/lib/clojure/core.clj +4121 -0
  798. data/lib/clojure/core__init.class +0 -0
  799. data/lib/clojure/core_print.clj +317 -0
  800. data/lib/clojure/core_print__init.class +0 -0
  801. data/lib/clojure/core_proxy.clj +394 -0
  802. data/lib/clojure/core_proxy__init.class +0 -0
  803. data/lib/clojure/genclass.clj +683 -0
  804. data/lib/clojure/genclass__init.class +0 -0
  805. data/lib/clojure/inspector$atom_QMARK___6181.class +0 -0
  806. data/lib/clojure/inspector$collection_tag__6184.class +0 -0
  807. data/lib/clojure/inspector$fn__6187.class +0 -0
  808. data/lib/clojure/inspector$fn__6190.class +0 -0
  809. data/lib/clojure/inspector$fn__6193.class +0 -0
  810. data/lib/clojure/inspector$fn__6196.class +0 -0
  811. data/lib/clojure/inspector$fn__6199.class +0 -0
  812. data/lib/clojure/inspector$fn__6202.class +0 -0
  813. data/lib/clojure/inspector$fn__6205.class +0 -0
  814. data/lib/clojure/inspector$fn__6208.class +0 -0
  815. data/lib/clojure/inspector$fn__6211.class +0 -0
  816. data/lib/clojure/inspector$fn__6278$fn__6280.class +0 -0
  817. data/lib/clojure/inspector$fn__6278$fn__6283.class +0 -0
  818. data/lib/clojure/inspector$fn__6278.class +0 -0
  819. data/lib/clojure/inspector$fn__6287$fn__6289.class +0 -0
  820. data/lib/clojure/inspector$fn__6287$fn__6292.class +0 -0
  821. data/lib/clojure/inspector$fn__6287.class +0 -0
  822. data/lib/clojure/inspector$fn__6296$fn__6299.class +0 -0
  823. data/lib/clojure/inspector$fn__6296$fn__6303.class +0 -0
  824. data/lib/clojure/inspector$fn__6296$fn__6306.class +0 -0
  825. data/lib/clojure/inspector$fn__6296.class +0 -0
  826. data/lib/clojure/inspector$fn__6324$fn__6326.class +0 -0
  827. data/lib/clojure/inspector$fn__6324$fn__6329.class +0 -0
  828. data/lib/clojure/inspector$fn__6324$fn__6332.class +0 -0
  829. data/lib/clojure/inspector$fn__6324.class +0 -0
  830. data/lib/clojure/inspector$inspect__6337.class +0 -0
  831. data/lib/clojure/inspector$inspect_table__6274.class +0 -0
  832. data/lib/clojure/inspector$inspect_tree__6270.class +0 -0
  833. data/lib/clojure/inspector$list_model__6310$fn__6313.class +0 -0
  834. data/lib/clojure/inspector$list_model__6310$fn__6316.class +0 -0
  835. data/lib/clojure/inspector$list_model__6310$fn__6319.class +0 -0
  836. data/lib/clojure/inspector$list_model__6310.class +0 -0
  837. data/lib/clojure/inspector$old_table_model__6242$fn__6244.class +0 -0
  838. data/lib/clojure/inspector$old_table_model__6242$fn__6247.class +0 -0
  839. data/lib/clojure/inspector$old_table_model__6242$fn__6250.class +0 -0
  840. data/lib/clojure/inspector$old_table_model__6242$fn__6253.class +0 -0
  841. data/lib/clojure/inspector$old_table_model__6242$fn__6256.class +0 -0
  842. data/lib/clojure/inspector$old_table_model__6242$fn__6259.class +0 -0
  843. data/lib/clojure/inspector$old_table_model__6242$fn__6262.class +0 -0
  844. data/lib/clojure/inspector$old_table_model__6242$fn__6265.class +0 -0
  845. data/lib/clojure/inspector$old_table_model__6242.class +0 -0
  846. data/lib/clojure/inspector$tree_model__6214$fn__6216.class +0 -0
  847. data/lib/clojure/inspector$tree_model__6214$fn__6219.class +0 -0
  848. data/lib/clojure/inspector$tree_model__6214$fn__6222.class +0 -0
  849. data/lib/clojure/inspector$tree_model__6214$fn__6225.class +0 -0
  850. data/lib/clojure/inspector$tree_model__6214$fn__6228.class +0 -0
  851. data/lib/clojure/inspector$tree_model__6214$fn__6231.class +0 -0
  852. data/lib/clojure/inspector$tree_model__6214$fn__6234.class +0 -0
  853. data/lib/clojure/inspector$tree_model__6214$fn__6237.class +0 -0
  854. data/lib/clojure/inspector$tree_model__6214.class +0 -0
  855. data/lib/clojure/inspector.clj +180 -0
  856. data/lib/clojure/inspector__init.class +0 -0
  857. data/lib/clojure/lang/AFn.class +0 -0
  858. data/lib/clojure/lang/AFunction.class +0 -0
  859. data/lib/clojure/lang/AMapEntry.class +0 -0
  860. data/lib/clojure/lang/APersistentMap$1.class +0 -0
  861. data/lib/clojure/lang/APersistentMap$2$1.class +0 -0
  862. data/lib/clojure/lang/APersistentMap$2.class +0 -0
  863. data/lib/clojure/lang/APersistentMap$3$1.class +0 -0
  864. data/lib/clojure/lang/APersistentMap$3.class +0 -0
  865. data/lib/clojure/lang/APersistentMap$KeySeq.class +0 -0
  866. data/lib/clojure/lang/APersistentMap$ValSeq.class +0 -0
  867. data/lib/clojure/lang/APersistentMap.class +0 -0
  868. data/lib/clojure/lang/APersistentSet.class +0 -0
  869. data/lib/clojure/lang/APersistentVector$1.class +0 -0
  870. data/lib/clojure/lang/APersistentVector$2.class +0 -0
  871. data/lib/clojure/lang/APersistentVector$RSeq.class +0 -0
  872. data/lib/clojure/lang/APersistentVector$Seq.class +0 -0
  873. data/lib/clojure/lang/APersistentVector$Src.class +0 -0
  874. data/lib/clojure/lang/APersistentVector$SubVector.class +0 -0
  875. data/lib/clojure/lang/APersistentVector.class +0 -0
  876. data/lib/clojure/lang/ARef.class +0 -0
  877. data/lib/clojure/lang/AReference.class +0 -0
  878. data/lib/clojure/lang/ASeq$Src.class +0 -0
  879. data/lib/clojure/lang/ASeq.class +0 -0
  880. data/lib/clojure/lang/Agent$Action.class +0 -0
  881. data/lib/clojure/lang/Agent.class +0 -0
  882. data/lib/clojure/lang/ArraySeq$ArraySeq_double.class +0 -0
  883. data/lib/clojure/lang/ArraySeq$ArraySeq_float.class +0 -0
  884. data/lib/clojure/lang/ArraySeq$ArraySeq_int.class +0 -0
  885. data/lib/clojure/lang/ArraySeq$ArraySeq_long.class +0 -0
  886. data/lib/clojure/lang/ArraySeq.class +0 -0
  887. data/lib/clojure/lang/ArrayStream$ArrayStream_boolean.class +0 -0
  888. data/lib/clojure/lang/ArrayStream$ArrayStream_byte.class +0 -0
  889. data/lib/clojure/lang/ArrayStream$ArrayStream_char.class +0 -0
  890. data/lib/clojure/lang/ArrayStream$ArrayStream_double.class +0 -0
  891. data/lib/clojure/lang/ArrayStream$ArrayStream_float.class +0 -0
  892. data/lib/clojure/lang/ArrayStream$ArrayStream_int.class +0 -0
  893. data/lib/clojure/lang/ArrayStream$ArrayStream_long.class +0 -0
  894. data/lib/clojure/lang/ArrayStream$ArrayStream_short.class +0 -0
  895. data/lib/clojure/lang/ArrayStream.class +0 -0
  896. data/lib/clojure/lang/Associative.class +0 -0
  897. data/lib/clojure/lang/Atom.class +0 -0
  898. data/lib/clojure/lang/Binding.class +0 -0
  899. data/lib/clojure/lang/Box.class +0 -0
  900. data/lib/clojure/lang/Compile.class +0 -0
  901. data/lib/clojure/lang/Compiler$1.class +0 -0
  902. data/lib/clojure/lang/Compiler$AssignExpr$Parser.class +0 -0
  903. data/lib/clojure/lang/Compiler$AssignExpr.class +0 -0
  904. data/lib/clojure/lang/Compiler$AssignableExpr.class +0 -0
  905. data/lib/clojure/lang/Compiler$BindingInit.class +0 -0
  906. data/lib/clojure/lang/Compiler$BodyExpr$Parser.class +0 -0
  907. data/lib/clojure/lang/Compiler$BodyExpr.class +0 -0
  908. data/lib/clojure/lang/Compiler$BooleanExpr.class +0 -0
  909. data/lib/clojure/lang/Compiler$C.class +0 -0
  910. data/lib/clojure/lang/Compiler$CompilerException.class +0 -0
  911. data/lib/clojure/lang/Compiler$ConstantExpr$Parser.class +0 -0
  912. data/lib/clojure/lang/Compiler$ConstantExpr.class +0 -0
  913. data/lib/clojure/lang/Compiler$DefExpr$Parser.class +0 -0
  914. data/lib/clojure/lang/Compiler$DefExpr.class +0 -0
  915. data/lib/clojure/lang/Compiler$EmptyExpr.class +0 -0
  916. data/lib/clojure/lang/Compiler$Expr.class +0 -0
  917. data/lib/clojure/lang/Compiler$FieldExpr.class +0 -0
  918. data/lib/clojure/lang/Compiler$FnExpr.class +0 -0
  919. data/lib/clojure/lang/Compiler$FnLoaderThunk.class +0 -0
  920. data/lib/clojure/lang/Compiler$FnMethod.class +0 -0
  921. data/lib/clojure/lang/Compiler$HostExpr$Parser.class +0 -0
  922. data/lib/clojure/lang/Compiler$HostExpr.class +0 -0
  923. data/lib/clojure/lang/Compiler$IParser.class +0 -0
  924. data/lib/clojure/lang/Compiler$IfExpr$Parser.class +0 -0
  925. data/lib/clojure/lang/Compiler$IfExpr.class +0 -0
  926. data/lib/clojure/lang/Compiler$InstanceFieldExpr.class +0 -0
  927. data/lib/clojure/lang/Compiler$InstanceMethodExpr.class +0 -0
  928. data/lib/clojure/lang/Compiler$InvokeExpr.class +0 -0
  929. data/lib/clojure/lang/Compiler$KeywordExpr.class +0 -0
  930. data/lib/clojure/lang/Compiler$LetExpr$Parser.class +0 -0
  931. data/lib/clojure/lang/Compiler$LetExpr.class +0 -0
  932. data/lib/clojure/lang/Compiler$LetFnExpr$Parser.class +0 -0
  933. data/lib/clojure/lang/Compiler$LetFnExpr.class +0 -0
  934. data/lib/clojure/lang/Compiler$ListExpr.class +0 -0
  935. data/lib/clojure/lang/Compiler$LiteralExpr.class +0 -0
  936. data/lib/clojure/lang/Compiler$LocalBinding.class +0 -0
  937. data/lib/clojure/lang/Compiler$LocalBindingExpr.class +0 -0
  938. data/lib/clojure/lang/Compiler$MapExpr.class +0 -0
  939. data/lib/clojure/lang/Compiler$MaybePrimitiveExpr.class +0 -0
  940. data/lib/clojure/lang/Compiler$MetaExpr.class +0 -0
  941. data/lib/clojure/lang/Compiler$MethodExpr.class +0 -0
  942. data/lib/clojure/lang/Compiler$MonitorEnterExpr$Parser.class +0 -0
  943. data/lib/clojure/lang/Compiler$MonitorEnterExpr.class +0 -0
  944. data/lib/clojure/lang/Compiler$MonitorExitExpr$Parser.class +0 -0
  945. data/lib/clojure/lang/Compiler$MonitorExitExpr.class +0 -0
  946. data/lib/clojure/lang/Compiler$NewExpr$Parser.class +0 -0
  947. data/lib/clojure/lang/Compiler$NewExpr.class +0 -0
  948. data/lib/clojure/lang/Compiler$NilExpr.class +0 -0
  949. data/lib/clojure/lang/Compiler$PSTATE.class +0 -0
  950. data/lib/clojure/lang/Compiler$RecurExpr$Parser.class +0 -0
  951. data/lib/clojure/lang/Compiler$RecurExpr.class +0 -0
  952. data/lib/clojure/lang/Compiler$SetExpr.class +0 -0
  953. data/lib/clojure/lang/Compiler$SourceDebugExtensionAttribute.class +0 -0
  954. data/lib/clojure/lang/Compiler$StaticFieldExpr.class +0 -0
  955. data/lib/clojure/lang/Compiler$StaticMethodExpr.class +0 -0
  956. data/lib/clojure/lang/Compiler$StringExpr.class +0 -0
  957. data/lib/clojure/lang/Compiler$TheVarExpr$Parser.class +0 -0
  958. data/lib/clojure/lang/Compiler$TheVarExpr.class +0 -0
  959. data/lib/clojure/lang/Compiler$ThrowExpr$Parser.class +0 -0
  960. data/lib/clojure/lang/Compiler$ThrowExpr.class +0 -0
  961. data/lib/clojure/lang/Compiler$TryExpr$CatchClause.class +0 -0
  962. data/lib/clojure/lang/Compiler$TryExpr$Parser.class +0 -0
  963. data/lib/clojure/lang/Compiler$TryExpr.class +0 -0
  964. data/lib/clojure/lang/Compiler$UnresolvedVarExpr.class +0 -0
  965. data/lib/clojure/lang/Compiler$UntypedExpr.class +0 -0
  966. data/lib/clojure/lang/Compiler$VarExpr.class +0 -0
  967. data/lib/clojure/lang/Compiler$VectorExpr.class +0 -0
  968. data/lib/clojure/lang/Compiler.class +0 -0
  969. data/lib/clojure/lang/Cons.class +0 -0
  970. data/lib/clojure/lang/Counted.class +0 -0
  971. data/lib/clojure/lang/Delay.class +0 -0
  972. data/lib/clojure/lang/DynamicClassLoader.class +0 -0
  973. data/lib/clojure/lang/EnumerationSeq$State.class +0 -0
  974. data/lib/clojure/lang/EnumerationSeq.class +0 -0
  975. data/lib/clojure/lang/Fn.class +0 -0
  976. data/lib/clojure/lang/IDeref.class +0 -0
  977. data/lib/clojure/lang/IFn.class +0 -0
  978. data/lib/clojure/lang/IMapEntry.class +0 -0
  979. data/lib/clojure/lang/IMeta.class +0 -0
  980. data/lib/clojure/lang/IObj.class +0 -0
  981. data/lib/clojure/lang/IPersistentCollection.class +0 -0
  982. data/lib/clojure/lang/IPersistentList.class +0 -0
  983. data/lib/clojure/lang/IPersistentMap.class +0 -0
  984. data/lib/clojure/lang/IPersistentSet.class +0 -0
  985. data/lib/clojure/lang/IPersistentStack.class +0 -0
  986. data/lib/clojure/lang/IPersistentVector.class +0 -0
  987. data/lib/clojure/lang/IProxy.class +0 -0
  988. data/lib/clojure/lang/IReduce.class +0 -0
  989. data/lib/clojure/lang/IRef.class +0 -0
  990. data/lib/clojure/lang/IReference.class +0 -0
  991. data/lib/clojure/lang/ISeq.class +0 -0
  992. data/lib/clojure/lang/IndexedSeq.class +0 -0
  993. data/lib/clojure/lang/IteratorSeq$State.class +0 -0
  994. data/lib/clojure/lang/IteratorSeq.class +0 -0
  995. data/lib/clojure/lang/IteratorStream.class +0 -0
  996. data/lib/clojure/lang/Keyword.class +0 -0
  997. data/lib/clojure/lang/LazilyPersistentVector.class +0 -0
  998. data/lib/clojure/lang/LazySeq.class +0 -0
  999. data/lib/clojure/lang/LineNumberingPushbackReader.class +0 -0
  1000. data/lib/clojure/lang/LispReader$ArgReader.class +0 -0
  1001. data/lib/clojure/lang/LispReader$CharacterReader.class +0 -0
  1002. data/lib/clojure/lang/LispReader$CommentReader.class +0 -0
  1003. data/lib/clojure/lang/LispReader$CtorReader.class +0 -0
  1004. data/lib/clojure/lang/LispReader$DiscardReader.class +0 -0
  1005. data/lib/clojure/lang/LispReader$DispatchReader.class +0 -0
  1006. data/lib/clojure/lang/LispReader$EvalReader.class +0 -0
  1007. data/lib/clojure/lang/LispReader$FnReader.class +0 -0
  1008. data/lib/clojure/lang/LispReader$ListReader.class +0 -0
  1009. data/lib/clojure/lang/LispReader$MapReader.class +0 -0
  1010. data/lib/clojure/lang/LispReader$MetaReader.class +0 -0
  1011. data/lib/clojure/lang/LispReader$ReaderException.class +0 -0
  1012. data/lib/clojure/lang/LispReader$RegexReader.class +0 -0
  1013. data/lib/clojure/lang/LispReader$SetReader.class +0 -0
  1014. data/lib/clojure/lang/LispReader$StringReader.class +0 -0
  1015. data/lib/clojure/lang/LispReader$SyntaxQuoteReader.class +0 -0
  1016. data/lib/clojure/lang/LispReader$UnmatchedDelimiterReader.class +0 -0
  1017. data/lib/clojure/lang/LispReader$UnquoteReader.class +0 -0
  1018. data/lib/clojure/lang/LispReader$UnreadableReader.class +0 -0
  1019. data/lib/clojure/lang/LispReader$VarReader.class +0 -0
  1020. data/lib/clojure/lang/LispReader$VectorReader.class +0 -0
  1021. data/lib/clojure/lang/LispReader$WrappingReader.class +0 -0
  1022. data/lib/clojure/lang/LispReader.class +0 -0
  1023. data/lib/clojure/lang/LockingTransaction$AbortException.class +0 -0
  1024. data/lib/clojure/lang/LockingTransaction$CFn.class +0 -0
  1025. data/lib/clojure/lang/LockingTransaction$Info.class +0 -0
  1026. data/lib/clojure/lang/LockingTransaction$Notify.class +0 -0
  1027. data/lib/clojure/lang/LockingTransaction$RetryEx.class +0 -0
  1028. data/lib/clojure/lang/LockingTransaction.class +0 -0
  1029. data/lib/clojure/lang/MapEntry.class +0 -0
  1030. data/lib/clojure/lang/MultiFn.class +0 -0
  1031. data/lib/clojure/lang/Named.class +0 -0
  1032. data/lib/clojure/lang/Namespace.class +0 -0
  1033. data/lib/clojure/lang/Numbers$BigDecimalOps.class +0 -0
  1034. data/lib/clojure/lang/Numbers$BigIntegerBitOps.class +0 -0
  1035. data/lib/clojure/lang/Numbers$BigIntegerOps.class +0 -0
  1036. data/lib/clojure/lang/Numbers$BitOps.class +0 -0
  1037. data/lib/clojure/lang/Numbers$DoubleOps.class +0 -0
  1038. data/lib/clojure/lang/Numbers$FloatOps.class +0 -0
  1039. data/lib/clojure/lang/Numbers$IntegerBitOps.class +0 -0
  1040. data/lib/clojure/lang/Numbers$IntegerOps.class +0 -0
  1041. data/lib/clojure/lang/Numbers$LongBitOps.class +0 -0
  1042. data/lib/clojure/lang/Numbers$LongOps.class +0 -0
  1043. data/lib/clojure/lang/Numbers$Ops.class +0 -0
  1044. data/lib/clojure/lang/Numbers$RatioOps.class +0 -0
  1045. data/lib/clojure/lang/Numbers.class +0 -0
  1046. data/lib/clojure/lang/Obj.class +0 -0
  1047. data/lib/clojure/lang/PersistentArrayMap$Iter.class +0 -0
  1048. data/lib/clojure/lang/PersistentArrayMap$Seq.class +0 -0
  1049. data/lib/clojure/lang/PersistentArrayMap.class +0 -0
  1050. data/lib/clojure/lang/PersistentHashMap$BitmapIndexedNode$Seq.class +0 -0
  1051. data/lib/clojure/lang/PersistentHashMap$BitmapIndexedNode.class +0 -0
  1052. data/lib/clojure/lang/PersistentHashMap$EmptyNode.class +0 -0
  1053. data/lib/clojure/lang/PersistentHashMap$FullNode$Seq.class +0 -0
  1054. data/lib/clojure/lang/PersistentHashMap$FullNode.class +0 -0
  1055. data/lib/clojure/lang/PersistentHashMap$HashCollisionNode.class +0 -0
  1056. data/lib/clojure/lang/PersistentHashMap$INode.class +0 -0
  1057. data/lib/clojure/lang/PersistentHashMap$LeafNode.class +0 -0
  1058. data/lib/clojure/lang/PersistentHashMap.class +0 -0
  1059. data/lib/clojure/lang/PersistentHashSet.class +0 -0
  1060. data/lib/clojure/lang/PersistentList$1.class +0 -0
  1061. data/lib/clojure/lang/PersistentList$EmptyList$1.class +0 -0
  1062. data/lib/clojure/lang/PersistentList$EmptyList.class +0 -0
  1063. data/lib/clojure/lang/PersistentList.class +0 -0
  1064. data/lib/clojure/lang/PersistentQueue$Seq.class +0 -0
  1065. data/lib/clojure/lang/PersistentQueue.class +0 -0
  1066. data/lib/clojure/lang/PersistentStructMap$1.class +0 -0
  1067. data/lib/clojure/lang/PersistentStructMap$Def.class +0 -0
  1068. data/lib/clojure/lang/PersistentStructMap$Seq.class +0 -0
  1069. data/lib/clojure/lang/PersistentStructMap.class +0 -0
  1070. data/lib/clojure/lang/PersistentTreeMap$Black.class +0 -0
  1071. data/lib/clojure/lang/PersistentTreeMap$BlackBranch.class +0 -0
  1072. data/lib/clojure/lang/PersistentTreeMap$BlackBranchVal.class +0 -0
  1073. data/lib/clojure/lang/PersistentTreeMap$BlackVal.class +0 -0
  1074. data/lib/clojure/lang/PersistentTreeMap$KeyIterator.class +0 -0
  1075. data/lib/clojure/lang/PersistentTreeMap$Node.class +0 -0
  1076. data/lib/clojure/lang/PersistentTreeMap$NodeIterator.class +0 -0
  1077. data/lib/clojure/lang/PersistentTreeMap$Red.class +0 -0
  1078. data/lib/clojure/lang/PersistentTreeMap$RedBranch.class +0 -0
  1079. data/lib/clojure/lang/PersistentTreeMap$RedBranchVal.class +0 -0
  1080. data/lib/clojure/lang/PersistentTreeMap$RedVal.class +0 -0
  1081. data/lib/clojure/lang/PersistentTreeMap$Seq.class +0 -0
  1082. data/lib/clojure/lang/PersistentTreeMap$ValIterator.class +0 -0
  1083. data/lib/clojure/lang/PersistentTreeMap.class +0 -0
  1084. data/lib/clojure/lang/PersistentTreeSet.class +0 -0
  1085. data/lib/clojure/lang/PersistentVector.class +0 -0
  1086. data/lib/clojure/lang/ProxyHandler.class +0 -0
  1087. data/lib/clojure/lang/RT$1.class +0 -0
  1088. data/lib/clojure/lang/RT$2.class +0 -0
  1089. data/lib/clojure/lang/RT$3.class +0 -0
  1090. data/lib/clojure/lang/RT$4.class +0 -0
  1091. data/lib/clojure/lang/RT$5.class +0 -0
  1092. data/lib/clojure/lang/RT$6.class +0 -0
  1093. data/lib/clojure/lang/RT.class +0 -0
  1094. data/lib/clojure/lang/Range$Src.class +0 -0
  1095. data/lib/clojure/lang/Range.class +0 -0
  1096. data/lib/clojure/lang/Ratio.class +0 -0
  1097. data/lib/clojure/lang/Ref$TVal.class +0 -0
  1098. data/lib/clojure/lang/Ref.class +0 -0
  1099. data/lib/clojure/lang/Reflector.class +0 -0
  1100. data/lib/clojure/lang/Repl.class +0 -0
  1101. data/lib/clojure/lang/RestFn.class +0 -0
  1102. data/lib/clojure/lang/Reversible.class +0 -0
  1103. data/lib/clojure/lang/Script.class +0 -0
  1104. data/lib/clojure/lang/SeqEnumeration.class +0 -0
  1105. data/lib/clojure/lang/SeqIterator.class +0 -0
  1106. data/lib/clojure/lang/Seqable.class +0 -0
  1107. data/lib/clojure/lang/Sequential.class +0 -0
  1108. data/lib/clojure/lang/Settable.class +0 -0
  1109. data/lib/clojure/lang/Sorted.class +0 -0
  1110. data/lib/clojure/lang/Stream$1.class +0 -0
  1111. data/lib/clojure/lang/Stream$2.class +0 -0
  1112. data/lib/clojure/lang/Stream.class +0 -0
  1113. data/lib/clojure/lang/Streamable.class +0 -0
  1114. data/lib/clojure/lang/StringSeq.class +0 -0
  1115. data/lib/clojure/lang/Symbol.class +0 -0
  1116. data/lib/clojure/lang/TransactionalHashMap$1.class +0 -0
  1117. data/lib/clojure/lang/TransactionalHashMap.class +0 -0
  1118. data/lib/clojure/lang/Util.class +0 -0
  1119. data/lib/clojure/lang/Var$1.class +0 -0
  1120. data/lib/clojure/lang/Var$2.class +0 -0
  1121. data/lib/clojure/lang/Var$Frame.class +0 -0
  1122. data/lib/clojure/lang/Var.class +0 -0
  1123. data/lib/clojure/lang/XMLHandler.class +0 -0
  1124. data/lib/clojure/main$eval_opt__5839.class +0 -0
  1125. data/lib/clojure/main$help_opt__5871.class +0 -0
  1126. data/lib/clojure/main$init_dispatch__5843.class +0 -0
  1127. data/lib/clojure/main$init_opt__5836.class +0 -0
  1128. data/lib/clojure/main$initialize__5846.class +0 -0
  1129. data/lib/clojure/main$legacy_repl__5878.class +0 -0
  1130. data/lib/clojure/main$legacy_script__5883.class +0 -0
  1131. data/lib/clojure/main$load_script__5833.class +0 -0
  1132. data/lib/clojure/main$main__5888.class +0 -0
  1133. data/lib/clojure/main$main_dispatch__5874.class +0 -0
  1134. data/lib/clojure/main$null_opt__5868.class +0 -0
  1135. data/lib/clojure/main$repl__5813$fn__5816.class +0 -0
  1136. data/lib/clojure/main$repl__5813$fn__5819.class +0 -0
  1137. data/lib/clojure/main$repl__5813$fn__5822.class +0 -0
  1138. data/lib/clojure/main$repl__5813$fn__5829.class +0 -0
  1139. data/lib/clojure/main$repl__5813$read_eval_print__5825.class +0 -0
  1140. data/lib/clojure/main$repl__5813.class +0 -0
  1141. data/lib/clojure/main$repl_caught__5810.class +0 -0
  1142. data/lib/clojure/main$repl_exception__5807.class +0 -0
  1143. data/lib/clojure/main$repl_opt__5853$fn__5856.class +0 -0
  1144. data/lib/clojure/main$repl_opt__5853$fn__5859.class +0 -0
  1145. data/lib/clojure/main$repl_opt__5853.class +0 -0
  1146. data/lib/clojure/main$repl_prompt__5789.class +0 -0
  1147. data/lib/clojure/main$repl_read__5799.class +0 -0
  1148. data/lib/clojure/main$root_cause__5803.class +0 -0
  1149. data/lib/clojure/main$script_opt__5864.class +0 -0
  1150. data/lib/clojure/main$skip_if_eol__5792.class +0 -0
  1151. data/lib/clojure/main$skip_whitespace__5795.class +0 -0
  1152. data/lib/clojure/main$with_bindings__5786.class +0 -0
  1153. data/lib/clojure/main.class +0 -0
  1154. data/lib/clojure/main.clj +337 -0
  1155. data/lib/clojure/main__init.class +0 -0
  1156. data/lib/clojure/parallel.clj +248 -0
  1157. data/lib/clojure/proxy/clojure/lang/APersistentMap.class +0 -0
  1158. data/lib/clojure/proxy/java/lang/Object$ContentHandler.class +0 -0
  1159. data/lib/clojure/proxy/java/lang/Object$Future$IDeref.class +0 -0
  1160. data/lib/clojure/proxy/java/lang/Object$TableModel.class +0 -0
  1161. data/lib/clojure/proxy/java/lang/Object$TreeModel.class +0 -0
  1162. data/lib/clojure/proxy/javax/swing/table/AbstractTableModel.class +0 -0
  1163. data/lib/clojure/set$bubble_max_key__5896$fn__5898.class +0 -0
  1164. data/lib/clojure/set$bubble_max_key__5896.class +0 -0
  1165. data/lib/clojure/set$difference__5920$fn__5923.class +0 -0
  1166. data/lib/clojure/set$difference__5920.class +0 -0
  1167. data/lib/clojure/set$index__5956$fn__5958.class +0 -0
  1168. data/lib/clojure/set$index__5956.class +0 -0
  1169. data/lib/clojure/set$intersection__5909$fn__5912.class +0 -0
  1170. data/lib/clojure/set$intersection__5909$fn__5916.class +0 -0
  1171. data/lib/clojure/set$intersection__5909.class +0 -0
  1172. data/lib/clojure/set$join__5974$fn__5977$fn__5979.class +0 -0
  1173. data/lib/clojure/set$join__5974$fn__5977.class +0 -0
  1174. data/lib/clojure/set$join__5974$fn__5985$fn__5987.class +0 -0
  1175. data/lib/clojure/set$join__5974$fn__5985.class +0 -0
  1176. data/lib/clojure/set$join__5974.class +0 -0
  1177. data/lib/clojure/set$map_invert__5962$fn__5965.class +0 -0
  1178. data/lib/clojure/set$map_invert__5962.class +0 -0
  1179. data/lib/clojure/set$project__5935$fn__5937.class +0 -0
  1180. data/lib/clojure/set$project__5935.class +0 -0
  1181. data/lib/clojure/set$rename__5950$fn__5952.class +0 -0
  1182. data/lib/clojure/set$rename__5950.class +0 -0
  1183. data/lib/clojure/set$rename_keys__5941$fn__5944.class +0 -0
  1184. data/lib/clojure/set$rename_keys__5941.class +0 -0
  1185. data/lib/clojure/set$select__5928$fn__5930.class +0 -0
  1186. data/lib/clojure/set$select__5928.class +0 -0
  1187. data/lib/clojure/set$union__5902.class +0 -0
  1188. data/lib/clojure/set.clj +148 -0
  1189. data/lib/clojure/set__init.class +0 -0
  1190. data/lib/clojure/version.properties +5 -0
  1191. data/lib/clojure/xml$emit__6057.class +0 -0
  1192. data/lib/clojure/xml$emit_element__6052.class +0 -0
  1193. data/lib/clojure/xml$fn__5994$fn__6007.class +0 -0
  1194. data/lib/clojure/xml$fn__5994$fn__6010.class +0 -0
  1195. data/lib/clojure/xml$fn__5994$fn__6013.class +0 -0
  1196. data/lib/clojure/xml$fn__5994$fn__6016.class +0 -0
  1197. data/lib/clojure/xml$fn__5994$fn__6019.class +0 -0
  1198. data/lib/clojure/xml$fn__5994$fn__6022.class +0 -0
  1199. data/lib/clojure/xml$fn__5994$fn__6025.class +0 -0
  1200. data/lib/clojure/xml$fn__5994$fn__6028$attrs__6030.class +0 -0
  1201. data/lib/clojure/xml$fn__5994$fn__6028.class +0 -0
  1202. data/lib/clojure/xml$fn__5994$fn__6034.class +0 -0
  1203. data/lib/clojure/xml$fn__5994$fn__6037.class +0 -0
  1204. data/lib/clojure/xml$fn__5994$fn__6040.class +0 -0
  1205. data/lib/clojure/xml$fn__5994$push_chars__6000$fn__6002.class +0 -0
  1206. data/lib/clojure/xml$fn__5994$push_chars__6000.class +0 -0
  1207. data/lib/clojure/xml$fn__5994$push_content__5996.class +0 -0
  1208. data/lib/clojure/xml$fn__5994.class +0 -0
  1209. data/lib/clojure/xml$parse__6048.class +0 -0
  1210. data/lib/clojure/xml$startparse_sax__6045.class +0 -0
  1211. data/lib/clojure/xml.clj +115 -0
  1212. data/lib/clojure/xml__init.class +0 -0
  1213. data/lib/clojure/zip$append_child__6155.class +0 -0
  1214. data/lib/clojure/zip$branch_QMARK___6085.class +0 -0
  1215. data/lib/clojure/zip$children__6088.class +0 -0
  1216. data/lib/clojure/zip$down__6103.class +0 -0
  1217. data/lib/clojure/zip$edit__6149.class +0 -0
  1218. data/lib/clojure/zip$end_QMARK___6171.class +0 -0
  1219. data/lib/clojure/zip$insert_child__6152.class +0 -0
  1220. data/lib/clojure/zip$insert_left__6137.class +0 -0
  1221. data/lib/clojure/zip$insert_right__6141.class +0 -0
  1222. data/lib/clojure/zip$left__6127.class +0 -0
  1223. data/lib/clojure/zip$leftmost__6132.class +0 -0
  1224. data/lib/clojure/zip$lefts__6097.class +0 -0
  1225. data/lib/clojure/zip$make_node__6091.class +0 -0
  1226. data/lib/clojure/zip$next__6158.class +0 -0
  1227. data/lib/clojure/zip$node__6082.class +0 -0
  1228. data/lib/clojure/zip$path__6094.class +0 -0
  1229. data/lib/clojure/zip$prev__6165.class +0 -0
  1230. data/lib/clojure/zip$remove__6174.class +0 -0
  1231. data/lib/clojure/zip$replace__6145.class +0 -0
  1232. data/lib/clojure/zip$right__6116.class +0 -0
  1233. data/lib/clojure/zip$rightmost__6122.class +0 -0
  1234. data/lib/clojure/zip$rights__6100.class +0 -0
  1235. data/lib/clojure/zip$root__6113.class +0 -0
  1236. data/lib/clojure/zip$seq_zip__6063$fn__6065.class +0 -0
  1237. data/lib/clojure/zip$seq_zip__6063.class +0 -0
  1238. data/lib/clojure/zip$up__6108.class +0 -0
  1239. data/lib/clojure/zip$vector_zip__6069$fn__6071.class +0 -0
  1240. data/lib/clojure/zip$vector_zip__6069.class +0 -0
  1241. data/lib/clojure/zip$xml_zip__6075$fn__6077.class +0 -0
  1242. data/lib/clojure/zip$xml_zip__6075.class +0 -0
  1243. data/lib/clojure/zip$zipper__6060.class +0 -0
  1244. data/lib/clojure/zip.clj +278 -0
  1245. data/lib/clojure/zip__init.class +0 -0
  1246. data/src/clj/clojure/core.clj +4121 -0
  1247. data/src/clj/clojure/core_print.clj +317 -0
  1248. data/src/clj/clojure/core_proxy.clj +394 -0
  1249. data/src/clj/clojure/genclass.clj +683 -0
  1250. data/src/clj/clojure/inspector.clj +180 -0
  1251. data/src/clj/clojure/main.clj +337 -0
  1252. data/src/clj/clojure/parallel.clj +248 -0
  1253. data/src/clj/clojure/set.clj +148 -0
  1254. data/src/clj/clojure/version.properties +5 -0
  1255. data/src/clj/clojure/xml.clj +115 -0
  1256. data/src/clj/clojure/zip.clj +278 -0
  1257. data/src/jvm/clojure/asm/AnnotationVisitor.java +97 -0
  1258. data/src/jvm/clojure/asm/AnnotationWriter.java +357 -0
  1259. data/src/jvm/clojure/asm/Attribute.java +253 -0
  1260. data/src/jvm/clojure/asm/ByteVector.java +318 -0
  1261. data/src/jvm/clojure/asm/ClassAdapter.java +115 -0
  1262. data/src/jvm/clojure/asm/ClassReader.java +2224 -0
  1263. data/src/jvm/clojure/asm/ClassVisitor.java +196 -0
  1264. data/src/jvm/clojure/asm/ClassWriter.java +1415 -0
  1265. data/src/jvm/clojure/asm/Edge.java +75 -0
  1266. data/src/jvm/clojure/asm/FieldVisitor.java +64 -0
  1267. data/src/jvm/clojure/asm/FieldWriter.java +290 -0
  1268. data/src/jvm/clojure/asm/Frame.java +1506 -0
  1269. data/src/jvm/clojure/asm/Handler.java +70 -0
  1270. data/src/jvm/clojure/asm/Item.java +258 -0
  1271. data/src/jvm/clojure/asm/Label.java +437 -0
  1272. data/src/jvm/clojure/asm/MethodAdapter.java +186 -0
  1273. data/src/jvm/clojure/asm/MethodVisitor.java +396 -0
  1274. data/src/jvm/clojure/asm/MethodWriter.java +3029 -0
  1275. data/src/jvm/clojure/asm/Opcodes.java +341 -0
  1276. data/src/jvm/clojure/asm/Type.java +872 -0
  1277. data/src/jvm/clojure/asm/commons/AdviceAdapter.java +681 -0
  1278. data/src/jvm/clojure/asm/commons/AnalyzerAdapter.java +938 -0
  1279. data/src/jvm/clojure/asm/commons/CodeSizeEvaluator.java +234 -0
  1280. data/src/jvm/clojure/asm/commons/EmptyVisitor.java +221 -0
  1281. data/src/jvm/clojure/asm/commons/GeneratorAdapter.java +1533 -0
  1282. data/src/jvm/clojure/asm/commons/LocalVariablesSorter.java +330 -0
  1283. data/src/jvm/clojure/asm/commons/Method.java +267 -0
  1284. data/src/jvm/clojure/asm/commons/SerialVersionUIDAdder.java +508 -0
  1285. data/src/jvm/clojure/asm/commons/StaticInitMerger.java +102 -0
  1286. data/src/jvm/clojure/asm/commons/TableSwitchGenerator.java +55 -0
  1287. data/src/jvm/clojure/asm/commons/package.html +48 -0
  1288. data/src/jvm/clojure/asm/package.html +87 -0
  1289. data/src/jvm/clojure/lang/AFn.java +452 -0
  1290. data/src/jvm/clojure/lang/AFunction.java +47 -0
  1291. data/src/jvm/clojure/lang/AMapEntry.java +149 -0
  1292. data/src/jvm/clojure/lang/APersistentMap.java +382 -0
  1293. data/src/jvm/clojure/lang/APersistentSet.java +159 -0
  1294. data/src/jvm/clojure/lang/APersistentVector.java +579 -0
  1295. data/src/jvm/clojure/lang/ARef.java +107 -0
  1296. data/src/jvm/clojure/lang/AReference.java +40 -0
  1297. data/src/jvm/clojure/lang/ASeq.java +282 -0
  1298. data/src/jvm/clojure/lang/Agent.java +194 -0
  1299. data/src/jvm/clojure/lang/ArraySeq.java +316 -0
  1300. data/src/jvm/clojure/lang/ArrayStream.java +184 -0
  1301. data/src/jvm/clojure/lang/Associative.java +22 -0
  1302. data/src/jvm/clojure/lang/Atom.java +104 -0
  1303. data/src/jvm/clojure/lang/Binding.java +26 -0
  1304. data/src/jvm/clojure/lang/Box.java +22 -0
  1305. data/src/jvm/clojure/lang/Compile.java +73 -0
  1306. data/src/jvm/clojure/lang/Compiler.java +5017 -0
  1307. data/src/jvm/clojure/lang/Cons.java +53 -0
  1308. data/src/jvm/clojure/lang/Counted.java +18 -0
  1309. data/src/jvm/clojure/lang/Delay.java +38 -0
  1310. data/src/jvm/clojure/lang/DynamicClassLoader.java +71 -0
  1311. data/src/jvm/clojure/lang/EnumerationSeq.java +71 -0
  1312. data/src/jvm/clojure/lang/Fn.java +16 -0
  1313. data/src/jvm/clojure/lang/IDeref.java +17 -0
  1314. data/src/jvm/clojure/lang/IFn.java +90 -0
  1315. data/src/jvm/clojure/lang/IMapEntry.java +19 -0
  1316. data/src/jvm/clojure/lang/IMeta.java +17 -0
  1317. data/src/jvm/clojure/lang/IObj.java +18 -0
  1318. data/src/jvm/clojure/lang/IPersistentCollection.java +23 -0
  1319. data/src/jvm/clojure/lang/IPersistentList.java +16 -0
  1320. data/src/jvm/clojure/lang/IPersistentMap.java +23 -0
  1321. data/src/jvm/clojure/lang/IPersistentSet.java +19 -0
  1322. data/src/jvm/clojure/lang/IPersistentStack.java +19 -0
  1323. data/src/jvm/clojure/lang/IPersistentVector.java +22 -0
  1324. data/src/jvm/clojure/lang/IProxy.java +21 -0
  1325. data/src/jvm/clojure/lang/IReduce.java +19 -0
  1326. data/src/jvm/clojure/lang/IRef.java +27 -0
  1327. data/src/jvm/clojure/lang/IReference.java +18 -0
  1328. data/src/jvm/clojure/lang/ISeq.java +29 -0
  1329. data/src/jvm/clojure/lang/IndexedSeq.java +16 -0
  1330. data/src/jvm/clojure/lang/IteratorSeq.java +69 -0
  1331. data/src/jvm/clojure/lang/IteratorStream.java +29 -0
  1332. data/src/jvm/clojure/lang/Keyword.java +199 -0
  1333. data/src/jvm/clojure/lang/LazilyPersistentVector.java +79 -0
  1334. data/src/jvm/clojure/lang/LazySeq.java +233 -0
  1335. data/src/jvm/clojure/lang/LineNumberingPushbackReader.java +75 -0
  1336. data/src/jvm/clojure/lang/LispReader.java +1063 -0
  1337. data/src/jvm/clojure/lang/LockingTransaction.java +583 -0
  1338. data/src/jvm/clojure/lang/MapEntry.java +40 -0
  1339. data/src/jvm/clojure/lang/MultiFn.java +308 -0
  1340. data/src/jvm/clojure/lang/Named.java +19 -0
  1341. data/src/jvm/clojure/lang/Namespace.java +178 -0
  1342. data/src/jvm/clojure/lang/Numbers.java +4371 -0
  1343. data/src/jvm/clojure/lang/Obj.java +33 -0
  1344. data/src/jvm/clojure/lang/PersistentArrayMap.java +263 -0
  1345. data/src/jvm/clojure/lang/PersistentHashMap.java +746 -0
  1346. data/src/jvm/clojure/lang/PersistentHashSet.java +72 -0
  1347. data/src/jvm/clojure/lang/PersistentList.java +298 -0
  1348. data/src/jvm/clojure/lang/PersistentQueue.java +304 -0
  1349. data/src/jvm/clojure/lang/PersistentStructMap.java +225 -0
  1350. data/src/jvm/clojure/lang/PersistentTreeMap.java +998 -0
  1351. data/src/jvm/clojure/lang/PersistentTreeSet.java +94 -0
  1352. data/src/jvm/clojure/lang/PersistentVector.java +320 -0
  1353. data/src/jvm/clojure/lang/ProxyHandler.java +72 -0
  1354. data/src/jvm/clojure/lang/RT.java +1676 -0
  1355. data/src/jvm/clojure/lang/Range.java +85 -0
  1356. data/src/jvm/clojure/lang/Ratio.java +74 -0
  1357. data/src/jvm/clojure/lang/Ref.java +335 -0
  1358. data/src/jvm/clojure/lang/Reflector.java +448 -0
  1359. data/src/jvm/clojure/lang/Repl.java +22 -0
  1360. data/src/jvm/clojure/lang/RestFn.java +1335 -0
  1361. data/src/jvm/clojure/lang/Reversible.java +17 -0
  1362. data/src/jvm/clojure/lang/Script.java +22 -0
  1363. data/src/jvm/clojure/lang/SeqEnumeration.java +33 -0
  1364. data/src/jvm/clojure/lang/SeqIterator.java +41 -0
  1365. data/src/jvm/clojure/lang/Seqable.java +17 -0
  1366. data/src/jvm/clojure/lang/Sequential.java +13 -0
  1367. data/src/jvm/clojure/lang/Settable.java +18 -0
  1368. data/src/jvm/clojure/lang/Sorted.java +25 -0
  1369. data/src/jvm/clojure/lang/Stream.java +88 -0
  1370. data/src/jvm/clojure/lang/Streamable.java +17 -0
  1371. data/src/jvm/clojure/lang/StringSeq.java +50 -0
  1372. data/src/jvm/clojure/lang/Symbol.java +121 -0
  1373. data/src/jvm/clojure/lang/TransactionalHashMap.java +197 -0
  1374. data/src/jvm/clojure/lang/Util.java +74 -0
  1375. data/src/jvm/clojure/lang/Var.java +472 -0
  1376. data/src/jvm/clojure/lang/XMLHandler.java +89 -0
  1377. data/src/jvm/clojure/main.java +41 -0
  1378. metadata +1433 -0
@@ -0,0 +1,1676 @@
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 Mar 25, 2006 4:28:27 PM */
12
+
13
+ package clojure.lang;
14
+
15
+ import java.util.concurrent.atomic.AtomicInteger;
16
+ import java.util.concurrent.Callable;
17
+ import java.util.*;
18
+ import java.util.regex.Matcher;
19
+ import java.io.*;
20
+ import java.lang.reflect.Array;
21
+ import java.math.BigDecimal;
22
+ import java.math.BigInteger;
23
+ import java.security.AccessController;
24
+ import java.security.PrivilegedAction;
25
+ import java.net.URL;
26
+ import java.net.JarURLConnection;
27
+ import java.nio.charset.Charset;
28
+
29
+ public class RT{
30
+
31
+ static final public Boolean T = Boolean.TRUE;//Keyword.intern(Symbol.create(null, "t"));
32
+ static final public Boolean F = Boolean.FALSE;//Keyword.intern(Symbol.create(null, "t"));
33
+ static final public String LOADER_SUFFIX = "__init";
34
+
35
+ //simple-symbol->class
36
+ final static IPersistentMap DEFAULT_IMPORTS = map(
37
+ // Symbol.create("RT"), "clojure.lang.RT",
38
+ // Symbol.create("Num"), "clojure.lang.Num",
39
+ // Symbol.create("Symbol"), "clojure.lang.Symbol",
40
+ // Symbol.create("Keyword"), "clojure.lang.Keyword",
41
+ // Symbol.create("Var"), "clojure.lang.Var",
42
+ // Symbol.create("Ref"), "clojure.lang.Ref",
43
+ // Symbol.create("IFn"), "clojure.lang.IFn",
44
+ // Symbol.create("IObj"), "clojure.lang.IObj",
45
+ // Symbol.create("ISeq"), "clojure.lang.ISeq",
46
+ // Symbol.create("IPersistentCollection"),
47
+ // "clojure.lang.IPersistentCollection",
48
+ // Symbol.create("IPersistentMap"), "clojure.lang.IPersistentMap",
49
+ // Symbol.create("IPersistentList"), "clojure.lang.IPersistentList",
50
+ // Symbol.create("IPersistentVector"), "clojure.lang.IPersistentVector",
51
+ Symbol.create("Boolean"), Boolean.class,
52
+ Symbol.create("Byte"), Byte.class,
53
+ Symbol.create("Character"), Character.class,
54
+ Symbol.create("Class"), Class.class,
55
+ Symbol.create("ClassLoader"), ClassLoader.class,
56
+ Symbol.create("Compiler"), Compiler.class,
57
+ Symbol.create("Double"), Double.class,
58
+ Symbol.create("Enum"), Enum.class,
59
+ Symbol.create("Float"), Float.class,
60
+ Symbol.create("InheritableThreadLocal"), InheritableThreadLocal.class,
61
+ Symbol.create("Integer"), Integer.class,
62
+ Symbol.create("Long"), Long.class,
63
+ Symbol.create("Math"), Math.class,
64
+ Symbol.create("Number"), Number.class,
65
+ Symbol.create("Object"), Object.class,
66
+ Symbol.create("Package"), Package.class,
67
+ Symbol.create("Process"), Process.class,
68
+ Symbol.create("ProcessBuilder"), ProcessBuilder.class,
69
+ Symbol.create("Runtime"), Runtime.class,
70
+ Symbol.create("RuntimePermission"), RuntimePermission.class,
71
+ Symbol.create("SecurityManager"), SecurityManager.class,
72
+ Symbol.create("Short"), Short.class,
73
+ Symbol.create("StackTraceElement"), StackTraceElement.class,
74
+ Symbol.create("StrictMath"), StrictMath.class,
75
+ Symbol.create("String"), String.class,
76
+ Symbol.create("StringBuffer"), StringBuffer.class,
77
+ Symbol.create("StringBuilder"), StringBuilder.class,
78
+ Symbol.create("System"), System.class,
79
+ Symbol.create("Thread"), Thread.class,
80
+ Symbol.create("ThreadGroup"), ThreadGroup.class,
81
+ Symbol.create("ThreadLocal"), ThreadLocal.class,
82
+ Symbol.create("Throwable"), Throwable.class,
83
+ Symbol.create("Void"), Void.class,
84
+ Symbol.create("Appendable"), Appendable.class,
85
+ Symbol.create("CharSequence"), CharSequence.class,
86
+ Symbol.create("Cloneable"), Cloneable.class,
87
+ Symbol.create("Comparable"), Comparable.class,
88
+ Symbol.create("Iterable"), Iterable.class,
89
+ Symbol.create("Readable"), Readable.class,
90
+ Symbol.create("Runnable"), Runnable.class,
91
+ Symbol.create("Callable"), Callable.class,
92
+ Symbol.create("BigInteger"), BigInteger.class,
93
+ Symbol.create("BigDecimal"), BigDecimal.class,
94
+ Symbol.create("ArithmeticException"), ArithmeticException.class,
95
+ Symbol.create("ArrayIndexOutOfBoundsException"), ArrayIndexOutOfBoundsException.class,
96
+ Symbol.create("ArrayStoreException"), ArrayStoreException.class,
97
+ Symbol.create("ClassCastException"), ClassCastException.class,
98
+ Symbol.create("ClassNotFoundException"), ClassNotFoundException.class,
99
+ Symbol.create("CloneNotSupportedException"), CloneNotSupportedException.class,
100
+ Symbol.create("EnumConstantNotPresentException"), EnumConstantNotPresentException.class,
101
+ Symbol.create("Exception"), Exception.class,
102
+ Symbol.create("IllegalAccessException"), IllegalAccessException.class,
103
+ Symbol.create("IllegalArgumentException"), IllegalArgumentException.class,
104
+ Symbol.create("IllegalMonitorStateException"), IllegalMonitorStateException.class,
105
+ Symbol.create("IllegalStateException"), IllegalStateException.class,
106
+ Symbol.create("IllegalThreadStateException"), IllegalThreadStateException.class,
107
+ Symbol.create("IndexOutOfBoundsException"), IndexOutOfBoundsException.class,
108
+ Symbol.create("InstantiationException"), InstantiationException.class,
109
+ Symbol.create("InterruptedException"), InterruptedException.class,
110
+ Symbol.create("NegativeArraySizeException"), NegativeArraySizeException.class,
111
+ Symbol.create("NoSuchFieldException"), NoSuchFieldException.class,
112
+ Symbol.create("NoSuchMethodException"), NoSuchMethodException.class,
113
+ Symbol.create("NullPointerException"), NullPointerException.class,
114
+ Symbol.create("NumberFormatException"), NumberFormatException.class,
115
+ Symbol.create("RuntimeException"), RuntimeException.class,
116
+ Symbol.create("SecurityException"), SecurityException.class,
117
+ Symbol.create("StringIndexOutOfBoundsException"), StringIndexOutOfBoundsException.class,
118
+ Symbol.create("TypeNotPresentException"), TypeNotPresentException.class,
119
+ Symbol.create("UnsupportedOperationException"), UnsupportedOperationException.class,
120
+ Symbol.create("AbstractMethodError"), AbstractMethodError.class,
121
+ Symbol.create("AssertionError"), AssertionError.class,
122
+ Symbol.create("ClassCircularityError"), ClassCircularityError.class,
123
+ Symbol.create("ClassFormatError"), ClassFormatError.class,
124
+ Symbol.create("Error"), Error.class,
125
+ Symbol.create("ExceptionInInitializerError"), ExceptionInInitializerError.class,
126
+ Symbol.create("IllegalAccessError"), IllegalAccessError.class,
127
+ Symbol.create("IncompatibleClassChangeError"), IncompatibleClassChangeError.class,
128
+ Symbol.create("InstantiationError"), InstantiationError.class,
129
+ Symbol.create("InternalError"), InternalError.class,
130
+ Symbol.create("LinkageError"), LinkageError.class,
131
+ Symbol.create("NoClassDefFoundError"), NoClassDefFoundError.class,
132
+ Symbol.create("NoSuchFieldError"), NoSuchFieldError.class,
133
+ Symbol.create("NoSuchMethodError"), NoSuchMethodError.class,
134
+ Symbol.create("OutOfMemoryError"), OutOfMemoryError.class,
135
+ Symbol.create("StackOverflowError"), StackOverflowError.class,
136
+ Symbol.create("ThreadDeath"), ThreadDeath.class,
137
+ Symbol.create("UnknownError"), UnknownError.class,
138
+ Symbol.create("UnsatisfiedLinkError"), UnsatisfiedLinkError.class,
139
+ Symbol.create("UnsupportedClassVersionError"), UnsupportedClassVersionError.class,
140
+ Symbol.create("VerifyError"), VerifyError.class,
141
+ Symbol.create("VirtualMachineError"), VirtualMachineError.class,
142
+ Symbol.create("Thread$UncaughtExceptionHandler"), Thread.UncaughtExceptionHandler.class,
143
+ Symbol.create("Thread$State"), Thread.State.class,
144
+ Symbol.create("Deprecated"), Deprecated.class,
145
+ Symbol.create("Override"), Override.class,
146
+ Symbol.create("SuppressWarnings"), SuppressWarnings.class
147
+
148
+ // Symbol.create("Collection"), "java.util.Collection",
149
+ // Symbol.create("Comparator"), "java.util.Comparator",
150
+ // Symbol.create("Enumeration"), "java.util.Enumeration",
151
+ // Symbol.create("EventListener"), "java.util.EventListener",
152
+ // Symbol.create("Formattable"), "java.util.Formattable",
153
+ // Symbol.create("Iterator"), "java.util.Iterator",
154
+ // Symbol.create("List"), "java.util.List",
155
+ // Symbol.create("ListIterator"), "java.util.ListIterator",
156
+ // Symbol.create("Map"), "java.util.Map",
157
+ // Symbol.create("Map$Entry"), "java.util.Map$Entry",
158
+ // Symbol.create("Observer"), "java.util.Observer",
159
+ // Symbol.create("Queue"), "java.util.Queue",
160
+ // Symbol.create("RandomAccess"), "java.util.RandomAccess",
161
+ // Symbol.create("Set"), "java.util.Set",
162
+ // Symbol.create("SortedMap"), "java.util.SortedMap",
163
+ // Symbol.create("SortedSet"), "java.util.SortedSet"
164
+ );
165
+
166
+ // single instance of UTF-8 Charset, so as to avoid catching UnsupportedCharsetExceptions everywhere
167
+ static public Charset UTF8 = Charset.forName("UTF-8");
168
+
169
+ static public final Namespace CLOJURE_NS = Namespace.findOrCreate(Symbol.create("clojure.core"));
170
+ //static final Namespace USER_NS = Namespace.findOrCreate(Symbol.create("user"));
171
+ final static public Var OUT =
172
+ Var.intern(CLOJURE_NS, Symbol.create("*out*"), new OutputStreamWriter(System.out));
173
+ final static public Var IN =
174
+ Var.intern(CLOJURE_NS, Symbol.create("*in*"),
175
+ new LineNumberingPushbackReader(new InputStreamReader(System.in)));
176
+ final static public Var ERR =
177
+ Var.intern(CLOJURE_NS, Symbol.create("*err*"),
178
+ new PrintWriter(new OutputStreamWriter(System.err), true));
179
+ final static Keyword TAG_KEY = Keyword.intern(null, "tag");
180
+ final static public Var AGENT = Var.intern(CLOJURE_NS, Symbol.create("*agent*"), null);
181
+ final static public Var READEVAL = Var.intern(CLOJURE_NS, Symbol.create("*read-eval*"), T);
182
+ final static public Var MACRO_META = Var.intern(CLOJURE_NS, Symbol.create("*macro-meta*"), null);
183
+ final static public Var MATH_CONTEXT = Var.intern(CLOJURE_NS, Symbol.create("*math-context*"), null);
184
+ static Keyword LINE_KEY = Keyword.intern(null, "line");
185
+ static Keyword FILE_KEY = Keyword.intern(null, "file");
186
+ final static public Var USE_CONTEXT_CLASSLOADER =
187
+ Var.intern(CLOJURE_NS, Symbol.create("*use-context-classloader*"), null);
188
+ //final static public Var CURRENT_MODULE = Var.intern(Symbol.create("clojure.core", "current-module"),
189
+ // Module.findOrCreateModule("clojure/user"));
190
+
191
+ final static Symbol LOAD_FILE = Symbol.create("load-file");
192
+ final static Symbol IN_NAMESPACE = Symbol.create("in-ns");
193
+ final static Symbol NAMESPACE = Symbol.create("ns");
194
+ static final Symbol IDENTICAL = Symbol.create("identical?");
195
+ final static Var CMD_LINE_ARGS = Var.intern(CLOJURE_NS, Symbol.create("*command-line-args*"), null);
196
+ //symbol
197
+ final public static Var CURRENT_NS = Var.intern(CLOJURE_NS, Symbol.create("*ns*"),
198
+ CLOJURE_NS);
199
+
200
+ final static Var FLUSH_ON_NEWLINE = Var.intern(CLOJURE_NS, Symbol.create("*flush-on-newline*"), T);
201
+ final static Var PRINT_META = Var.intern(CLOJURE_NS, Symbol.create("*print-meta*"), F);
202
+ final static Var PRINT_READABLY = Var.intern(CLOJURE_NS, Symbol.create("*print-readably*"), T);
203
+ final static Var PRINT_DUP = Var.intern(CLOJURE_NS, Symbol.create("*print-dup*"), F);
204
+ final static Var WARN_ON_REFLECTION = Var.intern(CLOJURE_NS, Symbol.create("*warn-on-reflection*"), F);
205
+ final static Var ALLOW_UNRESOLVED_VARS = Var.intern(CLOJURE_NS, Symbol.create("*allow-unresolved-vars*"), F);
206
+
207
+ final static Var IN_NS_VAR = Var.intern(CLOJURE_NS, Symbol.create("in-ns"), F);
208
+ final static Var NS_VAR = Var.intern(CLOJURE_NS, Symbol.create("ns"), F);
209
+ static final Var PRINT_INITIALIZED = Var.intern(CLOJURE_NS, Symbol.create("print-initialized"));
210
+ static final Var PR_ON = Var.intern(CLOJURE_NS, Symbol.create("pr-on"));
211
+ //final static Var IMPORTS = Var.intern(CLOJURE_NS, Symbol.create("*imports*"), DEFAULT_IMPORTS);
212
+ final static IFn inNamespace = new AFn(){
213
+ public Object invoke(Object arg1) throws Exception{
214
+ Symbol nsname = (Symbol) arg1;
215
+ Namespace ns = Namespace.findOrCreate(nsname);
216
+ CURRENT_NS.set(ns);
217
+ return ns;
218
+ }
219
+ };
220
+
221
+ public static List<String> processCommandLine(String[] args){
222
+ List<String> arglist = Arrays.asList(args);
223
+ int split = arglist.indexOf("--");
224
+ if(split >= 0) {
225
+ CMD_LINE_ARGS.bindRoot(RT.seq(arglist.subList(split + 1, args.length)));
226
+ return arglist.subList(0, split);
227
+ }
228
+ return arglist;
229
+ }
230
+
231
+ static public final Object[] EMPTY_ARRAY = new Object[]{};
232
+ static public final Comparator DEFAULT_COMPARATOR = new Comparator(){
233
+ public int compare(Object o1, Object o2){
234
+ return Util.compare(o1, o2);
235
+ }
236
+ };
237
+
238
+ static AtomicInteger id = new AtomicInteger(1);
239
+ private static DynamicClassLoader ROOT_CLASSLOADER = null;
240
+
241
+ static public void addURL(Object url) throws Exception{
242
+ URL u = (url instanceof String) ? (new URL((String) url)) : (URL) url;
243
+ getRootClassLoader().addURL(u);
244
+ }
245
+
246
+ final static public Object EOS = new Object();
247
+ final static public Object SKIP = new Object();
248
+ static final public IFn EMPTY_GEN = new AFn(){
249
+ synchronized public Object invoke() throws Exception {
250
+ return EOS;
251
+ }
252
+ };
253
+
254
+ static{
255
+ Keyword dockw = Keyword.intern(null, "doc");
256
+ Keyword arglistskw = Keyword.intern(null, "arglists");
257
+ Symbol namesym = Symbol.create("name");
258
+ OUT.setTag(Symbol.create("java.io.Writer"));
259
+ CURRENT_NS.setTag(Symbol.create("clojure.lang.Namespace"));
260
+ AGENT.setMeta(map(dockw, "The agent currently running an action on this thread, else nil"));
261
+ AGENT.setTag(Symbol.create("clojure.lang.Agent"));
262
+ MATH_CONTEXT.setTag(Symbol.create("java.math.MathContext"));
263
+ //during bootstrap ns same as in-ns
264
+ Var nv = Var.intern(CLOJURE_NS, NAMESPACE, inNamespace);
265
+ nv.setMacro();
266
+ Var v;
267
+ v = Var.intern(CLOJURE_NS, IN_NAMESPACE, inNamespace);
268
+ v.setMeta(map(dockw, "Sets *ns* to the namespace named by the symbol, creating it if needed.",
269
+ arglistskw, list(vector(namesym))));
270
+ v = Var.intern(CLOJURE_NS, LOAD_FILE,
271
+ new AFn(){
272
+ public Object invoke(Object arg1) throws Exception{
273
+ return Compiler.loadFile((String) arg1);
274
+ }
275
+ });
276
+ v.setMeta(map(dockw, "Sequentially read and evaluate the set of forms contained in the file.",
277
+ arglistskw, list(vector(namesym))));
278
+ v = Var.intern(CLOJURE_NS, IDENTICAL,
279
+ new AFn(){
280
+ public Object invoke(Object arg1, Object arg2)
281
+ throws Exception{
282
+ return arg1 == arg2 ? RT.T : RT.F;
283
+ }
284
+ });
285
+ v.setMeta(map(dockw, "Tests if 2 arguments are the same object",
286
+ arglistskw, list(vector(Symbol.create("x"), Symbol.create("y")))));
287
+ try {
288
+ doInit();
289
+ }
290
+ catch(Exception e) {
291
+ throw new RuntimeException(e);
292
+ }
293
+ }
294
+
295
+
296
+ static public Var var(String ns, String name){
297
+ return Var.intern(Namespace.findOrCreate(Symbol.intern(null, ns)), Symbol.intern(null, name));
298
+ }
299
+
300
+ static public Var var(String ns, String name, Object init){
301
+ return Var.intern(Namespace.findOrCreate(Symbol.intern(null, ns)), Symbol.intern(null, name), init);
302
+ }
303
+
304
+ public static void loadResourceScript(String name) throws Exception{
305
+ loadResourceScript(name, true);
306
+ }
307
+
308
+ public static void maybeLoadResourceScript(String name) throws Exception{
309
+ loadResourceScript(name, false);
310
+ }
311
+
312
+ public static void loadResourceScript(String name, boolean failIfNotFound) throws Exception{
313
+ loadResourceScript(RT.class, name, failIfNotFound);
314
+ }
315
+
316
+ public static void loadResourceScript(Class c, String name) throws Exception{
317
+ loadResourceScript(c, name, true);
318
+ }
319
+
320
+ public static void loadResourceScript(Class c, String name, boolean failIfNotFound) throws Exception{
321
+ int slash = name.lastIndexOf('/');
322
+ String file = slash >= 0 ? name.substring(slash + 1) : name;
323
+ InputStream ins = baseLoader().getResourceAsStream(name);
324
+ if(ins != null) {
325
+ try {
326
+ Compiler.load(new InputStreamReader(ins, UTF8), name, file);
327
+ }
328
+ finally {
329
+ ins.close();
330
+ }
331
+ }
332
+ else if(failIfNotFound) {
333
+ throw new FileNotFoundException("Could not locate Clojure resource on classpath: " + name);
334
+ }
335
+ }
336
+
337
+ static public void init() throws Exception{
338
+ ((PrintWriter) RT.ERR.deref()).println("No need to call RT.init() anymore");
339
+ }
340
+
341
+ static public long lastModified(URL url, String libfile) throws Exception{
342
+ if(url.getProtocol().equals("jar")) {
343
+ return ((JarURLConnection) url.openConnection()).getJarFile().getEntry(libfile).getTime();
344
+ }
345
+ else {
346
+ return url.openConnection().getLastModified();
347
+ }
348
+ }
349
+
350
+ static void compile(String cljfile) throws Exception{
351
+ InputStream ins = baseLoader().getResourceAsStream(cljfile);
352
+ if(ins != null) {
353
+ try {
354
+ Compiler.compile(new InputStreamReader(ins, UTF8), cljfile,
355
+ cljfile.substring(1 + cljfile.lastIndexOf("/")));
356
+ }
357
+ finally {
358
+ ins.close();
359
+ }
360
+
361
+ }
362
+ else
363
+ throw new FileNotFoundException("Could not locate Clojure resource on classpath: " + cljfile);
364
+ }
365
+
366
+ static public void load(String scriptbase) throws Exception{
367
+ load(scriptbase, true);
368
+ }
369
+
370
+ static public void load(String scriptbase, boolean failIfNotFound) throws Exception{
371
+ String classfile = scriptbase + LOADER_SUFFIX + ".class";
372
+ String cljfile = scriptbase + ".clj";
373
+ URL classURL = baseLoader().getResource(classfile);
374
+ URL cljURL = baseLoader().getResource(cljfile);
375
+ boolean loaded = false;
376
+
377
+ if((classURL != null &&
378
+ (cljURL == null
379
+ || lastModified(classURL, classfile) > lastModified(cljURL, cljfile)))
380
+ || classURL == null) {
381
+ try {
382
+ Var.pushThreadBindings(
383
+ RT.map(CURRENT_NS, CURRENT_NS.deref(),
384
+ WARN_ON_REFLECTION, WARN_ON_REFLECTION.deref()));
385
+ loaded = (loadClassForName(scriptbase.replace('/', '.') + LOADER_SUFFIX) != null);
386
+ }
387
+ finally {
388
+ Var.popThreadBindings();
389
+ }
390
+ }
391
+ if(!loaded && cljURL != null) {
392
+ if(booleanCast(Compiler.COMPILE_FILES.deref()))
393
+ compile(cljfile);
394
+ else
395
+ loadResourceScript(RT.class, cljfile);
396
+ }
397
+ else if(!loaded && failIfNotFound)
398
+ throw new FileNotFoundException(String.format("Could not locate %s or %s on classpath: ", classfile, cljfile));
399
+ }
400
+
401
+ static void doInit() throws Exception{
402
+ load("clojure/core");
403
+ load("clojure/zip", false);
404
+ load("clojure/xml", false);
405
+ load("clojure/set", false);
406
+
407
+ Var.pushThreadBindings(
408
+ RT.map(CURRENT_NS, CURRENT_NS.deref(),
409
+ WARN_ON_REFLECTION, WARN_ON_REFLECTION.deref()));
410
+ try {
411
+ Symbol USER = Symbol.create("user");
412
+ Symbol CLOJURE = Symbol.create("clojure.core");
413
+
414
+ Var in_ns = var("clojure.core", "in-ns");
415
+ Var refer = var("clojure.core", "refer");
416
+ in_ns.invoke(USER);
417
+ refer.invoke(CLOJURE);
418
+ maybeLoadResourceScript("user.clj");
419
+ }
420
+ finally {
421
+ Var.popThreadBindings();
422
+ }
423
+ }
424
+
425
+ static public int nextID(){
426
+ return id.getAndIncrement();
427
+ }
428
+
429
+
430
+ ////////////// Collections support /////////////////////////////////
431
+
432
+ static public ISeq seq(Object coll){
433
+ if(coll instanceof ASeq)
434
+ return (ASeq) coll;
435
+ else if(coll instanceof LazySeq)
436
+ return ((LazySeq) coll).seq();
437
+ else
438
+ return seqFrom(coll);
439
+ }
440
+
441
+ static public Stream stream(final Object coll) throws Exception{
442
+ if(coll == null)
443
+ return new Stream(EMPTY_GEN);
444
+ else if(coll instanceof Streamable)
445
+ return ((Streamable) coll).stream();
446
+ else if(coll instanceof Fn)
447
+ return new Stream((IFn) coll);
448
+ else if(coll instanceof Iterable)
449
+ return new Stream(new IteratorStream(((Iterable) coll).iterator()));
450
+ else if(coll.getClass().isArray())
451
+ return ArrayStream.createFromObject(coll);
452
+ else if(coll instanceof String)
453
+ return ArrayStream.createFromObject(((String) coll).toCharArray());
454
+ else
455
+ return new Stream(new ASeq.Src(RT.seq(coll)));
456
+
457
+ }
458
+
459
+ static ISeq seqFrom(Object coll){
460
+ if(coll instanceof Seqable)
461
+ return ((Seqable) coll).seq();
462
+ else if(coll == null)
463
+ return null;
464
+ else if(coll instanceof Iterable)
465
+ return IteratorSeq.create(((Iterable) coll).iterator());
466
+ else if(coll.getClass().isArray())
467
+ return ArraySeq.createFromObject(coll);
468
+ else if(coll instanceof String)
469
+ return StringSeq.create((String) coll);
470
+ else if(coll instanceof Map)
471
+ return seq(((Map) coll).entrySet());
472
+ else {
473
+ Class c = coll.getClass();
474
+ Class sc = c.getSuperclass();
475
+ throw new IllegalArgumentException("Don't know how to create ISeq from: " + c.getSimpleName());
476
+ }
477
+ }
478
+
479
+ static public ISeq keys(Object coll){
480
+ return APersistentMap.KeySeq.create(seq(coll));
481
+ }
482
+
483
+ static public ISeq vals(Object coll){
484
+ return APersistentMap.ValSeq.create(seq(coll));
485
+ }
486
+
487
+ static public IPersistentMap meta(Object x){
488
+ if(x instanceof IMeta)
489
+ return ((IMeta) x).meta();
490
+ return null;
491
+ }
492
+
493
+ public static int count(Object o){
494
+ if(o == null)
495
+ return 0;
496
+ else if(o instanceof Counted)
497
+ return ((Counted) o).count();
498
+ else if(o instanceof IPersistentCollection) {
499
+ ISeq s = seq(o);
500
+ o = null;
501
+ int i = 0;
502
+ for(; s != null; s = s.next()) {
503
+ if(s instanceof Counted)
504
+ return i + s.count();
505
+ i++;
506
+ }
507
+ return i;
508
+ }
509
+ else if(o instanceof String)
510
+ return ((String) o).length();
511
+ else if(o instanceof Collection)
512
+ return ((Collection) o).size();
513
+ else if(o instanceof Map)
514
+ return ((Map) o).size();
515
+ else if(o.getClass().isArray())
516
+ return Array.getLength(o);
517
+
518
+ throw new UnsupportedOperationException("count not supported on this type: " + o.getClass().getSimpleName());
519
+ }
520
+
521
+ static public IPersistentCollection conj(IPersistentCollection coll, Object x){
522
+ if(coll == null)
523
+ return new PersistentList(x);
524
+ return coll.cons(x);
525
+ }
526
+
527
+ static public ISeq cons(Object x, Object coll){
528
+ //ISeq y = seq(coll);
529
+ if(coll == null)
530
+ return new PersistentList(x);
531
+ else if(coll instanceof ISeq)
532
+ return new Cons(x, (ISeq) coll);
533
+ else
534
+ return new Cons(x, seq(coll));
535
+ }
536
+
537
+ static public Object first(Object x){
538
+ if(x instanceof ISeq)
539
+ return ((ISeq) x).first();
540
+ ISeq seq = seq(x);
541
+ if(seq == null)
542
+ return null;
543
+ return seq.first();
544
+ }
545
+
546
+ static public Object second(Object x){
547
+ return first(next(x));
548
+ }
549
+
550
+ static public Object third(Object x){
551
+ return first(next(next(x)));
552
+ }
553
+
554
+ static public Object fourth(Object x){
555
+ return first(next(next(next(x))));
556
+ }
557
+
558
+ static public ISeq next(Object x){
559
+ if(x instanceof ISeq)
560
+ return ((ISeq) x).next();
561
+ ISeq seq = seq(x);
562
+ if(seq == null)
563
+ return null;
564
+ return seq.next();
565
+ }
566
+
567
+ static public ISeq more(Object x){
568
+ if(x instanceof ISeq)
569
+ return ((ISeq) x).more();
570
+ ISeq seq = seq(x);
571
+ if(seq == null)
572
+ return PersistentList.EMPTY;
573
+ return seq.more();
574
+ }
575
+
576
+ //static public Seqable more(Object x){
577
+ // Seqable ret = null;
578
+ // if(x instanceof ISeq)
579
+ // ret = ((ISeq) x).more();
580
+ // else
581
+ // {
582
+ // ISeq seq = seq(x);
583
+ // if(seq == null)
584
+ // ret = PersistentList.EMPTY;
585
+ // else
586
+ // ret = seq.more();
587
+ // }
588
+ // if(ret == null)
589
+ // ret = PersistentList.EMPTY;
590
+ // return ret;
591
+ //}
592
+
593
+ static public Object peek(Object x){
594
+ if(x == null)
595
+ return null;
596
+ return ((IPersistentStack) x).peek();
597
+ }
598
+
599
+ static public Object pop(Object x){
600
+ if(x == null)
601
+ return null;
602
+ return ((IPersistentStack) x).pop();
603
+ }
604
+
605
+ static public Object get(Object coll, Object key){
606
+ if(coll == null)
607
+ return null;
608
+ else if(coll instanceof Associative)
609
+ return ((Associative) coll).valAt(key);
610
+ else if(coll instanceof Map) {
611
+ Map m = (Map) coll;
612
+ return m.get(key);
613
+ }
614
+ else if(coll instanceof IPersistentSet) {
615
+ IPersistentSet set = (IPersistentSet) coll;
616
+ return set.get(key);
617
+ }
618
+ else if(key instanceof Number && (coll instanceof String || coll.getClass().isArray())) {
619
+ int n = ((Number) key).intValue();
620
+ if(n >= 0 && n < count(coll))
621
+ return nth(coll, n);
622
+ return null;
623
+ }
624
+
625
+ return null;
626
+ }
627
+
628
+ static public Object get(Object coll, Object key, Object notFound){
629
+ if(coll == null)
630
+ return notFound;
631
+ else if(coll instanceof Associative)
632
+ return ((Associative) coll).valAt(key, notFound);
633
+ else if(coll instanceof Map) {
634
+ Map m = (Map) coll;
635
+ if(m.containsKey(key))
636
+ return m.get(key);
637
+ return notFound;
638
+ }
639
+ else if(coll instanceof IPersistentSet) {
640
+ IPersistentSet set = (IPersistentSet) coll;
641
+ if(set.contains(key))
642
+ return set.get(key);
643
+ return notFound;
644
+ }
645
+ else if(key instanceof Number && (coll instanceof String || coll.getClass().isArray())) {
646
+ int n = ((Number) key).intValue();
647
+ return n >= 0 && n < count(coll) ? nth(coll, n) : notFound;
648
+ }
649
+ return notFound;
650
+
651
+ }
652
+
653
+ static public Associative assoc(Object coll, Object key, Object val){
654
+ if(coll == null)
655
+ return new PersistentArrayMap(new Object[]{key, val});
656
+ return ((Associative) coll).assoc(key, val);
657
+ }
658
+
659
+ static public Object contains(Object coll, Object key){
660
+ if(coll == null)
661
+ return F;
662
+ else if(coll instanceof Associative)
663
+ return ((Associative) coll).containsKey(key) ? T : F;
664
+ else if(coll instanceof IPersistentSet)
665
+ return ((IPersistentSet) coll).contains(key) ? T : F;
666
+ else if(coll instanceof Map) {
667
+ Map m = (Map) coll;
668
+ return m.containsKey(key) ? T : F;
669
+ }
670
+ else if(key instanceof Number && (coll instanceof String || coll.getClass().isArray())) {
671
+ int n = ((Number) key).intValue();
672
+ return n >= 0 && n < count(coll);
673
+ }
674
+ return F;
675
+ }
676
+
677
+ static public Object find(Object coll, Object key){
678
+ if(coll == null)
679
+ return null;
680
+ else if(coll instanceof Associative)
681
+ return ((Associative) coll).entryAt(key);
682
+ else {
683
+ Map m = (Map) coll;
684
+ if(m.containsKey(key))
685
+ return new MapEntry(key, m.get(key));
686
+ return null;
687
+ }
688
+ }
689
+
690
+ //takes a seq of key,val,key,val
691
+
692
+ //returns tail starting at val of matching key if found, else null
693
+ static public ISeq findKey(Keyword key, ISeq keyvals) throws Exception{
694
+ while(keyvals != null) {
695
+ ISeq r = keyvals.next();
696
+ if(r == null)
697
+ throw new Exception("Malformed keyword argslist");
698
+ if(keyvals.first() == key)
699
+ return r;
700
+ keyvals = r.next();
701
+ }
702
+ return null;
703
+ }
704
+
705
+ static public Object dissoc(Object coll, Object key) throws Exception{
706
+ if(coll == null)
707
+ return null;
708
+ return ((IPersistentMap) coll).without(key);
709
+ }
710
+
711
+ static public Object nth(Object coll, int n){
712
+ if(coll == null)
713
+ return null;
714
+ else if(coll instanceof IPersistentVector)
715
+ return ((IPersistentVector) coll).nth(n);
716
+ else if(coll instanceof String)
717
+ return Character.valueOf(((String) coll).charAt(n));
718
+ else if(coll.getClass().isArray())
719
+ return Reflector.prepRet(Array.get(coll, n));
720
+ else if(coll instanceof RandomAccess)
721
+ return ((List) coll).get(n);
722
+ else if(coll instanceof Matcher)
723
+ return ((Matcher) coll).group(n);
724
+
725
+ else if(coll instanceof Map.Entry) {
726
+ Map.Entry e = (Map.Entry) coll;
727
+ if(n == 0)
728
+ return e.getKey();
729
+ else if(n == 1)
730
+ return e.getValue();
731
+ throw new IndexOutOfBoundsException();
732
+ }
733
+
734
+ else if(coll instanceof Sequential) {
735
+ ISeq seq = RT.seq(coll);
736
+ coll = null;
737
+ for(int i = 0; i <= n && seq != null; ++i, seq = seq.next()) {
738
+ if(i == n)
739
+ return seq.first();
740
+ }
741
+ throw new IndexOutOfBoundsException();
742
+ }
743
+ else
744
+ throw new UnsupportedOperationException(
745
+ "nth not supported on this type: " + coll.getClass().getSimpleName());
746
+ }
747
+
748
+ static public Object nth(Object coll, int n, Object notFound){
749
+ if(coll == null)
750
+ return notFound;
751
+ else if(n < 0)
752
+ return notFound;
753
+ else if(coll instanceof IPersistentVector) {
754
+ IPersistentVector v = (IPersistentVector) coll;
755
+ if(n < v.count())
756
+ return v.nth(n);
757
+ return notFound;
758
+ }
759
+ else if(coll instanceof String) {
760
+ String s = (String) coll;
761
+ if(n < s.length())
762
+ return Character.valueOf(s.charAt(n));
763
+ return notFound;
764
+ }
765
+ else if(coll.getClass().isArray()) {
766
+ if(n < Array.getLength(coll))
767
+ return Reflector.prepRet(Array.get(coll, n));
768
+ return notFound;
769
+ }
770
+ else if(coll instanceof RandomAccess) {
771
+ List list = (List) coll;
772
+ if(n < list.size())
773
+ return list.get(n);
774
+ return notFound;
775
+ }
776
+ else if(coll instanceof Matcher) {
777
+ Matcher m = (Matcher) coll;
778
+ if(n < m.groupCount())
779
+ return m.group(n);
780
+ return notFound;
781
+ }
782
+ else if(coll instanceof Map.Entry) {
783
+ Map.Entry e = (Map.Entry) coll;
784
+ if(n == 0)
785
+ return e.getKey();
786
+ else if(n == 1)
787
+ return e.getValue();
788
+ return notFound;
789
+ }
790
+ else if(coll instanceof Sequential) {
791
+ ISeq seq = RT.seq(coll);
792
+ coll = null;
793
+ for(int i = 0; i <= n && seq != null; ++i, seq = seq.next()) {
794
+ if(i == n)
795
+ return seq.first();
796
+ }
797
+ return notFound;
798
+ }
799
+ else
800
+ throw new UnsupportedOperationException(
801
+ "nth not supported on this type: " + coll.getClass().getSimpleName());
802
+ }
803
+
804
+ static public Object assocN(int n, Object val, Object coll){
805
+ if(coll == null)
806
+ return null;
807
+ else if(coll instanceof IPersistentVector)
808
+ return ((IPersistentVector) coll).assocN(n, val);
809
+ else if(coll instanceof Object[]) {
810
+ //hmm... this is not persistent
811
+ Object[] array = ((Object[]) coll);
812
+ array[n] = val;
813
+ return array;
814
+ }
815
+ else
816
+ return null;
817
+ }
818
+
819
+ static boolean hasTag(Object o, Object tag){
820
+ return Util.equals(tag, RT.get(RT.meta(o), TAG_KEY));
821
+ }
822
+
823
+ /**
824
+ * ********************* Boxing/casts ******************************
825
+ */
826
+ static public Object box(Object x){
827
+ return x;
828
+ }
829
+
830
+ static public Character box(char x){
831
+ return Character.valueOf(x);
832
+ }
833
+
834
+ static public Object box(boolean x){
835
+ return x ? T : F;
836
+ }
837
+
838
+ static public Object box(Boolean x){
839
+ return x;// ? T : null;
840
+ }
841
+
842
+ static public Number box(byte x){
843
+ return x;//Num.from(x);
844
+ }
845
+
846
+ static public Number box(short x){
847
+ return x;//Num.from(x);
848
+ }
849
+
850
+ static public Number box(int x){
851
+ return x;//Num.from(x);
852
+ }
853
+
854
+ static public Number box(long x){
855
+ return x;//Num.from(x);
856
+ }
857
+
858
+ static public Number box(float x){
859
+ return x;//Num.from(x);
860
+ }
861
+
862
+ static public Number box(double x){
863
+ return x;//Num.from(x);
864
+ }
865
+
866
+ static public char charCast(Object x){
867
+ if(x instanceof Character)
868
+ return ((Character) x).charValue();
869
+ return (char) ((Number) x).intValue();
870
+ }
871
+
872
+ static public boolean booleanCast(Object x){
873
+ if(x instanceof Boolean)
874
+ return ((Boolean) x).booleanValue();
875
+ return x != null;
876
+ }
877
+
878
+ static public byte byteCast(Object x){
879
+ return ((Number) x).byteValue();
880
+ }
881
+
882
+ static public short shortCast(Object x){
883
+ return ((Number) x).shortValue();
884
+ }
885
+
886
+ static public int intCast(Object x){
887
+ if(x instanceof Number)
888
+ return ((Number) x).intValue();
889
+ return ((Character) x).charValue();
890
+ }
891
+
892
+ static public int intCast(char x){
893
+ return x;
894
+ }
895
+
896
+ static public int intCast(byte x){
897
+ return x;
898
+ }
899
+
900
+ static public int intCast(short x){
901
+ return x;
902
+ }
903
+
904
+ static public int intCast(int x){
905
+ return x;
906
+ }
907
+
908
+ static public int intCast(float x){
909
+ return (int) x;
910
+ }
911
+
912
+ static public int intCast(long x){
913
+ return (int) x;
914
+ }
915
+
916
+ static public int intCast(double x){
917
+ return (int) x;
918
+ }
919
+
920
+ static public long longCast(Object x){
921
+ return ((Number) x).longValue();
922
+ }
923
+
924
+ static public long longCast(int x){
925
+ return x;
926
+ }
927
+
928
+ static public long longCast(float x){
929
+ return (long) x;
930
+ }
931
+
932
+ static public long longCast(long x){
933
+ return x;
934
+ }
935
+
936
+ static public long longCast(double x){
937
+ return (long) x;
938
+ }
939
+
940
+ static public float floatCast(Object x){
941
+ return ((Number) x).floatValue();
942
+ }
943
+
944
+ static public float floatCast(int x){
945
+ return x;
946
+ }
947
+
948
+ static public float floatCast(float x){
949
+ return x;
950
+ }
951
+
952
+ static public float floatCast(long x){
953
+ return x;
954
+ }
955
+
956
+ static public float floatCast(double x){
957
+ return (float) x;
958
+ }
959
+
960
+ static public double doubleCast(Object x){
961
+ return ((Number) x).doubleValue();
962
+ }
963
+
964
+ static public double doubleCast(int x){
965
+ return x;
966
+ }
967
+
968
+ static public double doubleCast(float x){
969
+ return x;
970
+ }
971
+
972
+ static public double doubleCast(long x){
973
+ return x;
974
+ }
975
+
976
+ static public double doubleCast(double x){
977
+ return x;
978
+ }
979
+
980
+ static public IPersistentMap map(Object... init){
981
+ if(init == null)
982
+ return PersistentArrayMap.EMPTY;
983
+ else if(init.length <= PersistentArrayMap.HASHTABLE_THRESHOLD)
984
+ return new PersistentArrayMap(init);
985
+ return PersistentHashMap.create(init);
986
+ }
987
+
988
+ static public IPersistentSet set(Object... init){
989
+ return PersistentHashSet.create(init);
990
+ }
991
+
992
+ static public IPersistentVector vector(Object... init){
993
+ return LazilyPersistentVector.createOwning(init);
994
+ }
995
+
996
+ static public IPersistentVector subvec(IPersistentVector v, int start, int end){
997
+ if(end < start || start < 0 || end > v.count())
998
+ throw new IndexOutOfBoundsException();
999
+ if(start == end)
1000
+ return PersistentVector.EMPTY;
1001
+ return new APersistentVector.SubVector(null, v, start, end);
1002
+ }
1003
+
1004
+ /**
1005
+ * **************************************** list support *******************************
1006
+ */
1007
+
1008
+
1009
+ static public ISeq list(){
1010
+ return null;
1011
+ }
1012
+
1013
+ static public ISeq list(Object arg1){
1014
+ return new PersistentList(arg1);
1015
+ }
1016
+
1017
+ static public ISeq list(Object arg1, Object arg2){
1018
+ return listStar(arg1, arg2, null);
1019
+ }
1020
+
1021
+ static public ISeq list(Object arg1, Object arg2, Object arg3){
1022
+ return listStar(arg1, arg2, arg3, null);
1023
+ }
1024
+
1025
+ static public ISeq list(Object arg1, Object arg2, Object arg3, Object arg4){
1026
+ return listStar(arg1, arg2, arg3, arg4, null);
1027
+ }
1028
+
1029
+ static public ISeq list(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5){
1030
+ return listStar(arg1, arg2, arg3, arg4, arg5, null);
1031
+ }
1032
+
1033
+ static public ISeq listStar(Object arg1, ISeq rest){
1034
+ return (ISeq) cons(arg1, rest);
1035
+ }
1036
+
1037
+ static public ISeq listStar(Object arg1, Object arg2, ISeq rest){
1038
+ return (ISeq) cons(arg1, cons(arg2, rest));
1039
+ }
1040
+
1041
+ static public ISeq listStar(Object arg1, Object arg2, Object arg3, ISeq rest){
1042
+ return (ISeq) cons(arg1, cons(arg2, cons(arg3, rest)));
1043
+ }
1044
+
1045
+ static public ISeq listStar(Object arg1, Object arg2, Object arg3, Object arg4, ISeq rest){
1046
+ return (ISeq) cons(arg1, cons(arg2, cons(arg3, cons(arg4, rest))));
1047
+ }
1048
+
1049
+ static public ISeq listStar(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq rest){
1050
+ return (ISeq) cons(arg1, cons(arg2, cons(arg3, cons(arg4, cons(arg5, rest)))));
1051
+ }
1052
+
1053
+ static public ISeq arrayToList(Object[] a) throws Exception{
1054
+ ISeq ret = null;
1055
+ for(int i = a.length - 1; i >= 0; --i)
1056
+ ret = (ISeq) cons(a[i], ret);
1057
+ return ret;
1058
+ }
1059
+
1060
+ static public Object[] toArray(Object coll) throws Exception{
1061
+ if(coll == null)
1062
+ return EMPTY_ARRAY;
1063
+ else if(coll instanceof Object[])
1064
+ return (Object[]) coll;
1065
+ else if(coll instanceof Collection)
1066
+ return ((Collection) coll).toArray();
1067
+ else if(coll instanceof Map)
1068
+ return ((Map) coll).entrySet().toArray();
1069
+ else if(coll instanceof String) {
1070
+ char[] chars = ((String) coll).toCharArray();
1071
+ Object[] ret = new Object[chars.length];
1072
+ for(int i = 0; i < chars.length; i++)
1073
+ ret[i] = chars[i];
1074
+ return ret;
1075
+ }
1076
+ else if(coll.getClass().isArray()) {
1077
+ ISeq s = (seq(coll));
1078
+ Object[] ret = new Object[count(s)];
1079
+ for(int i = 0; i < ret.length; i++, s = s.next())
1080
+ ret[i] = s.first();
1081
+ return ret;
1082
+ }
1083
+ else
1084
+ throw new Exception("Unable to convert: " + coll.getClass() + " to Object[]");
1085
+ }
1086
+
1087
+ static public Object[] seqToArray(ISeq seq){
1088
+ int len = length(seq);
1089
+ Object[] ret = new Object[len];
1090
+ for(int i = 0; seq != null; ++i, seq = seq.next())
1091
+ ret[i] = seq.first();
1092
+ return ret;
1093
+ }
1094
+
1095
+ static public Object seqToTypedArray(ISeq seq) throws Exception{
1096
+ Class type = (seq != null) ? seq.first().getClass() : Object.class;
1097
+ return seqToTypedArray(type, seq);
1098
+ }
1099
+
1100
+ static public Object seqToTypedArray(Class type, ISeq seq) throws Exception{
1101
+ Object ret = Array.newInstance(type, length(seq));
1102
+ for(int i = 0; seq != null; ++i, seq = seq.next())
1103
+ Array.set(ret, i, seq.first());
1104
+ return ret;
1105
+ }
1106
+
1107
+ static public int length(ISeq list){
1108
+ int i = 0;
1109
+ for(ISeq c = list; c != null; c = c.next()) {
1110
+ i++;
1111
+ }
1112
+ return i;
1113
+ }
1114
+
1115
+ static public int boundedLength(ISeq list, int limit) throws Exception{
1116
+ int i = 0;
1117
+ for(ISeq c = list; c != null && i <= limit; c = c.next()) {
1118
+ i++;
1119
+ }
1120
+ return i;
1121
+ }
1122
+
1123
+ ///////////////////////////////// reader support ////////////////////////////////
1124
+
1125
+ static Character readRet(int ret){
1126
+ if(ret == -1)
1127
+ return null;
1128
+ return box((char) ret);
1129
+ }
1130
+
1131
+ static public Character readChar(Reader r) throws Exception{
1132
+ int ret = r.read();
1133
+ return readRet(ret);
1134
+ }
1135
+
1136
+ static public Character peekChar(Reader r) throws Exception{
1137
+ int ret;
1138
+ if(r instanceof PushbackReader) {
1139
+ ret = r.read();
1140
+ ((PushbackReader) r).unread(ret);
1141
+ }
1142
+ else {
1143
+ r.mark(1);
1144
+ ret = r.read();
1145
+ r.reset();
1146
+ }
1147
+
1148
+ return readRet(ret);
1149
+ }
1150
+
1151
+ static public int getLineNumber(Reader r){
1152
+ if(r instanceof LineNumberingPushbackReader)
1153
+ return ((LineNumberingPushbackReader) r).getLineNumber();
1154
+ return 0;
1155
+ }
1156
+
1157
+ static public LineNumberingPushbackReader getLineNumberingReader(Reader r){
1158
+ if(isLineNumberingReader(r))
1159
+ return (LineNumberingPushbackReader) r;
1160
+ return new LineNumberingPushbackReader(r);
1161
+ }
1162
+
1163
+ static public boolean isLineNumberingReader(Reader r){
1164
+ return r instanceof LineNumberingPushbackReader;
1165
+ }
1166
+
1167
+ static public String resolveClassNameInContext(String className){
1168
+ //todo - look up in context var
1169
+ return className;
1170
+ }
1171
+
1172
+ static public boolean suppressRead(){
1173
+ //todo - look up in suppress-read var
1174
+ return false;
1175
+ }
1176
+
1177
+ static public String printString(Object x){
1178
+ try {
1179
+ StringWriter sw = new StringWriter();
1180
+ print(x, sw);
1181
+ return sw.toString();
1182
+ }
1183
+ catch(Exception e) {
1184
+ throw new RuntimeException(e);
1185
+ }
1186
+ }
1187
+
1188
+ static public Object readString(String s){
1189
+ PushbackReader r = new PushbackReader(new StringReader(s));
1190
+ try {
1191
+ return LispReader.read(r, true, null, false);
1192
+ }
1193
+ catch(Exception e) {
1194
+ throw new RuntimeException(e);
1195
+ }
1196
+ }
1197
+
1198
+ static public void print(Object x, Writer w) throws Exception{
1199
+ //call multimethod
1200
+ if(PRINT_INITIALIZED.isBound() && RT.booleanCast(PRINT_INITIALIZED.deref()))
1201
+ PR_ON.invoke(x, w);
1202
+ //*
1203
+ else {
1204
+ boolean readably = booleanCast(PRINT_READABLY.deref());
1205
+ if(x instanceof Obj) {
1206
+ Obj o = (Obj) x;
1207
+ if(RT.count(o.meta()) > 0 &&
1208
+ ((readably && booleanCast(PRINT_META.deref()))
1209
+ || booleanCast(PRINT_DUP.deref()))) {
1210
+ IPersistentMap meta = o.meta();
1211
+ w.write("#^");
1212
+ if(meta.count() == 1 && meta.containsKey(TAG_KEY))
1213
+ print(meta.valAt(TAG_KEY), w);
1214
+ else
1215
+ print(meta, w);
1216
+ w.write(' ');
1217
+ }
1218
+ }
1219
+ if(x == null)
1220
+ w.write("nil");
1221
+ else if(x instanceof ISeq || x instanceof IPersistentList) {
1222
+ w.write('(');
1223
+ printInnerSeq(seq(x), w);
1224
+ w.write(')');
1225
+ }
1226
+ else if(x instanceof String) {
1227
+ String s = (String) x;
1228
+ if(!readably)
1229
+ w.write(s);
1230
+ else {
1231
+ w.write('"');
1232
+ //w.write(x.toString());
1233
+ for(int i = 0; i < s.length(); i++) {
1234
+ char c = s.charAt(i);
1235
+ switch(c) {
1236
+ case '\n':
1237
+ w.write("\\n");
1238
+ break;
1239
+ case '\t':
1240
+ w.write("\\t");
1241
+ break;
1242
+ case '\r':
1243
+ w.write("\\r");
1244
+ break;
1245
+ case '"':
1246
+ w.write("\\\"");
1247
+ break;
1248
+ case '\\':
1249
+ w.write("\\\\");
1250
+ break;
1251
+ case '\f':
1252
+ w.write("\\f");
1253
+ break;
1254
+ case '\b':
1255
+ w.write("\\b");
1256
+ break;
1257
+ default:
1258
+ w.write(c);
1259
+ }
1260
+ }
1261
+ w.write('"');
1262
+ }
1263
+ }
1264
+ else if(x instanceof IPersistentMap) {
1265
+ w.write('{');
1266
+ for(ISeq s = seq(x); s != null; s = s.next()) {
1267
+ IMapEntry e = (IMapEntry) s.first();
1268
+ print(e.key(), w);
1269
+ w.write(' ');
1270
+ print(e.val(), w);
1271
+ if(s.next() != null)
1272
+ w.write(", ");
1273
+ }
1274
+ w.write('}');
1275
+ }
1276
+ else if(x instanceof IPersistentVector) {
1277
+ IPersistentVector a = (IPersistentVector) x;
1278
+ w.write('[');
1279
+ for(int i = 0; i < a.count(); i++) {
1280
+ print(a.nth(i), w);
1281
+ if(i < a.count() - 1)
1282
+ w.write(' ');
1283
+ }
1284
+ w.write(']');
1285
+ }
1286
+ else if(x instanceof IPersistentSet) {
1287
+ w.write("#{");
1288
+ for(ISeq s = seq(x); s != null; s = s.next()) {
1289
+ print(s.first(), w);
1290
+ if(s.next() != null)
1291
+ w.write(" ");
1292
+ }
1293
+ w.write('}');
1294
+ }
1295
+ else if(x instanceof Character) {
1296
+ char c = ((Character) x).charValue();
1297
+ if(!readably)
1298
+ w.write(c);
1299
+ else {
1300
+ w.write('\\');
1301
+ switch(c) {
1302
+ case '\n':
1303
+ w.write("newline");
1304
+ break;
1305
+ case '\t':
1306
+ w.write("tab");
1307
+ break;
1308
+ case ' ':
1309
+ w.write("space");
1310
+ break;
1311
+ case '\b':
1312
+ w.write("backspace");
1313
+ break;
1314
+ case '\f':
1315
+ w.write("formfeed");
1316
+ break;
1317
+ case '\r':
1318
+ w.write("return");
1319
+ break;
1320
+ default:
1321
+ w.write(c);
1322
+ }
1323
+ }
1324
+ }
1325
+ else if(x instanceof Class) {
1326
+ w.write("#=");
1327
+ w.write(((Class) x).getName());
1328
+ }
1329
+ else if(x instanceof BigDecimal && readably) {
1330
+ w.write(x.toString());
1331
+ w.write('M');
1332
+ }
1333
+ else if(x instanceof Var) {
1334
+ Var v = (Var) x;
1335
+ w.write("#=(var " + v.ns.name + "/" + v.sym + ")");
1336
+ }
1337
+ else w.write(x.toString());
1338
+ }
1339
+ //*/
1340
+ }
1341
+
1342
+ private static void printInnerSeq(ISeq x, Writer w) throws Exception{
1343
+ for(ISeq s = x; s != null; s = s.next()) {
1344
+ print(s.first(), w);
1345
+ if(s.next() != null)
1346
+ w.write(' ');
1347
+ }
1348
+ }
1349
+
1350
+ static public void formatAesthetic(Writer w, Object obj) throws IOException{
1351
+ if(obj == null)
1352
+ w.write("null");
1353
+ else
1354
+ w.write(obj.toString());
1355
+ }
1356
+
1357
+ static public void formatStandard(Writer w, Object obj) throws IOException{
1358
+ if(obj == null)
1359
+ w.write("null");
1360
+ else if(obj instanceof String) {
1361
+ w.write('"');
1362
+ w.write((String) obj);
1363
+ w.write('"');
1364
+ }
1365
+ else if(obj instanceof Character) {
1366
+ w.write('\\');
1367
+ char c = ((Character) obj).charValue();
1368
+ switch(c) {
1369
+ case '\n':
1370
+ w.write("newline");
1371
+ break;
1372
+ case '\t':
1373
+ w.write("tab");
1374
+ break;
1375
+ case ' ':
1376
+ w.write("space");
1377
+ break;
1378
+ case '\b':
1379
+ w.write("backspace");
1380
+ break;
1381
+ case '\f':
1382
+ w.write("formfeed");
1383
+ break;
1384
+ default:
1385
+ w.write(c);
1386
+ }
1387
+ }
1388
+ else
1389
+ w.write(obj.toString());
1390
+ }
1391
+
1392
+ static public Object format(Object o, String s, Object... args) throws Exception{
1393
+ Writer w;
1394
+ if(o == null)
1395
+ w = new StringWriter();
1396
+ else if(Util.equals(o, T))
1397
+ w = (Writer) OUT.deref();
1398
+ else
1399
+ w = (Writer) o;
1400
+ doFormat(w, s, ArraySeq.create(args));
1401
+ if(o == null)
1402
+ return w.toString();
1403
+ return null;
1404
+ }
1405
+
1406
+ static public ISeq doFormat(Writer w, String s, ISeq args) throws Exception{
1407
+ for(int i = 0; i < s.length();) {
1408
+ char c = s.charAt(i++);
1409
+ switch(Character.toLowerCase(c)) {
1410
+ case '~':
1411
+ char d = s.charAt(i++);
1412
+ switch(Character.toLowerCase(d)) {
1413
+ case '%':
1414
+ w.write('\n');
1415
+ break;
1416
+ case 't':
1417
+ w.write('\t');
1418
+ break;
1419
+ case 'a':
1420
+ if(args == null)
1421
+ throw new IllegalArgumentException("Missing argument");
1422
+ RT.formatAesthetic(w, RT.first(args));
1423
+ args = RT.next(args);
1424
+ break;
1425
+ case 's':
1426
+ if(args == null)
1427
+ throw new IllegalArgumentException("Missing argument");
1428
+ RT.formatStandard(w, RT.first(args));
1429
+ args = RT.next(args);
1430
+ break;
1431
+ case '{':
1432
+ int j = s.indexOf("~}", i); //note - does not nest
1433
+ if(j == -1)
1434
+ throw new IllegalArgumentException("Missing ~}");
1435
+ String subs = s.substring(i, j);
1436
+ for(ISeq sargs = RT.seq(RT.first(args)); sargs != null;)
1437
+ sargs = doFormat(w, subs, sargs);
1438
+ args = RT.next(args);
1439
+ i = j + 2; //skip ~}
1440
+ break;
1441
+ case '^':
1442
+ if(args == null)
1443
+ return null;
1444
+ break;
1445
+ case '~':
1446
+ w.write('~');
1447
+ break;
1448
+ default:
1449
+ throw new IllegalArgumentException("Unsupported ~ directive: " + d);
1450
+ }
1451
+ break;
1452
+ default:
1453
+ w.write(c);
1454
+ }
1455
+ }
1456
+ return args;
1457
+ }
1458
+ ///////////////////////////////// values //////////////////////////
1459
+
1460
+ static public Object[] setValues(Object... vals){
1461
+ //ThreadLocalData.setValues(vals);
1462
+ if(vals.length > 0)
1463
+ return vals;//[0];
1464
+ return null;
1465
+ }
1466
+
1467
+
1468
+ static public ClassLoader makeClassLoader(){
1469
+ return (ClassLoader) AccessController.doPrivileged(new PrivilegedAction(){
1470
+ public Object run(){
1471
+ getRootClassLoader();
1472
+ return new DynamicClassLoader(baseLoader());
1473
+ }
1474
+ });
1475
+ }
1476
+
1477
+ static public ClassLoader baseLoader(){
1478
+ if(booleanCast(USE_CONTEXT_CLASSLOADER.deref()))
1479
+ return Thread.currentThread().getContextClassLoader();
1480
+ else if(ROOT_CLASSLOADER != null)
1481
+ return ROOT_CLASSLOADER;
1482
+ return Compiler.class.getClassLoader();
1483
+ }
1484
+
1485
+ static public Class classForName(String name) throws ClassNotFoundException{
1486
+
1487
+ return Class.forName(name, true, baseLoader());
1488
+ }
1489
+
1490
+ static public Class loadClassForName(String name) throws ClassNotFoundException{
1491
+ try
1492
+ {
1493
+ Class.forName(name, false, baseLoader());
1494
+ }
1495
+ catch(ClassNotFoundException e)
1496
+ {
1497
+ return null;
1498
+ }
1499
+ return Class.forName(name, true, baseLoader());
1500
+ }
1501
+
1502
+ static public float aget(float[] xs, int i){
1503
+ return xs[i];
1504
+ }
1505
+
1506
+ static public float aset(float[] xs, int i, float v){
1507
+ xs[i] = v;
1508
+ return v;
1509
+ }
1510
+
1511
+ static public int alength(float[] xs){
1512
+ return xs.length;
1513
+ }
1514
+
1515
+ static public float[] aclone(float[] xs){
1516
+ return xs.clone();
1517
+ }
1518
+
1519
+ static public double aget(double[] xs, int i){
1520
+ return xs[i];
1521
+ }
1522
+
1523
+ static public double aset(double[] xs, int i, double v){
1524
+ xs[i] = v;
1525
+ return v;
1526
+ }
1527
+
1528
+ static public int alength(double[] xs){
1529
+ return xs.length;
1530
+ }
1531
+
1532
+ static public double[] aclone(double[] xs){
1533
+ return xs.clone();
1534
+ }
1535
+
1536
+ static public int aget(int[] xs, int i){
1537
+ return xs[i];
1538
+ }
1539
+
1540
+ static public int aset(int[] xs, int i, int v){
1541
+ xs[i] = v;
1542
+ return v;
1543
+ }
1544
+
1545
+ static public int alength(int[] xs){
1546
+ return xs.length;
1547
+ }
1548
+
1549
+ static public int[] aclone(int[] xs){
1550
+ return xs.clone();
1551
+ }
1552
+
1553
+ static public long aget(long[] xs, int i){
1554
+ return xs[i];
1555
+ }
1556
+
1557
+ static public long aset(long[] xs, int i, long v){
1558
+ xs[i] = v;
1559
+ return v;
1560
+ }
1561
+
1562
+ static public int alength(long[] xs){
1563
+ return xs.length;
1564
+ }
1565
+
1566
+ static public long[] aclone(long[] xs){
1567
+ return xs.clone();
1568
+ }
1569
+
1570
+ static public char aget(char[] xs, int i){
1571
+ return xs[i];
1572
+ }
1573
+
1574
+ static public char aset(char[] xs, int i, char v){
1575
+ xs[i] = v;
1576
+ return v;
1577
+ }
1578
+
1579
+ static public int alength(char[] xs){
1580
+ return xs.length;
1581
+ }
1582
+
1583
+ static public char[] aclone(char[] xs){
1584
+ return xs.clone();
1585
+ }
1586
+
1587
+ static public byte aget(byte[] xs, int i){
1588
+ return xs[i];
1589
+ }
1590
+
1591
+ static public byte aset(byte[] xs, int i, byte v){
1592
+ xs[i] = v;
1593
+ return v;
1594
+ }
1595
+
1596
+ static public int alength(byte[] xs){
1597
+ return xs.length;
1598
+ }
1599
+
1600
+ static public byte[] aclone(byte[] xs){
1601
+ return xs.clone();
1602
+ }
1603
+
1604
+ static public short aget(short[] xs, int i){
1605
+ return xs[i];
1606
+ }
1607
+
1608
+ static public short aset(short[] xs, int i, short v){
1609
+ xs[i] = v;
1610
+ return v;
1611
+ }
1612
+
1613
+ static public int alength(short[] xs){
1614
+ return xs.length;
1615
+ }
1616
+
1617
+ static public short[] aclone(short[] xs){
1618
+ return xs.clone();
1619
+ }
1620
+
1621
+ static public boolean aget(boolean[] xs, int i){
1622
+ return xs[i];
1623
+ }
1624
+
1625
+ static public boolean aset(boolean[] xs, int i, boolean v){
1626
+ xs[i] = v;
1627
+ return v;
1628
+ }
1629
+
1630
+ static public int alength(boolean[] xs){
1631
+ return xs.length;
1632
+ }
1633
+
1634
+ static public boolean[] aclone(boolean[] xs){
1635
+ return xs.clone();
1636
+ }
1637
+
1638
+ static public Object aget(Object[] xs, int i){
1639
+ return xs[i];
1640
+ }
1641
+
1642
+ static public Object aset(Object[] xs, int i, Object v){
1643
+ xs[i] = v;
1644
+ return v;
1645
+ }
1646
+
1647
+ static public int alength(Object[] xs){
1648
+ return xs.length;
1649
+ }
1650
+
1651
+ static public Object[] aclone(Object[] xs){
1652
+ return xs.clone();
1653
+ }
1654
+
1655
+ static public Object aget(Object xs, int i){
1656
+ return Reflector.prepRet(Array.get(xs, i));
1657
+ }
1658
+
1659
+ static public Object aset(Object xs, int i, Object v){
1660
+ Array.set(xs, i, v);
1661
+ return v;
1662
+ }
1663
+
1664
+ static public int alength(Object xs){
1665
+ return Array.getLength(xs);
1666
+ }
1667
+
1668
+
1669
+
1670
+
1671
+ synchronized public static DynamicClassLoader getRootClassLoader(){
1672
+ if(ROOT_CLASSLOADER == null)
1673
+ ROOT_CLASSLOADER = new DynamicClassLoader();
1674
+ return ROOT_CLASSLOADER;
1675
+ }
1676
+ }