On Tue, 13 Jul 2021 21:02:28 -0300, David Bremner <david@tethera.net> wrote: > Feedback of any kind is welcome, but particularly on UI / UX > issues. You can get a pretty good idea of the supported syntax by > looking at the tests. I read through the commits and it looks good to me implementation-wise. I'm probably not the most experienced lisper around so take my ideas with a grain of salt. I did work professionally on a Clojure codebase for a couple of years and I've written a bunch of small programs in Racket but that's pretty much it. But looking at the sexp parser and the implementation of logical connectors I can't help but think that isn't this patchset implementing a tiny subset of a lisp? And wouldn't a full embedded lisp be much, much more powerful? I'd at least consider embedding something like s7 [0] or Janet [1], writing bindings for enough Xapian functionality, and then writing the rest in the lisp itself. That way you'd get a more powerful and extensible sexp implementation, and you'd implement most of it in a much more ergonomic language. Of course I don't really know Xapian and I'm not sure of the design goals of this sexp parser, but my experience with HoneySQL [2] tells me that building queries with a lisp from lisp data structures can be unbelievably powerful. Hannu [0]: https://ccrma.stanford.edu/software/snd/snd/s7.html [1]: https://janet-lang.org/ [2]: https://github.com/seancorfield/honeysql _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-leave@notmuchmail.org