Commits on Jun 25, 2010
  1. incorporate BigInt

    richhickey committed Jun 25, 2010
Commits on Jun 24, 2010
Commits on Jun 23, 2010
  1. add hashCode/equals to BigInt, refine number =, new method equal chec…

    …ks for matching category before equivalence, move array and hashMap to equiv for keys
    richhickey committed Jun 23, 2010
  2. Initial version of BigInt -- note overflow caps/rolls over inconsiste…

    Signed-off-by: Rich Hickey <>
    Chouser committed with richhickey Jun 23, 2010
Commits on Jun 21, 2010
  1. auto-box loop arg when primitive local recur mismatch, print warning …

    …that this is happening when *warn-on-reflection* is true
    richhickey committed Jun 21, 2010
Commits on Jun 19, 2010
  1. Swap defaults, now non-promoting +, * etc is default. Use +', *' etc …

    …for arbitrary precision.
    richhickey committed Jun 19, 2010
Commits on Jun 18, 2010
  1. Allow ' as constituent character

    Bigints auto-reduce in all cases
    Restore +, *, -, inc, dec as auto-promoting ops, will never return primitive integers, will auto-promote even when given primitives.
    Add +', *', -', inc', dec', that do exactly what their counterparts do except when given integers of long or smaller, in which case they will not auto-promote but instead throw on overflow, and can return primitives.
    Return primitive doubles on all ops involving primitive doubles
    Box on long ops only after checking for overflow
    richhickey committed Jun 18, 2010
Commits on Jun 17, 2010
  1. Change = to include type of boxed numbers (and collections thereof). …

    …Use == for inter-type numeric equivalence.
    richhickey committed Jun 17, 2010
Commits on Jun 16, 2010
  1. Unify numeric semantics around longs, with throw on overflow. Allow n…

    …umeric literals to be primitive initializers. Canonicalize boxing of integers, if it fits in int, is Integer, else Long, thus primitive coercions can't be used to get particular boxed types, use Long/valueOf etc. Ask for BigIntegers if you want arbitrary precision, new literal number format - append 'N' for BigInteger. BigIntegers do not reduce automatically, are contagious. New particular names for unchecked ops - unchecked-xxx-int or unchecked-xxx-long. You should need far fewer hints for primitive perf, and avoid int casts and any casting of numeric literals, see:
    richhickey committed Jun 16, 2010
Commits on Jun 13, 2010
  1. incomplete work in progress

    richhickey committed Jun 13, 2010
Commits on Jun 12, 2010
  1. incomplete work in progress

    richhickey committed Jun 12, 2010
Commits on Jun 11, 2010
Commits on Jun 10, 2010
  1. #377 test now reports file/line for failures in repl or Ant build

    Signed-off-by: Rich Hickey <>
    stuarthalloway committed with richhickey Jun 8, 2010
  2. detect constant maps, emit as constants

    break down constant inits into separate methods, call from init
    move core.clj to statics
    richhickey committed Jun 10, 2010
Commits on Jun 9, 2010
  1. moved statics to using arglist metadata, support recursion and variad…

    …ics, limit primitives to long and double
    richhickey committed Jun 9, 2010