erl_features(3)

πŸ“¦
version 29.0.6 Β· 3 versions
, in ubuntu stonking

✨ NAME ✨

okay so bestie, this is the tea on erl_features(3) β€” the manual name is right there, and it's from Erlang Module Definition. πŸ¦‹

erl_features - This module contains functions for supporting features that can be enabled/disabled in Erlang. periodt πŸ’…

🌸 DESCRIPTION 🌸

Real talk: It should be considered as mostly for internal use, although there are some functions that might be useful when writing tools. It's giving internal-use energy, but not a total no-tools-allowed zone, iykyk. 😌

πŸŽ€ DATA TYPES πŸŽ€

The lore, bestie:

  • feature() :: atom().
  • release() :: non_neg_integer().
  • status() :: experimental | approved | permanent | rejected.
  • type() :: extension | backwards_incompatible_change.

πŸ’… FUNCTIONS πŸ’…

all()

all() -> [feature()].

Return a list of all known features. This list will include features that have been removed (status rejected) and features that are no longer configurable (status permanent). ✨ iconic coverage, no cap ✨

configurable()

configurable() -> [feature()].

Return a list of all configurable features, that is, features with status experimental or approved. These are the features that can be enabled or disabled. slay πŸ’–

enabled()

enabled() -> [feature()].

Return a list of the features that are currently enabled.

⚠️ Note that the set of enabled is set during startup and can then not be changed. 😭

info(feature())

info(feature()) -> FeatureInfoMap | no_return()
                     when
                         Description :: string(),
                         FeatureInfoMap ::
                             #{description := Description,
                               short := Description,
                               type := type(),
                               keywords := [atom()],
                               status := status(),
                               experimental => release(),
                               approved => release(),
                               permanent => release(),
                               rejected => release()}.

Return a map containing information about the given feature. it's giving feature dossier πŸ•΅οΈβ€β™€οΈ

used(module() | file:filename())

used(module() | file:filename()) -> [feature()].

Return the list of features enabled when compiling the module. The module need not be loaded, but is found if it exists in the loadpath. If not all features used by the module are enabled in the runtime, loading the module is not allowed. important vibe check 🫢


sign-off time: the footer says Ericsson AB, stdlib 8.0.4, erl_features(3) β€” and there's no date on it, so that's the whole cute footer. πŸ’œπŸŽ€

πŸ“¦ where this page comes from