|
Perl 6
Perl 6 Glossary Tablet: Revision 3
{section: Index} "Intro"[Perl 6 Intro Tablet] - _Chapter:_ "0:History"[Perl 6 History Tablet] "1:Design"[Perl 6 Language Design Tablet] "2:Basics"[Perl 6 Basics Tablet] "3:Var"[Perl 6 Variable Tablet] "4:Op"[Perl 6 Operator Tablet] "5:IO"[Perl 6 IO Tablet] "6:{}"[Perl 6 Block Tablet] "7:Sub"[Perl 6 Subroutine Tablet] "8:OOP"[Perl 6 OOP Tablet] "9:Rx"[Perl 6 Regex Tablet] "10:Meta"[Perl 6 Meta Tablet]
"Overview"[Perl 6 Tablets] - _Appendices:_ "A:Index"[Perl 6 Index Tablet] "B:Tables"[Perl 6 Lookup Tablet] "C:Cook"[Perl 6 Cookbook Tablet] "D:Delta"[Perl 6 Delta Tablet] "E:Best of"[Best Of Perl 6 Tablet] "F:Links"[Perl 6 Links Tablet] *"G:Glossary"[Perl 6 Glossary Tablet]* ---- {link: A} | {link: B} | {link: C} | {link: D} | {link: E} | {link: F} | {link: G} | {link: H} | {link: I} | {link: J} | {link: K} | {link: L} | {link: M} | {link: N} | {link: O} | {link: P} | {link: Q} | {link: R} | {link: S} | {link: T} | {link: T} | {link: U} | {link: V} | {link: W} | {link: X} | {link: Y} | {link: Z} ^^ "A"{link: Index} {section: A} * _ALAP_ {section: alap} - as late as possible, within a given execution phase (compile time or run time) * _ASAP_ {section: asap} - as soon as possible, within a given execution phase (compile time or run time) * _AST_ {section: AST} - (abstract syntax tree), tree like data structure, in which source code is transformed, before running the programm ^^ "B"{link: Index} {section: B} * _backtracking_ {section: backtracking} - after a part of a pattern didn't match, this last operation might not be counted (undone) and the pointer for the position in the string where actual matching is taking place is going a few steps to the left (it goes back) * _"binding"{link: [Perl 6 Variable Tablet] Binding}_ {section: binding} - making two variables share the same content by pointing to same memory location * _block_ {section: block} - syntactically just a piece of code inside curly brackets (*{}*), when "evaluated"{link: evaluation} it becomes an object of the type *"Block"{link: [Perl 6 Index Tablet] block type}* ^^ "C"{link: Index} {section: C} * _closure_ {section: closure} - routines whose state (content of all local variables) is completely preserved until the next execution, mostly used as a fancy alias for a _"block"{link: block}_ * _coderef_ {section: coderef} - reference (pointer) to an executable block of code (routine) * _compilation_ - reading the human written source code and make it an executable (piece of) program * _compile time_ {section: compile time} - time when Perl converts source code to executable form (bytecode), is always before _"runtime"{link: runtime}_ even if code can be compiled via *"eval"{link: eval}* and *"evalfile"{link: evalfile}* when the program is * _context_ {section: context} - when executing a function or operator Perl considers the expression from which the call was to return a "scalar"{link: [Perl 6 Index Tablet] scalar type} or other kind of result * _context variable_ {section: context variable} - name for *"$_"{link: context var}*, which is used by built in Perl functions as an implicit parameter and as memory of the last result * _currying_ {section: currying} - creating a subroutine that calls another with certain _"parameter"{link: parameter}_ to be predefined ^^ "D"{link: Index} {section: D} * _declarative programming_ {section: declarative programming} - programming paradigm that expresses the logic of a computation without describing its control flow * _design by contract_ {section: Design by Contract} - programming style in which parameters and return values from routines must meet conditions; A signature is considered contract in Perl 6 ^^ "E"{link: Index} {section: E} * _evaluation_ {section: evaluation} - executing a piece of program, before that all variables will be replaced with their content ^^ "F"{link: Index} {section: F} * _functional programming_ {section: Functional Programming} - exclusively function based programming style, "strongly supported"{link: [Perl 6 Delta Tablet] Functional Programming} by Perl 6, considered as a branch of _"declarative Programming"{link: declarative programming}_ ^^ "G"{link: Index} {section: G} ^^ "H"{link: Index} {section: H} ^^ "I"{link: Index} {section: I} * _iteration_ {section: iteration} - flow control, repeatedly executing a block ^^ "J"{link: Index} {section: J} * _junction_ {section: junction} - a type of value that holds a logical combination of several values, example: (A and B) or C ^^ "K"{link: Index} {section: K} ^^ "L"{link: Index} {section: L} * _list context_ - * _longest token matching_ {section: longest token matching} - (short _LTM_) when searching a pattern with alternatives (sub|substr) the search will continue after finding the pattern 'sub' because of looking for the longest alternative ^^ "M"{link: Index} {section: M} * _"metaoperator"{link: [perl 6 lookup tablet] metaoperators}_ {section: metaoperator} - alters the meaning of other operators ^^ "O"{link: Index} {section: O} * _object oriented programming_ {section: object oriented programming} - (short oop) programming paradigm (style), that arranges data and functions that belong together into so called objects ^^ "P"{link: Index} {section: P} * _parameter_ {section: parameter} - value passed to a method or subroutine, mostly as part of the signature * _parsetree_ {section: parsetree} - hierarchical data representing the logical structure of a program, also called _"AST"{link: AST}_ * _pipe_ {section: pipe} - connection between 2 processes, move data (mostly only in one direction) without buffering * _"POD"{link: [perl 6 basics tablet] pod}_ {section: POD} - Plain Old Documentation, a markup language to be embeded into Perl source code, has in Perl 6 ability to store data to be retrieved later * _pointy block_ {section: pointy block} - a block that is given parameters with *"->"{link: [Perl 6 Index Tablet] arrow op}* * _property_ {section: property} - metadata of a variable set at runtime ^^ "Q"{link: Index} {section: Q} ^^ "R"{link: Index} {section: R} * _reference_ {section: reference} - address of data in memory, often termed a Capture in Perl 6 * _regular expression_ {section: regular expression} - in Perl5: pattern matching notation, either regex, token or rule in Perl6 * _runtime_ {section: runtime} - time when execution hits a certain part of the program, after _"compile time"{link: compile time}_ ^^ "S"{link: Index} {section: S} * _scope_ {section: scope} - the block of code within which an identifier is usable * _sigil_ {section: sigil} - character that serves as a prefix to categorize the following name, most prominent in Perl are the variable "sigils"{link: [perl 6 lookup tablet] Sigils}: *"$"{link: [Perl 6 Index Tablet] dollar sigil}*, *"@"{link: [Perl 6 Index Tablet] at sigil}* and *"%"{link: [Perl 6 Index Tablet] percent sigil}* * _signature_ {section: signature} - function parameters (left-hand side of a binding), surrounded by round parentheses * _slice_ {section: slice} - part of an array or list * _slurpy array_ {section: slurpy array} - array parameter that receives all (slurps) all optional subroutine arguments ^^ "T"{link: Index} {section: T} * _topicalizer_ {section: topicalizer} - every keyword that sets the *"$_"{link: context var}* variable, eg given, for * _trait_ {section: trait} - additional property of a variable, defined at compile time, see *"but"{link: but}*, what other languages call _trait_ Perl calls "role"{link: role} * _"twigil"{link: [perl 6 lookup tablet] Twigils}_ {section: twigil} - second(ary) _"sigil"{link: sigil}_ indicating a special property of a variable ^^ "U"{link: Index} {section: U} ^^ "V"{link: Index} {section: V} ^^ "W"{link: Index} {section: W} ^^ "X"{link: Index} {section: X} ^^ "Y"{link: Index} {section: Y} * _"yadda operator"{link: [perl 6 Operator tablet] yadda}_ {section: yadda operator} - placeholder for later to be written code, because in empty routines are forbidden, comes in 3 flavours: *"..."{link: [Perl 6 Tablets] triple dot yadda op}*, *"???"{link: [Perl 6 Tablets] triple question mark}* and *"!!!"{link: [Perl 6 Tablets] triple exclamation mark}* ^^ "Z"{link: Index} {section: Z} {link: A} | {link: B} | {link: C} | {link: D} | {link: E} | {link: F} | {link: G} | {link: H} | {link: I} | {link: J} | {link: K} | {link: L} | {link: M} | {link: N} | {link: O} | {link: P} | {link: Q} | {link: R} | {link: S} | {link: T} | {link: U} | {link: V} | {link: W} | {link: X} | {link: Y} | {link: Z} ---- "Intro"[Perl 6 Intro Tablet] - _Chapter:_ "0:History"[Perl 6 History Tablet] "1:Design"[Perl 6 Language Design Tablet] "2:Basics"[Perl 6 Basics Tablet] "3:Var"[Perl 6 Variable Tablet] "4:Op"[Perl 6 Operator Tablet] "5:IO"[Perl 6 IO Tablet] "6:{}"[Perl 6 Block Tablet] "7:Sub"[Perl 6 Subroutine Tablet] "8:OOP"[Perl 6 OOP Tablet] "9:Rx"[Perl 6 Regex Tablet] "10:Meta"[Perl 6 Meta Tablet] "Overview"[Perl 6 Tablets] - _Appendices:_ "A:Index"[Perl 6 Index Tablet] "B:Tables"[Perl 6 Lookup Tablet] "C:Cook"[Perl 6 Cookbook Tablet] "D:Delta"[Perl 6 Delta Tablet] "E:Best of"[Best Of Perl 6 Tablet] "F:Links"[Perl 6 Links Tablet] *"G:Glossary"[Perl 6 Glossary Tablet]* ---- |