2. A bit about me
* Lisp programmer
* Research lead at Grammarly
* Teacher at KPI: Operating Systems
* Links:
http://lisp-univ-etc.blogspot.com
http://github.com/vseloved
http://twitter.com/vseloved
3. What is Lisp Machine?
* Special hardware environment
* Software architecture
4. Hardware
* Data type testing (tagged architecture)
* CDR coding support
* Run-time array bounds checking
* Incremental garbage collection
* Single address-space
* Support for multiple execution threads
(processes)
7. OS
Traditional operating
systems require the user to
interact with a command
monitor in order to access
applications and the
facilities of the operating
system.
The Lisp Environment, consisting
of all the function and data
objects in virtual memory.
Activities are just collections
of functions and data.
8. Genera basics
* Extensible generic operations
* Automatic storage (memory) management
* Dynamic linking
* Generic networking
* Single address space for processes
* Event-driven scheduler
* Program-building assistance
9. Genera concepts
* Data-level integration
* Open system
* Layered architecture
* Support for incremental change
* Reusability
* Extensibility
* "Self-revealing" system
11. Data-level Integration
* All functions and data share the same
virtual memory
* Memory - a set of data objects, not
uninterpreted bits or bytes
* Each data object contains knowledge of
its own type
* Programs can communicate with each other
via shared data
13. Open Architecture
* The concept of a world
* You can change anything that is part of
Genera
Ways to use and change Genera:
* Use what's there
* Use what's almost there (through hooks)
* Extend through inheritance/polymorphism
* Replace what's there
Replacing part of the open system is
usually done by bypassing the original
14. Transparent system
* Always available status information
* Peek utility
* Examiner (static inspection)
* Inspector (dynamic inspection)
* Always available debugger
* Document examiner provides
context-sensitive documentation
+ mouse documentation display
16. Program-building
support
* Always-available debugger
* Database of caller, source, arguments &
other program information
* Structured view of the source code
* SCT configuration manager with dependency
management, file versioning, patch
management, and distribution generation
17. Recap
* Data-level integration permits the
construction of integrated, communicating
tools
* Reusability permits to start a new
project from a much higher base
* Open architecture allows to explore an
idea as far as your own creativity takes
you rather than as far as the Genera
developers will let you go
18. Learn more
* Kalman Reti, the Last Symbolics
Developer, Speaks of Lisp Machines
http://www.loper-os.org/?p=932
* A few things I know about LISP Machines
http://fare.tunes.org/LispM.html
* LoperOS on Lisp Machines
http://www.loper-os.org/?cat=10
* Ergonomics of the Symbolics Lisp Machine
- Reflections on the Developer Productivity
http://lispm.de/symbolics-lisp-machine-ergo
nomics