History (Abstract Data Type) Part 2 Notes
###### Posted by JanWan
Last Updated: April 04, 2012

History (Abstract Data Type)

The stack was first proposed in 1946, in the computer design of Alan M. Turing (who used the terms "bury" and "unbury") as a means of calling and returning from subroutines. In 1957, the Germans Klaus Samelson and Friedrich L. Bauer patented the idea. The same concept was developed, independently, by the Australian Charles Leonard Hamblin in the first half of 1957.

Abstract definition

A stack is a basic computer science data structure and can be defined in an abstract, implementation-free manner, or it can be generally defined as, Stack is a linear list of items in which all additions and deletion are restricted to one end that is Top.

This is a VDM (Vienna Development Method) description of a stack:

Function signatures:

init: -> Stack

push: N x Stack -> Stack

top: Stack -> (N U ERROR)

remove: Stack -> Stack

isempty: Stack -> Boolean

(where N indicates an element (natural numbers in this case), and U indicates set union)

Semantics:

top(init()) = ERROR

top(push(i,s)) = i

remove(init()) = init()

remove(push(i, s)) = s

isempty(init()) = true

isempty(push(i, s)) = false

Inessential Operations

In many implementations, a stack has more operations than "push" and "pop". An example is "top of stack", or "peek", which obverses the top-most element without removing it from the stack. Since this can be done with a "pop" and a "push" with the same data, it is not essential. An underflow condition can occur in the "stack top" operation if the stack is empty, the same as "pop". Often implementations have a function which just returns whether the stack is empty.

Notes continue in the next blog:

J.W. PRODUCTION

###### Git view commit history
SceDev | Feb 09, 2024
###### How do you check the commit history of a repository?
NickCrt | Jul 20, 2024
###### What is the command to show a summary of the commit history?
CarolTh | Jul 07, 2024
###### What command displays the history of a file including changes?
EveClark | Jun 02, 2024
###### How do you display the history of changes that have affected a specific line or block of code?
FrankMl | Jun 27, 2024
###### How do you display the author and date of each line in a file's history?
MaryJns | Jun 02, 2024
###### How can you show the history of changes introduced by a specific function or method?
FrankMl | Jul 18, 2024
###### How do you display the history of changes affecting a specific directory?
TinaGrn | Jul 04, 2024
###### How do you search the commit history for a specific commit message or change?
TinaGrn | Jun 22, 2024
###### How can you show the commit logs with a graph showing branch and merge history?
AliceWk | Jun 13, 2024
###### What command is used to list all commits in the current branch that are not in the history of the specified branch?
TinaGrn | Jun 20, 2024
###### How do you use the SYSTEM_VERSIONING property to enable temporal tables for automatic history tracking?
OliviaWm | Jun 08, 2024
###### How do you use the CREATE TYPE statement to create a new user-defined data type?
PaulAnd | Jun 27, 2024
###### How do you use the CREATE MESSAGE TYPE statement to create a new message type for Service Broker?
GraceDv | Jun 19, 2024
###### How do you use the CREATE TYPE statement to create a table type for table-valued parameters?
SamPetr | Jun 22, 2024