     (d/calculate [:arg]
       #(into '() (reverse (exotics/integer-to-truth-table (math/abs %1) 1))) :as :bits)
     (d/push-onto :exec :bits)))
-
-
-
-(def integer->bits
-  (core/build-instruction
-    integer->bits
-    "`:integer->bits` pops the top `:integer` and pushes a vector of its 'bits' (as `true` and `false` in low-to-high order) to the `:booleans` stack. Negative numbers are made positive. The minimal binary representation is used, but always at least two bits are produced."
-    :tags #{:numeric :conversion}
-    (d/consume-top-of :integer :as :arg)
-    (d/calculate [:arg]
-      #(exotics/integer-to-truth-table (math/abs %1) 1) :as :bits)
-    (d/push-onto :booleans :bits)))
-
-
-
-
-(def integer->numerals
-  (core/build-instruction
-    integer->numerals
-    "`:integer->numerals` pops the top `:integer` and pushes a vector of its numerals (not including negative sign or bigint decorations) to `:chars` "
-    :tags #{:numeric :conversion}
-    (d/consume-top-of :integer :as :arg)
-    (d/calculate [:arg]
-      #(into [] (filter #{\0 \1 \2 \3 \4 \5 \6 \7 \8 \9} (seq (str %1)))) :as :numbers)
-    (d/push-onto :chars :numbers)))
-
 
 
 

    (d/push-onto :integer :scaled)))


(def integer-subtract (t/simple-2-in-1-out-instruction
  "`:integer-subtract` pops the top two `:integer` items, and pushes their difference, subtracting the top from the second" :integer "subtract" '-'))


;; conversion


(def boolean->integer

    (d/push-onto :integer :logic)))



(def char->integer
  (core/build-instruction
    char->integer
    "`:char->integer` pops the top `:char` item, and converts it to an (integer) index"
    :tags #{:base :conversion}
    (d/consume-top-of :char :as :arg1)
    (d/calculate [:arg1] #(long %1) :as :int)
    (d/push-onto :integer :int)))



(def float->integer
  (core/build-instruction
    float->integer
