about summary refs log tree commit diff
path: root/users/wpcarro/lisp/f
diff options
context:
space:
mode:
Diffstat (limited to 'users/wpcarro/lisp/f')
-rw-r--r--users/wpcarro/lisp/f/README.md5
-rw-r--r--users/wpcarro/lisp/f/default.nix11
-rw-r--r--users/wpcarro/lisp/f/main.lisp48
3 files changed, 0 insertions, 64 deletions
diff --git a/users/wpcarro/lisp/f/README.md b/users/wpcarro/lisp/f/README.md
deleted file mode 100644
index 34e07180d492..000000000000
--- a/users/wpcarro/lisp/f/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# f.lisp
-
-In this project, I'm attempting to port the Elisp library [`f.el`][1] to Common Lisp.
-
-[1]: https://github.com/rejeep/f.el
diff --git a/users/wpcarro/lisp/f/default.nix b/users/wpcarro/lisp/f/default.nix
deleted file mode 100644
index a71c8f887a41..000000000000
--- a/users/wpcarro/lisp/f/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ depot, ... }:
-
-depot.nix.buildLisp.library {
-  name = "f";
-  deps = with depot.users.wpcarro.lisp; [
-    prelude
-  ];
-  srcs = [
-    ./main.lisp
-  ];
-}
diff --git a/users/wpcarro/lisp/f/main.lisp b/users/wpcarro/lisp/f/main.lisp
deleted file mode 100644
index a51c38127815..000000000000
--- a/users/wpcarro/lisp/f/main.lisp
+++ /dev/null
@@ -1,48 +0,0 @@
-(in-package #:cl-user)
-(defpackage #:main
-  (:documentation "Modern API for working with files and directories.")
-  (:use #:cl)
-  (:shadow #:type))
-(in-package #:main)
-
-;; Common Lisp distinguishes between `namestrings` and `pathnames` as two types
-;; of filename representations.
-;;
-;; A `pathname` is a structured representation of the name of a file, which
-;; consists of six parts:
-;; 1. host
-;; 2. device
-;; 3. directory
-;; 4. name
-;; 5. type
-;; 6. version
-
-;; TODO: Should I be using `string` as a type or `namestring`?
-
-(defmacro type (name in out)
-  `(declaim (ftype (function ,in ,out) ,name)))
-
-(type join (&rest namestring) pathname)
-(defun join (&rest args)
-  "Join ARGS to a single path."
-  (apply #'merge-pathnames args))
-
-(type ext (pathname) string)
-(defun ext (path)
-  "Return the file extension of PATH."
-  (pathname-type path))
-
-;; TODO: Define these tests elsewhere.
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Tests
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; join
-(string= (join "path") "path")
-(string= (join "path" "to") "path/to")
-(string= (join "/" "path" "to" "heaven") "/path/to/heaven")
-
-;; ext
-(string= (ext #p"path/to/file.ext") "ext")
-(string= (ext #p"path/to/directory") nil)