Replies To: DIC Programming DICtionary

Re: DIC Programming DICtionary

Posted 11 July 2009 - 07:31 AM

Referential Transparency = A Referentially Transparent function is one which can be replaced with it's value at any time. Pure functions are by definition Referentially Transparent, as they have no side effects. An example of a referentially transparent function would be this Clojure function that adds 2 numbers.

(defn plus [n1 n2]
(+ n1 n2))

This function will always return the same result for the same arguments. It can be replaced with it's value in code at any time. It is, by definition, Referentially Transparent.

Re: DIC Programming DICtionary

Recursion: Something that defines itself through recursion. This definition is an example of recursion.

Iteration: Going through something by repeating a procedure over and over and over...

LISP: List - Processing

Array: A set of related data stored contiguously in memory
List: A set of memory that's linked together in memory via pointers, but is not necessarily contiguous
Stack: A type of list that follows the LIFO principle
Queue: A type of list that follows the FIFO principle

LIFO: last in-first out
FIFO: first in-first out

Pointer: a piece of data that represents the address of another memory location where memory is stored rather than actual memory. Also known as indirect addressing.

Currying: a method whereby one is able to turn a function of several variables into a composed function of functions of single variables

Self-referential: this definition is self-referential

Procedure/Subroutine/Function/Method: These are all basically used to refer to the idea of branching off and completing a separate segment of code by pushing the instruction counter address onto the stack before branching, then popping it back off and returning flow control to the previous location in memory once the operation is performed. This may or may not carry a returned value with it. These each have a subtle shade of meaning associated with them. For example, a method is usually used to refer to a behavior associated with an object in OOP.

OOP: Object-Oriented Programming: The idea that everything around can be modeled into an object with certain attributes and behaviors that can interact with other objects around it in a variety of ways via its behaviors.

Functional Programming: The idea that programs should consist of a series of functions in which there are no side effects. This is somewhat in contrast to OOP as it usually carries a list of data values to represent the attributes of an object which cause side effects.

First...that's wrong. HTML is just what it says. A MARKUP language. Not programming. Common misconception.

Uh... dude, you're making me look bad...

Perception. You think he's telling you that you're wrong, when in reality, he's telling you that you will be right in the future. Imagine if you said that on a job interview and your interviewer knew what is what. How would you look if you presented yourself like that? You say potato, but the answer is jicama, and you tell your potential employer that he's making you look bad. What he's going to tell you is that you're making yourself look bad, and by becoming defensive, you just lost your chance at a job.

Re: DIC Programming DICtionary

elif: sometimes used as a contraction of else and if
for: usually indicates a loop used while some condition is true, commonly used to traverse arrays and lists

curly-bracket languages: languages that delimit their program blocks with curly brackets { and }, such as C, C++, Java, etc.

stack-oriented: A language that makes extensive use of stacks. Data is put onto different stacks, and operations are performed by removing operands off of the stack, applying operations to them, then returning the result to the top of the stack. Some examples include some styles of assembly language, and languages like Forth.*

HTTP: hypertext transfer protocol
FTP: file transfer protocol

*please correct me if I'm wrong on this... I just started studying Forth a bit, I thought the style seemed interesting.