module_ident

Function module_ident 

Source
pub fn module_ident(name: &str) -> String
Expand description

Read a source file in whichever surface its extension names.

.beck is the Python surface and the default; .sx is the canonical S-expression surface, which stays “documented and supported (it is invaluable for macro debugging, for the spec, and for generated code)” (§2.2). A file name, as the identifier a module is called.

A module name is printed into (module <name> …) and has to read back as a symbol, so it cannot simply be the file name: 01-counter.beck would print a form the reader rejects, and parse(print(parse(src))) == parse(src) — the round-trip property §4.8 asks for — would fail on any file whose name is not already an identifier. Found by naming a corpus in file order.