--- layout: ../Site.layout.js --- # Vassil Nikolov's assertables with Kent Pitman Mathematician gone software engineer Vassil Nikolov talks with ANSI Common Lisp's Kent M Pitman (and yours truly) about his assertables `macro`. [(The one hour live discussion can be downloaded/listened to here).](https://communitymedia.video/w/uBZexonyfvFkX92JTps4n3) There is extensive discussion on ANSI CL's [eval-when](http://www.lispworks.com/reference/HyperSpec/Body/s_eval_w.htm) special form which Vassil describes as allowing one to work on the compiler in a plugin-like manner. Kent gives the historical context he remembers of many of the related details in the ANSI standard. Comparison to [`cl-series`](https://gitlab.common-lisp.net/rtoy/cl-series/\-/wikis/Series-User's-Guide) is drawn relating to its nature as a portable macro package, and its decision to [shadow](https://www.lispworks.com/documentation/HyperSpec/Body/f_shadow.htm) [`cl:let`](https://www.lispworks.com/documentation/HyperSpec/Body/s_let_l.htm) with reference Vassil's alternate [`defun`](https://www.lispworks.com/documentation/HyperSpec/Body/m_defun.htm), and the norms and expectations around ANSI CL and cltl to allow shadowing like this in your own universe. Considerable effort is made to explain to me personally that classed [assert](https://www.lispworks.com/documentation/HyperSpec/Body/m_assert.htm)ions would be different to either CLOS [conditions](https://www.lispworks.com/documentation/HyperSpec/Body/e_cnd.htm) or type checking, and the historical thing with macros not being [declaration](https://www.lispworks.com/documentation/HyperSpec/Body/03_c.htm)s is brought up. Some reference to the [CMUCL reference manual](https://cmucl.org/doc/index.html) on [optimize](https://www.lispworks.com/documentation/HyperSpec/Body/d_optimi.htm) declarations. I probably missed something important. Because Kent basically asked for it, I included four minutes of hot mic after the show from the fallback stream (which has such things), because I think it just added historically significant additional notes about lisp. [An earlier interview with Kent Pitman](https://screwlisp.small-web.org/show/kmp-whither-original-thought/). Thank-you to rat for Kent's links to Exceptional Situations in Lisp by Kent M. Pitman: - https://nhplace.com/kent/Papers/index.html - https://dspace.mit.edu/bitstream/handle/1721.1/41474/AI_WP_268.pdf (I also mentioned I recognized Kent's example about `+` not being intended to be used to provide type assertions [] from this [historical text document on conditions in lisp](https://www.nhplace.com/kent/CL/Revision-18.txt)) Doug Merritt and everyone for active commentary live on LambdaMOO. # Some links - [Kent M Pitman](https://climatejustice.social/@kentpitman) - - [Site](https://www.nhplace.com/kent/) - - [Blog](https://netsettlement.blogspot.com/) - - [(Wikipedia)](https://en.wikipedia.org/wiki/Kent_Pitman) - [Vassil Nikolov](https://ieji.de/@vnikolov) Once and future guest Shizamura's [O Sarilho](https://sarilho.net/en/) scifi comic is just printing its fourth volume. # Fin. Feedback and commentary (and volunteering to be on in the future) on [this Mastodon thread](https://gamerplus.org/@screwlisp/114661745592881588) please. - [Show going live announcement Mastodon thread](https://gamerplus.org/@screwlisp/114661745592881588) - [Earlier discussion feat. Vassil's interest in radios and history, also Shizamura, dm and everyone](https://gamerplus.org/@screwlisp/114661404186463451) Please absolutely do share and distribute this and the interview in whatever means and mediums occur to you, and talk about it in the Mastodon thread. (Are you an expert or otherwise interested in any of the future show topics Vassil called for?).