Commonly-Used Acronyms
The D mailing lists, D blogs and IRC discussions commonly use acronyms.
Here is a small list of the usual ones:
- AA: Associative Arrays.
- ARC: Automatic Reference Counting. A form of automatic memory management.
- AST: Abstract Syntax Trees. Trees resulting from parsing.
- AST Macros: A macro system for transforming a program's AST during compilation. [Not implemented in D].
- CTFE: Compile-Time Function Execution/Evaluation. The ability, for the D programming language to evaluate a (standard, runtime) function during compilation, yielding a compile-time constant as a result.
- DRY: Don't Repeat Yourself (in code)
- DSEL: Domain-Specific Embedded Language. A DSL used inside a more general programming language. Also known as an internal DSL.
- DSL: Domain-Specific Language. A small sub-language dedicated to a particular domain or problem. Examples are regexes, string formatters (%d, %s, ...).
- FQN: Fully qualified name. See here.
- GC: Garbage Collection. A form of automatic memory management.
- ICE: Internal Compiler Error.
- IFTI: Implicit Function-Template Instantiation. For function templates, the template arguments can be automatically determined by the compiler from the function arguments.
- LGTM: Looks Good To Me. You can see it during voting threads and pull requests discussions.
- NIH: Not Invented Here. Also: NIH Syndrome. When someone insists on writing everything themself rather than using existing libraries or tools to solve a problem.
- NVI: Non-Virtual Interface. See here.
- PR: Pull Request. On Github, where most of the D development takes place, you can contribute code to the compilers and standard library by doing a pull request.
- UDA: User-Defined Attribute. See here.
- UDT: User-Defined Type.
- UFCS: Universal Function Call Syntax. Allows
foo(a,b)
to be written asa.foo(b)
. This allows free functions to be called as if they were member functions and allows function calls to be chained with the . operator:[0,1,2].map!(a=>a+1)().array()
.
See also: the Glossary.