Difference between revisions of "Commonly-Used Acronyms"

From D Wiki
Jump to: navigation, search
(Slight adjustment to UFCS definition.)
(Adjustment to NIH definition)
Line 19: Line 19:
 
* IFTI: Implicit Function-Template Instantiation. For function templates, the template arguments can be automatically determined by the compiler from the function arguments. For example:
 
* IFTI: Implicit Function-Template Instantiation. For function templates, the template arguments can be automatically determined by the compiler from the function arguments. For example:
  
* NIH: Not Invented Here. Also: NIH Syndrome. When a community starts writing its own tools in its own language, (deliberately) ignoring there are more mature tools available elsewhere.
+
* 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.
  
 
* RAII: [http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization Resource Acquisition is Initialization].
 
* RAII: [http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization Resource Acquisition is Initialization].

Revision as of 09:42, 23 January 2013

The D mailing lists, D blogs and IRC discussions commonly use acronyms.

Here is a small list of the usual ones:

  • 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.
  • 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, ...).
  • 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. For example:
  • 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.
  • UDA: User-Defined Attributes. See here.
  • UFCS: Universal Function Call Syntax. Allows foo(a,b) to be written as a.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+)().array().


See also: the Glossary.