 	   (for ~bindings
 	     (double ~expr))))
 
-;; Repulsive Energy
+;; Repulsive Energy and Force
 
 (defn- node-line-distance
   "Returns the distance from node to the line between [x_1, y_1] and [x_2, y_2]."


;;;

(comment "For Testing"

(require 'conexp :reload-all)
(def lat (conexp/concept-lattice (conexp/rand-context #{1 2 3 4 5 6} 0.4)))
(defn simple-layered-force-layout [lat]
  (force-layout lat (conexp/simple-layered-layout lat)))
(conexp/draw-lattice lat simple-layered-force-layout)

)
;;;

nil

		       {:inf-irrs seq-of-inf-irrs,
			:upper-neighbours-of-inf-irrs upper-neighbours})))))

(defn- force-by-inf-irr-positions
  "Returns a function representing the forces on the infimum
  irreducible elements of lattice. The function returned takes as
  input and index representing the coordinate to derive at and returns
  itself a function from a placement of the inf-irreducible elements
  to the force component given by the index. seq-of-inf-irrs gives the
  order of the inf-irreducible elements."
  [lattice seq-of-inf-irrs]
  (throw (UnsupportedOperationException. "Not yet implemented.")))

;; Force Layout

(defn force-layout
