erl_id_trans(3erl)
hey bestie π welcome to erl_id_trans(3erl), an Erlang Module Definition β the iconic identity parse transform page. Grab a strawberry π and letβs get into it.
π NAME π
erl_id_trans β an identity parse transform. No cap, thatβs the whole name vibe.
β¨ DESCRIPTION β¨
okay so this module performs an identity parse transformation of Erlang code. Itβs included as an example for users who wants to write their own parse transformers. If option {parse_transform,Module} is passed to the compiler, a user-written function parse_transform/2 is called by the compiler before the code is checked for errors.
Before the function parse_transform is called, the Erlang Compiler checks if the parse transformation can handle abstract code with column numbers: If the function parse_transform_info/0 is implemented and returns a map where the key error_location is associated with the value line, the compiler removes column numbers from the abstract code before calling the parse transform. Otherwise, the compiler passes the abstract code on without modification.
π EXPORTS π
parse_transform(Forms, Options) -> Forms
Types:
Forms = [erl_parse:abstract_form() | erl_parse:form_info()]
Options = [compile:option()]
Performs an identity transformation on Erlang forms, as an example.
parse_transform_info() -> Info
Types:
Info = #{'error_location' => 'column' | 'line'}
Returns information about the parse transform itself.
π PARSE TRANSFORMATIONS π
Parse transformations are used if a programmer wants to use Erlang syntax, but with different semantics. The original Erlang code is then transformed into other Erlang code. Periodt.
π¨ Note π¨
Programmers are strongly advised not to engage in parse transformations. No support is offered for problems encountered. This is the βdo not touch the stoveβ of Erlang, bestie π.
π¦ SEE ALSO π¦
footer sign-off bestie: Ericsson AB Β· stdlib 4.3.1.3 Β· erl_id_trans(3erl) β date not listed, but the page is still iconic π
π¦ where this page comes from
- ubuntu noble: erlang-manpages 1:25.3.2.8+dfsg-1ubuntu4 Β· Apache-2.0
- ubuntu noble: erlang-manpages 1:25.3.2.8+dfsg-1ubuntu4.8 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms