Note: ← is typed as _ in the interlisp vm. If you can't see UTF8, those are all like <- Day one of my challenge of porting everything interesting about Twitter's open source projects to interlisp. Well, I opened what turned out to be a derelict repository, for a ruby-jekyll usage that Twitter had dropped. Still, there was one scala file creating a class with accessors. So... I guess we will finally find out what interlisp records are like. Make a new interlisp exec and make sure the package is IL: The class name was SimpleClass. We'll call it simplerecord. There are junk fields, demonstrating one with a getField alias and one without. This turns out to be really interesting in interlisp. ← (record simplerecord (foo foobean) foo ← "foo" foobean ← "fooBean" (accessfns ((getfoobean (fetch (simplerecord foobean) of datum))))) simplerecord I didn't actually figure out where getfoobean turns up yet. My aarch64 openbsd build seems different to a linux release I also tried; I might've done something weird building it. Also the last field of a record is meant to be dotted so the record is dense; but this build objects to that. Anyway ← (setq instance (create simplerecord foobean ← "oofbean") ("foo" "oofbean") ← (with simplerecord instance (list foobean foo)) ("oofbean" "foo") This shows how DWIM is not just a package or spellchecker; records have their own language, that I think would be called a comprehension in python these days. More specific record types are: DATATYPE TYPERECORD ARRAYRECORD PROPRECORD ASSOCRECORD HASHLINK