Discussion
Loading...

Post

  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
Artyom Bologov
@aartaka@merveilles.town  ·  activity timestamp last week

#CommonLisp includes a number of meta-linguistic utilities vital for compiler building. Like pathname resolution (PATHNAME-MATCH-P,) or type specifier checking (SUBTYPEP,) or obvious things like READ. But this set of building blocks is incomplete. In my quest to rely on the language and compiler as much a possible in all my projects, I had this situation more than once:

• Do something manually and heuristically

• Realize there’s a utility for that in the language and use it

• And then encounter a problem that should be solvable, if only the used utility had an “obvious” counterpart/sub-utility/extension

• Go back to manual handling, because the utility set is incomplete

Happened with cl-match-patterns and pathnames, and happens now with typed-macros (TBA.) So yeah, Common Lisp lacks “obvious” meta-programming utils, and now I wonder why some were included but some weren’t.

  • Copy link
  • Flag this post
  • Block
Konrad Hinsen
@khinsen@scholar.social replied  ·  activity timestamp last week

@aartaka When I needed "READ. but with some extras", I did some searching and found eclector. All those building blocks of SICL look like great tools for meta-programming.

  • Copy link
  • Flag this comment
  • Block
Log in

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.1-alpha.8 no JS en
Automatic federation enabled
  • Explore
  • About
  • Members
  • Code of Conduct
Home
Login