about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2019-12-11T10·31+0000
committerWilliam Carroll <wpcarro@gmail.com>2019-12-24T15·21+0000
commitb3342afbfa28da3353195e611bd9d19eb6a6c587 (patch)
treeb55e1e8a26d592eca28e9dbb76e17b1ac68fd44b
parent6b456c1b7a4f6899f063a6e65355af51901d9c7a (diff)
Temporarily disable code that creates circular deps
After attempting to package some of my Elisp libraries using Nix, I exposed
circular dependencies between modules that has existed for awhile.

I'm temporarily disabling this code since I do not have time to refactor
everything. When I get around to packaging everything, I'll need to resolve
these issues.

For now, I must carry on.
-rw-r--r--configs/shared/.emacs.d/wpc/list.el30
-rw-r--r--configs/shared/.emacs.d/wpc/number.el26
-rw-r--r--configs/shared/.emacs.d/wpc/series.el8
3 files changed, 38 insertions, 26 deletions
diff --git a/configs/shared/.emacs.d/wpc/list.el b/configs/shared/.emacs.d/wpc/list.el
index bc89c1326473..bcab3df09cde 100644
--- a/configs/shared/.emacs.d/wpc/list.el
+++ b/configs/shared/.emacs.d/wpc/list.el
@@ -49,7 +49,9 @@
 ;; Dependencies
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(require 'prelude)
+;; TODO: Move `prelude/assert' elsewhere so that I can require it without
+;; introducing the circular dependency of list.el -> prelude.el -> list.el.
+;;(require 'prelude)
 (require 'dash)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -179,19 +181,19 @@ Be leery of using this with things like alists.  Many data structures in Elisp
 ;; Tests
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(when list/tests?
-  (prelude/assert
-   (= 0
-      (list/length '())))
-  (prelude/assert
-   (= 5
-      (list/length '(1 2 3 4 5))))
-  (prelude/assert
-   (= 16
-      (list/reduce 1 (lambda (x acc) (+ x acc)) '(1 2 3 4 5))))
-  (prelude/assert
-   (equal '(2 4 6 8 10)
-          (list/map (lambda (x) (* x 2)) '(1 2 3 4 5)))))
+;; (when list/tests?
+;;   (prelude/assert
+;;    (= 0
+;;       (list/length '())))
+;;   (prelude/assert
+;;    (= 5
+;;       (list/length '(1 2 3 4 5))))
+;;   (prelude/assert
+;;    (= 16
+;;       (list/reduce 1 (lambda (x acc) (+ x acc)) '(1 2 3 4 5))))
+;;   (prelude/assert
+;;    (equal '(2 4 6 8 10)
+;;           (list/map (lambda (x) (* x 2)) '(1 2 3 4 5)))))
 
 (provide 'list)
 ;;; list.el ends here
diff --git a/configs/shared/.emacs.d/wpc/number.el b/configs/shared/.emacs.d/wpc/number.el
index 81d3c5d2b935..f496349050d9 100644
--- a/configs/shared/.emacs.d/wpc/number.el
+++ b/configs/shared/.emacs.d/wpc/number.el
@@ -106,16 +106,18 @@ While this function is undeniably trivial, I have unintentionally done (- 1 x)
 
 ;; TODO: Does this belong in a math module?  Is math too vague?  Or is number
 ;; too vague?
-(defun number/factorial (x)
-  "Return factorial of `X'."
-  (cond
-   ((number/negative? x) (error "Will not take factorial of negative numbers"))
-   ((= 0 x) 1)
-   ;; NOTE: Using `series/range' introduces a circular dependency because:
-   ;; series -> number -> series.  Conceptually, however, this should be
-   ;; perfectly acceptable.
-   (t (->> (series/range 1 x)
-           (list/reduce 1 #'*)))))
+;; TODO: Resolve the circular dependency that this introduces with series.el,
+;; and then re-enable this function and its tests below.
+;; (defun number/factorial (x)
+;;   "Return factorial of `X'."
+;;   (cond
+;;    ((number/negative? x) (error "Will not take factorial of negative numbers"))
+;;    ((= 0 x) 1)
+;;    ;; NOTE: Using `series/range' introduces a circular dependency because:
+;;    ;; series -> number -> series.  Conceptually, however, this should be
+;;    ;; perfectly acceptable.
+;;    (t (->> (series/range 1 x)
+;;            (list/reduce 1 #'*)))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Tests
@@ -132,8 +134,8 @@ While this function is undeniably trivial, I have unintentionally done (- 1 x)
    (number/whole? 0))
   (prelude/assert
    (number/integer? 10))
-  (prelude/assert
-   (= 120 (number/factorial 5)))
+  ;; (prelude/assert
+  ;;  (= 120 (number/factorial 5)))
   (prelude/assert
    (number/even? 6))
   (prelude/refute
diff --git a/configs/shared/.emacs.d/wpc/series.el b/configs/shared/.emacs.d/wpc/series.el
index 977ffc50261a..55e97f278984 100644
--- a/configs/shared/.emacs.d/wpc/series.el
+++ b/configs/shared/.emacs.d/wpc/series.el
@@ -18,8 +18,16 @@
 
 ;;; Code:
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Dependencies
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
 (require 'number)
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Library
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
 (defun series/range (beg end)
   "Create a list of numbers from `BEG' to `END'.
 This is an inclusive number range."