|
35 | 35 | definition: The processes a computer follows when executing a program in a given language. |
36 | 36 | first_appeared: levelsofabstraction |
37 | 37 | - term: Imperative |
38 | | - definition: Imperative programs are a sequence of statements that change a program’s state. This is probably the dominant paradigm for programming languages today. Languages from Assembler to Python are built around this concept and most modern languages still allow you to program in this style. |
| 38 | + definition: Imperative programs are a sequence of statements that change a program’s state. This is probably the dominant paradigm for programming languages today. Languages from Assembly to Python are built around this concept and most modern languages still allow you to program in this style. |
39 | 39 | first_appeared: levelsofabstraction |
40 | 40 | - term: Procedural |
41 | 41 | definition: Procedural languages are basically *imperative* in nature, but add the concept of named *procedures*, i.e. named subroutines that may be invoked from elsewhere in the program, with parameterised variables that may be passed in. |
|
146 | 146 | definition: A TypeScript construct that allows a variable to hold values of multiple specified types, separated by the `|` symbol. |
147 | 147 | first_appeared: typescript1 |
148 | 148 | - term: Functor |
149 | | - definition: A type class in Haskell that represents types that can be mapped over. Instances of Functor must define the fmap function, which applies a function to every element in a structure. |
| 149 | + definition: A type class in Haskell that represents types that can be mapped over. Instances of [Functor](/assets/WhatTheFunctor.mp3) must define the fmap function, which applies a function to every element in a structure. |
150 | 150 | first_appeared: haskell3 |
151 | 151 | - term: Applicative |
152 | 152 | definition: A type class in Haskell that extends Functor, allowing functions that are within a context to be applied to values that are also within a context. Applicative defines the functions pure and (<*>). |
|
184 | 184 | - term: Lazy Evaluation |
185 | 185 | definition: A strategy where expressions are not evaluated until their values are needed, allowing for the creation of infinite sequences and delayed computations. |
186 | 186 | first_appeared: lazyevaluation |
| 187 | +- term: Callback |
| 188 | + definition: A function passed as an argument to another function, to be executed after some event or action has occurred. |
| 189 | + first_appeared: functionaljavascript |
| 190 | +- term: Chained Functions |
| 191 | + definition: A programming pattern where multiple function calls are made sequentially, with each function returning an object that allows the next function to be called. |
| 192 | + first_appeared: functionaljavascript |
| 193 | +- term: Fluent Interface |
| 194 | + definition: A method chaining pattern where a sequence of method calls is made on the same object, with each method returning the object itself or another chainable object. |
| 195 | + first_appeared: functionaljavascript |
187 | 196 | - term: Operator Sectioning |
188 | 197 | definition: The process of partially applying an infix operator in Haskell by specifying one of its arguments. For example, (+1) is a section of the addition operator with 1 as the second argument. |
189 | 198 | first_appeared: haskell3 |
|
223 | 232 | - term: K-combinator |
224 | 233 | definition: A combinator that takes two arguments and returns the first one. |
225 | 234 | first_appeared: higherorderfunctions |
226 | | -- term: Algebraic Data Types (or ADTs) |
227 | | - definition: Custom data types in Haskell defined using the data keyword, allowing the combination of different types into one composite type using the \| operator. |
| 235 | +- term: Algebraic Data Types |
| 236 | + definition: (or ADTs) Custom data types in Haskell defined using the data keyword, allowing the combination of different types into one composite type using the \| operator. |
228 | 237 | first_appeared: haskell2 |
229 | 238 | - term: Record Syntax |
230 | 239 | definition: An alternate way to define data structures in Haskell with named fields, automatically creating accessor functions for those fields. |
|
0 commit comments