Skip to content

Instantly share code, notes, and snippets.

@zenAndroid
Last active January 7, 2024 03:40
Show Gist options
  • Save zenAndroid/e4975f33e490556dad7068c53c3dd2b2 to your computer and use it in GitHub Desktop.
Save zenAndroid/e4975f33e490556dad7068c53c3dd2b2 to your computer and use it in GitHub Desktop.
Forgive me Steele for i am sinning, also scheme is better fite me
;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
;; These are my own additions, i don't know if it is wise to add them or not, but i will do it anyways for now.
;; I am SINNING AND I DONT CARE
(define-symbol-macro true t)
(defmacro alias-function (alias old)
"Create an alias so that using the
alias refers to the old function"
`(setf (fdefinition ',alias) #',old))
(defmacro set! (&rest rest)
"Oh boy i love sinning."
`(setf ,@rest))
(defmacro call (&rest rest)
"Oh boy i love sinning."
`(funcall ,@rest))
(defmacro local-functions (&rest rest)
"Oh boy i love sinning."
`(labels ,@rest))
(defun nth! (sequence index)
(nth index sequence))
(defun fdoc (function-name)
(documentation function-name 'function))
(alias-function null? null)
(alias-function eq? eq)
(alias-function eql? eql)
(alias-function equal? equal)
(alias-function atom? atom)
(alias-function odd? oddp)
(alias-function even? evenp)
(alias-function type? typep)
(alias-function subtype? subtypep)
(alias-function subset? subsetp)
(alias-function symbol? symbolp)
(alias-function cons? consp)
(alias-function list? listp)
(alias-function number? numberp)
(alias-function integer? integerp)
(alias-function rational? rationalp)
(alias-function float? floatp)
(alias-function real? realp)
(alias-function complex? complexp)
(alias-function character? characterp)
(alias-function string? stringp)
(alias-function bit-vector? bit-vector-p)
(alias-function vector? vectorp)
(alias-function simple-vector? simple-vector-p)
(alias-function simple-string? simple-string-p)
(alias-function simple-bit-vector? simple-bit-vector-p)
(alias-function array? arrayp)
(alias-function package? packagep)
(alias-function function? functionp)
(alias-function compiled-function? compiled-function-p)
(alias-function standard-char? standard-char-p)
(alias-function stream? streamp)
(alias-function random-state? random-state-p)
(alias-function readtable? readtablep)
(alias-function hash-table? hash-table-p)
(alias-function pathname? pathnamep)
(alias-function string-less? string-lessp)
(alias-function string-greater? string-greaterp)
(alias-function any some)
(alias-function newline terpri)
(defmacro defstrooct (name &rest rest)
"I hate -p suffix I hate -p suffix I hate -p suffix I hate[...]"
`(progn
(defstruct ,name ,@rest)
(defun ,(intern (format nil "~A?" name)) (&rest rest)
(,(intern (format nil "~A-p" name)) ,@rest))))
@zenAndroid
Copy link
Author

inb4 there are some god-awful ramifications to these 'shortcuts' that will shoot me in the leg 🙃

@zenAndroid
Copy link
Author

i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care i dont care

@zenAndroid
Copy link
Author

Unfortunately, Common Lisp is not completely regular. There are no recognizers for fixnums, bignums, sequences, and structures. Two recognizers, null and atom, do not end in p. Also note that there is a hyphen before the p in hash-table-p, because the type has a hyphen in it. In addition, all the recognizers generated by defstruct have a hyphen before the p.

No.

@zenAndroid
Copy link
Author

mmm maybe this should have been a git repo instead, for the memes and the history ....

m maybe not tho

@zenAndroid
Copy link
Author

mmm maybe this should have been a git repo instead, for the memes and the history ....

m maybe not tho

hey u

can actually see the revisions tho thats good and nice my feet hurts pain is painful life is meaningless i am losing my mind i fucking hate this piece of shit language common lisp is good actually why the semantic core of common lisp is an absolutely elegant perfect almost platonic model of computation but its fucking bogged down by .... everything in it god i hate its syntactic flaws and this gaaaaaaaaaaaa why didnt they standardize it in a more modern non-retarded way christ fuck fuck god damn it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment