Skip to content

Releases: tfeb/tfeb-lisp-hax

An iteration macro for multiple lists: dolists

26 Aug 07:58
v8.2.0
Compare
Choose a tag to compare

simple-loops now has dolists, which is like dolist but for multiple lists. It also has fine control over what values, if any, are returned by the iteration.

Improvements to slog and collecting

04 Apr 14:01
v8.1.0
Compare
Choose a tag to compare

slog. The default condition type used by slog when its first argument is a string is now controlled by a variable. There is support for resetting the precision time offset, which is needed for dumping & restoring images.

collecting. collect-into can now collect into the local functions defined by collecting / with-collectors, not just the objects made by make-collector.

New iterate variants, some cleanups and improvements

16 Mar 09:49
v8.0.0
Compare
Choose a tag to compare

There is a new iterating macro which is a fancier version of iterate which uses keyword arguments for the local function: this is slower but quite powerful. Both iterate and iterating have starred variants which bind sequentially.

The utilities no longer depend on other hacks.

Metatronic macros now exports some functionality which can helps you to write your own metatronic macros.

Macro tracing can control *print-circle*, metatronic macro improvements

01 Feb 11:11
v7.2.0
Compare
Choose a tag to compare

*trace-macroexpand-print-circle* is now the default for *print-circle* during macro tracing. It's useful to set it to true so you can see which gensyms are the same

Metatronic macros has some small improvements, and supports a version of define-compiler-macro (unclear is this is useful but it should be there).

Heavily revised slog

01 Feb 11:08
v7.0.0
Compare
Choose a tag to compare

slog now does a lot less pathname handling than the previous one. It may not be completely compatible, especially around when log files are created and so on. But I think it is better.

Small fixes on 6.0.0

27 Sep 07:45
v6.0.1
Compare
Choose a tag to compare

There was a missing test in the publication repo.

Metatronic is now more configurable.

Metatronic macros, simple logging

26 Sep 12:06
v6.0.0
Compare
Choose a tag to compare

Metatronic macros make writing less unhygienic macros in CL easier: instead of the awful

(defmacro with-foo (...)
  (let ((vn (gensym)))
    `(... ,vn ... ,vn ...)))

You can write

(defmacro/m with-foo (...)
  `(... <vn> ... <vn> ...))

Simple logging is a logging framework based on the observations that conditions do not have to represent errors or warnings, and that condition handlers are invoked before the stack is unwound. Conditions are, in fact, extremely suitable objects to represent log events.

Read version from file

12 Sep 16:04
v5.0.3
Compare
Choose a tag to compare

This changes the ASDF system declarations to read the version from a file. So, finally, version numbers might be consistent.

Also some small changes to define-functions.

Readers deal with *read-suppress*

15 Aug 08:54
v5.0.2
Compare
Choose a tag to compare

Both read-package and stringtable paid no attention to *read-suppress* and so almost certainly did the wrong thing when it was true: certainly in the case of read-package, less so in the case of stringtable. They both now pay attention to it and try to do the right thing.

Note: what the right thing is is not completely clear for stringtable: what it does is to call handlers, but ignore what they return. It does this because handlers can absorb arbitrary characters from the stream.

Hush SBCL

18 Jul 11:46
v5.0.1
Compare
Choose a tag to compare

By reordering definitions in utilities.lisp.