packages feed

ansiform-0.7.8.5: docs/naming.md

# Naming

The package is named `ansiform`, and the public modules live under the `Ansiform` namespace.

## Origin

`ansiform` is a portmanteau of ANSI and form/format. It is not an established term. A Hackage check found no package named `ansiform` or `Ansiform`, so the name appears to be available.

## Why the project was renamed

The project was formerly named `vis`. That name caused two kinds of confusion:

- Hackage already has a package named `Vis` (capital V): Painless 3D graphics, a fork of not-gloss.
- The JavaScript ecosystem has `vis-network` and its predecessor `vis.js`, libraries for graph and network visualization.

The exact lowercase `vis` was not listed on Hackage, but names that differ only in case are a poor idea for discoverability. The rename avoids the case-only distinction and gives the library a distinctive identity.

## What changed

- The package name changed from `vis` to `ansiform`.
- The module namespace changed from `Vis` to `Ansiform`.
- Imports in the demo, tests and user code changed from `import Vis` to `import Ansiform`.
- The demo executable is now `ansiform-demo` and the test suite is `ansiform-test`.
- The license changed from GPL-3.0-only to MIT.

There is no compatibility module named `Vis`. The rename is a breaking change for users of the old package.

## Public types

The 0.5.0 release removed the `Vis` prefix from the public types. The public API now uses `Item`, `Block`, `Group`, `Table`, `Paragraph`, `Article`, `Rule`, `Number`, `Width`, `Padding`, `Offset`, `Color`, `Format`, `Style`, `Printer`, `Section`, `Page`, `Settings`, `Config`, `State` and `Sample`.

## Builder names

The 0.6.0 release removed the `vis` prefix from the internal builder helpers. They now use the `form` prefix: `formItem`, `formBlock`, `formGroup`, `formTable`, `formRule`, `formPrinter`, `formSection`, `formPage`, `formSettings`, `formConfig`, `formState`, `formNumber`, `formColor`, `formFormat` and `formStyle`. The low-level style helpers use descriptive names: `applyStyle`, `resetStyle`, `styleCommands`, `colorCommands`, `formatCommands`, `setBackground` and `swapBackground`. The public `visNumber` is now `formNumber`.

The public builders remain unprefixed (`item`, `block`, `groupSimple`, `tableBlocks`, `printerLeft`, `section`, `page`, etc.).

## Remaining names to avoid confusion

The old package name remains in the changelog for historical context. The public API no longer uses the `Vis` prefix, nor does it export the `vis` builder prefix. The README explains that `ansiform` is unrelated to the Hackage `Vis` package and to `vis-network`.