Skip to content

Make descriptive I/O names primary in the prelude - #19

Draft
isomorphisms wants to merge 10 commits into
Idriçfrom
prelude/descriptive-io-names
Draft

Make descriptive I/O names primary in the prelude#19
isomorphisms wants to merge 10 commits into
Idriçfrom
prelude/descriptive-io-names

Conversation

@isomorphisms

@isomorphisms isomorphisms commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Make long, descriptive snake_case I/O names the canonical Prelude.IO definitions and move alternate spellings into naming-style alias modules.

Structure:

  • Prelude.IO contains only the canonical language-facing operations such as write_out_string_of_characters, write_out_character, ingest_character, and ingest_line_of_characters.
  • Prelude.Aliases.Idris derives the traditional Idris compatibility names (putStr, putChar, getChar, print, etc.) from those canonical definitions.
  • Prelude.Aliases.PlainEnglish groups the currently selected alternate plain-English spellings by naming style rather than scattering synonyms beside each operation.
  • Prelude publicly imports both current alias packs, so existing Idris source remains compatible and the selected basic-operation spellings remain reserved in the ordinary Prelude namespace.
  • Future naming conventions should be organized one module per coherent style (for example, a Hungarian-notation alias module), not one file per operation or synonym family.

The primitive/runtime foreign bindings are unchanged. Char remains described as a single-byte character and String remains the separate string-of-characters surface. parse_* is intentionally not used for stdin reads because those operations ingest input rather than parse text into another value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant