Category:Smalltalk
This programming language may be used to instruct a computer to perform a task.
Execution method: | Compiled (bytecode) |
---|---|
Garbage collected: | Yes |
Type safety: | Safe |
Type strength: | Strong |
Type expression: | Implicit |
Type checking: | Dynamic |
See Also: |
Smalltalk-80 is an object-oriented, dynamically typed, reflective programming language. It was designed and created in part for educational use, more so for Constructivist teaching, at Xerox PARC by Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, and others during the 1970s, influenced by Sketchpad and Simula.
The language was generally released as Smalltalk-80 and has been widely used since. Smalltalk-like languages are in continuing active development, and has gathered a loyal community of users around it.
Smalltalk-80 is a fully reflective system, implemented in itself. Smalltalk-80 provides both structural and computational reflection. Smalltalk is a structurally reflective system whose structure is defined by Smalltalk-80 objects. The classes and methods that define the system are themselves objects and fully part of the system that they help define. The Smalltalk compiler compiles textual source code into method objects, typically instances of CompiledMethod
. These get added to classes by storing them in a class's method dictionary. The part of the class hierarchy that defines classes can add new classes to the system. The system is extended by running Smalltalk-80 code that creates or redefines classes and methods. In this way a Smalltalk-80 system is a "living" system, carrying around the ability to extend itself at run-time.
Citations
Subcategories
This category has the following 3 subcategories, out of 3 total.
@
- Smalltalk examples needing attention (empty)
- Smalltalk Implementations (6 P)
- Smalltalk User (38 P)
Pages in category "Smalltalk"
The following 200 pages are in this category, out of 325 total.
(previous page) (next page)A
- A+B
- ABC problem
- Abstract type
- Abundant odd numbers
- Accumulator factory
- Ackermann function
- Active object
- Add a variable to a class instance at runtime
- Address of a variable
- Align columns
- Amb
- Anagrams
- Anonymous recursion
- Apply a callback to an array
- Approximate equality
- Arbitrary-precision integers (included)
- Arithmetic-geometric mean
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Associative array/Merging
- Atomic updates
- Averages/Arithmetic mean
- Averages/Median
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average
B
C
- Caesar cipher
- Calendar
- Call a foreign-language function
- Call a function
- Call a function in a shared library
- Call an object method
- Cantor set
- Case-sensitivity of identifiers
- Character codes
- Check that file exists
- Cholesky decomposition
- Classes
- Closest-pair problem
- Closures/Value capture
- Code segment unload
- Collections
- Color of a screen pixel
- Combinations
- Command-line arguments
- Comments
- Conditional structures
- Conway's Game of Life
- Copy a string
- Copy stdin to stdout
- Count in octal
- Count occurrences of a substring
- CRC-32
- Create a file
- Create a two-dimensional array at runtime
- Cumulative standard deviation
- Currency
D
E
- Emirp primes
- Empty program
- Empty string
- Environment variables
- Ethiopian multiplication
- Euler method
- Evaluate binomial coefficients
- Even or odd
- Evolutionary algorithm
- Exceptions
- Exceptions/Catch an exception thrown in a nested call
- Execute a system command
- Exponentiation operator
- Exponentiation order
- Exponentiation with infix operators in (or operating on) the base
- Extend your language
- Extract file extension
- Extreme floating point values
F
- Factorial
- Factors of an integer
- FASTA format
- Fibonacci sequence
- File input/output
- File modification time
- File size
- Filter
- Find limit of recursion
- Find the last Sunday of each month
- First-class functions
- FizzBuzz
- Flatten a list
- Fork
- Formatted numeric output
- Forward difference
- Fractal tree
- Function composition
- Function definition
- Function frequency
G
H
- Hailstone sequence
- Hamming numbers
- Handle a signal
- Happy numbers
- Hash from two arrays
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Hello world/Web server
- Heronian triangles
- Higher-order functions
- History variables
- Horizontal sundial calculations
- Horner's rule for polynomial evaluation
- Hostname
- HTTP
I
J
L
- Largest int from concatenated ints
- Last Friday of each month
- Leap year
- Least common multiple
- Letter frequency
- Levenshtein distance
- List comprehensions
- Literals/Floating point
- Literals/Integer
- Logical operations
- Long multiplication
- Longest common prefix
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Increment loop index within loop body
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Loops/With multiple ranges
- Loops/Wrong ranges