Enter START/NEXT/PREVIOUS to proceed through the 'slides'
(Excuse the "James Burke 'Connections'" style intro!)
'Choose your weapons to match the war.'
Brad Cox
~'...we can only know something by comparing one thing to another.
In other words, all understanding comes from the comparison
of things.'
~Gregory Bateson, 1979
Unix Shell Programming, 3rd ed., Lowell Jay Arthur & Ted Burns
ISBN 0-471-59941-7
John Wiley and Sons, Inc.
p.4, 11
NEXT PREVIOUS
Poland, 1920's and 30's
Communist lead Spartacus Legion Revolt in Germany with end of WW I.
Under Poland's General Pilsudsky Red Army defeated in Battle of Warsaw
temporarily saving Central and Western Europe from Communism.
USSR and Poland sign non-Agression Treaty.
USSR begins getting military aid/training from Germany
Germany keep military 'chops' up training USSR's Red Army
Hitler assumes leadership of Germany
Germany and Poland sign non-Agression Treaty.
"Poland is at the spearhead of the struggle against
International Bolshevism".
Germany and USSR sign 'non-Agression' Treaty.
......
NEXT PREVIOUS
Land Agriculture Coal Humans physical labor BrainsNEXT PREVIOUS
Alfred Korzybski Kazimierz Twardowski Jan Lukasiwiecz Alfred Tarski Marian RejewskiNEXT PREVIOUS
Alfred Korzybski - 'General Semantics'
Sen. S.I. Hayakawa (USA)
P.W. Bridgman (USA) / physicist, philosopher, Nobel Laureant
Monolithic semiconductor crystals
'Operationalism'
Quantum Mechanics
Max Born, W. Heiseinberg, P.A.M. Dirac, R.P. Feynman,
W. Duane, A. Lande etc.
Alan Turing (UK) / Mathematician
Operational definition of Intelligence
(John W. Campbell)
A.W. van Vogt, R.A. Heinlein, Fritz Leiber etc.
Kazimierz Twardowski - Founded 'Polish Philosophy/Logic' school
Jan Lukasiewicz - Analysis of Aristotle, multi-valued logic,
*Polish notation*
Alfred Tarski - various math and philosophical issues
'Definition (Conception) of Truth' 'A <=> "A"'
Willard Van Orman Quine (USA) / cryptologist, logician, philosopher
Alissa Rosenbaum (aka 'Ayn Rand') (Rus./USA) / novelist, philosopher
'A = A'
Marian Rejewski - Breaches the German Enigma Encryption machine
followed up with work by UK's Bletchly Park
Alan Turing, Gordon Welchman etc.
NEXT PREVIOUS
1950's
Alan Turing -> ACE Report -> ACE machine -> DEUCE machine ->
George (stack, RPN)
John McCarthy - Lisp
ACM publishes note on RPN assembler
IBM impliments early FORTRAN with threaded code interpreter
HP calculators
Pascal P-code
Charles Moore takes Lisp class from John McCarthy
1958 Moore experiments with interactive interpreter
~1968 Moore begins using term 'FORTH' for intepreter on IBM 1130
1971 NRAO first large Forth project carried to completion
Rather and Conklin become involved in SW maintenance
1973 Moore, Rather, Conklin found Forth, Inc.
Forth + assembler for ~60 operations + 2 weeks = new port
~1978 Moore gives presentation to Bay Area computer club
FIG founded
FIG makes source listings available
1980's Aug. 1980 Byte Magazine Forth issue
Laxen and Perry F83
1991 Sun Open Boot, William 'Mitch' Bradley
NEXT PREVIOUS
Rest of IT community FORTH ----------------------------------------------------- Subroutine, function, etc. Word Library Dictionary Cross-Compiler/Assembler Meta-Compiler Tokenizer Compiler Compiler Directive Immediate word Interpreter Inner Interpreter Shell Outer Interpreter Disk Sectors Blocks '.', 'source' 'load' echo '....' ." ....." # .... ( .... ), \ ....NEXT PREVIOUS
Shell -- alias name='some commands here' Forth -- : name some commands here ; alias stored as character string shell / script construct word tokenized for later use, assumes global stack available absolutely the basic subroutine division of language/system ( both ideally one line size )NEXT PREVIOUS
division of labor carried to greater extreme than traditional
1 parameter stack divided into 'cells'
passes values between Words
stores branch locations during
Compilation/tokenization/assembly
1 'Return stack' - generally used for program flow control
return from words
DO Loops
Temporary value storage
May be more
Floating point
Split out DO loop parameters
Temporary value storage
NEXT PREVIOUS
: greet ." Hello world." ;
2 2 + .
4
ok
drop, swap, dup, rot, etc.
For numeric pointer operations, strictly left to right
May read in strings with prefix operation, but does not normally
use any infix operators at all.
All operations/subroutine calls equivalent in operation
*No second pass needed in tokenizing.*
*No recursion anywhere in the process.*
: name ( ...--.... ) some other words ; immediate
-- Tokenizer extension
NEXT PREVIOUS
>R R> 12 constant dozen dozen variable age 49 age ! age @ c!, c,, c@, 2!, 2,, 2@,NEXT PREVIOUS
----------------------------------------------------------------------------
ub | namestring | Link | interpretation bytes | parameter field cells ......|
----------------------------------------------------------------------------
---------------header-------------------------
UB = flag, name count
name string = name of routine
link = chains words together in a linked list enabling dictionary search
interpretation bytes = pointer to, OR call to OR actual routine
for interpretation of this word
Code Field
parameter field cells = classicly, pointers routines building this word
('Vectored Execution')
may be list of subroutine calls
may be machine code
may be data
NEXT PREVIOUS
: name CREATE , c, allot etc. setting up data storage....
DOES> actions pointed to by code field ..... ;
(put data on stack...) name instance-name
CREATE makes name header, links into dictionary,
DOES> sets up a mini-interpeter
NEXT PREVIOUS
: 2 3 ;NEXT PREVIOUS
Pre-Tokenization ('compiling') becomes common for interpreted languages
Java
Mod-Perl (perl)
Rexx
At presentation Micro-Soft announces Major New Innovation
For Interpreted Languages
Ray Duncan (LMI) points out this was not even new with Forth
Adobe's Forth influenced Postscript becomes standard on most serious
printers.
NEXT PREVIOUS
(based on vague impressions in some cases)
Finite Languages -- 1 way to do things,
self documenting,
Algorithm oriented
complete mental model possible
Loved by academics
Pascal
Python
AWK
TCL
Rexx
Infinite Languages -- More than 1 way to do things,
'write only' / cryptic / 'obfuscation' contests
access to resources/features
continual learning process
Dispised by academics
C (etc.)
Forth
Perl
NEXT PREVIOUS
http://www.forth.org http://www.forth.com http://www.FirmWorks.com http://www.home.earthlink.com/~neilbawd/ http://www.taygeta.com/forth.html http://theforthsource.com news:comp.lang.forth 'Forth Programmers Handbook' by Edward K. Conklin & Elizabeth D. Rather, ISBN 0-9662156-0-5 'Learning Forth' by Leo Brodie ISBN 0-13-843079-9 Dr. Dobbs Journal 'A Tiny Preemptive Multitasking Forth' - Andy Yuen Mar. / 1996 , p. 58 'Robots and Finite-State Machines' - Everett F. Carter, Jr. (FIG President) Feb. / 1997 , p. 50 'Forth and Real-Time Control' - William M. Stein Oct. / 1998 , p. 78 'Smart Cards and the Open Terminal Architecture' - Edward K. Conklin Dec. / 1998 , p. 70 'Ficl: An Embeddable Extension Language Interpreter' - John Sadler Jan. / 1999, p. 70NEXT PREVIOUS