aboutsummaryrefslogtreecommitdiff
path: root/packages.lisp
AgeCommit message (Collapse)Author
2025-02-11Implement a "take" function to read subsequences of a listAryadev Chavali
Basically a wrapper over subseq but for when using `->>` as the list is the last parameter.
2025-02-11Implement `$` operator, second class version of the applicative operatorAryadev Chavali
The `$` operator takes a sequence of FORMS and returns a unary function which applies the input through that sequence via the `->>` operator. For example, consider the predicate "not null". `null` is built into Common Lisp but "not null" requires writing a function (lambda (x) (not (null x))). Now, using this operator, you can write ($ not null) which returns the same lambda as above while being more concise.
2025-02-11Introduce lib.functions which includes helper functionsAryadev Chavali
Splitting macros and functions into different packages and source code makes it easier to look at. Functions currently implemented: - range: like Python's range - parse-integer*: parse-integer but junk-allowed is set to t.
2025-02-11Add type alias for function and macro for defining functions with type specifierAryadev Chavali
`fn' is a convenience macro for defining functions with a type specifier. Only really matters for `sbcl` and other hard-optimising Lisp interpreters which actually take these seriously.
2025-02-11Implement a `while' macro.Aryadev Chavali
2025-02-11Implement threading macros and make package lib.macros to hold them.Aryadev Chavali
2025-02-11Initial commit.Aryadev Chavali
Setup boilerplate for system/package management. In particular, setup an entry-point and Shinmera's "deploy" to build executables. Also write some scripts to easily load or build the project without Emacs - just `sbcl --load <x>.lisp`.