Nearly every programming language has some flavor of "structure" declaration, where the programmer can conjure a new type representing the composition of other primitive types or structures, neatly organized into named fields. While the concept is practically universal, the way the programmer defines and interacts with these types can vary dramatically between languages. In Scheme, such structures are called "records". I found that the existing facilities left a lot to be desired, so I wrote a few macros to provide an experience more akin to Common Lisp.
Jakob's Personal Webpage · Jun 14, 2026
Eschewing An Established Convention Because We Can
0Sign in to vote or save
This page cannot be shown here. You can still read it on the original site — the toolbar below keeps your place in the directory.
Nearly every programming language has some flavor of "structure" declaration , where the programmer can conjure a new type representing the composition of other primitive types or structures, neatly organized into named fields. While the concept is practically universal, the way the programmer defines and interacts with these types can vary dramatically between languages. In Scheme, such…
Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.