Most of these are to get rid of 'little lackings' of the lisp language; except:
Uses regex to provide
(destructuring-regex regex-and-vars string ..body..) where
- symbols, the value entered is whatever is between other matching
- strings is skip to a match, dont record the match (but maybe record what is between)
- (symbol string) go to match and put it in the variable.
- (symbol symbol) figure out a regular expression from the symbol using
(regex-string-of-type type-symbol), and then parse it with
(parse-type type-symbol string)and put that in variable.
(t ..body..)what to do if mismatch.
There is also a
regex-case which picks the first matching
destructuring-regex form. (Note that it is conceptually a little different
Just a little better than the other parse-number. read-tab-listing could be
useful. destructuring-regex uses it and provides a
(eql :num) (and aliasses) for it.
match-form form expr &key ... where
form is nested lists where
symbols mean variables. The function returns a assoc list when the variables
match.(and various things 'what went wrong' otherwise)
apply-vars form vars &key ... can fill in variables as given
vars assoc list.
- vector-vect, vectors using
(vector..), adding inproduct
- j-generic, general stuff(not really used, but i might.)
- j-seq-utils, some stuff like making
find*, more general versions.
- j-string-utils, some stuff for convenient string stuff, like
(potentially nested) tokenizing,
- j-parse-number, because i felt i could do better.
- gen-expr, generates random expressions. (for bijection tests for instance)
- denest, it is annoying when code gets nested. Just denest is a reaction. Though not the best one, usually improvement of code makes it go away better.
- read-tab-listing, reads nested lists where the nestedness is indicated by differing levels of indentation.
Make a test for destructuring-regex. Also make a pcre version.
Make the test for nested tokenizing more thurrough.
:listkeywords dont work with
apply-varsyet. There is no
:keyyet either.(And why did i not start these with
Regular-tree could use some concepts from destructuring regex, 'continuing on elements'. For instance, when it sees the correct things in
exprin the right spaces, it could use
Some of it is under the public domain, and some under the GPLv3, license
Jasper den Ouden