Common Lisp Interface Manager
The Common Lisp Interface Manager is a Common Lisp-based programming interface for creating user interfaces—i.e. GUIs, it is a object-oriented User Interface Management System, using the Common Lisp Object System and is based on the idea of stream input and output. There are facilities for output device independence, it is descended from the GUI system Dynamic Windows of Symbolics's Lisp machines Main development was between 1988 and 1993. CLIM 2.0 was released in 1993. CLIM has been designed to be portable across different Common Lisp implementations and different window systems, it uses a reflective architecture for its window system interface. CLIM supports, like Dynamic Windows, so-called Presentations. CLIM is available for Allegro CL, LispWorks, Macintosh Common Lisp, Symbolics Genera A free implementation of CLIM is called McCLIM. McCLIM has several extensions to CLIM and has been used for several applications like Climacs, an Emacs-like editor. McCLIM provides a mouse-sensitive Lisp Listener, a REPL for Common Lisp.
BB1, Blackboard system CLASP, analyze data from experiments by using graphics, statistical tests and various kinds of data manipulation CLIB, a prototype of an interface builder for CLIM Direct Labor Management System, managing the automobile manufacturing process system at Ford's assembly plants GenEd, An Editor with Generic Semantics for Formal Reasoning about Visual Notations Grasper-CL, a graph management system KONWERK, a domain independent configuration tool Mirage, an editor for building gadget-oriented graphical user interfaces. SENEX, a CLOS/CLIM application for molecular pathology SPIKE, scheduling system for the Hubble space telescope observations. Used for ASTRO-D, an X-Ray observation astronomy mission SpyGlass, an analysis environment for viewing packet traces, from BBN. VITRA Workbench, an integrated vision and natural language processing system CLIM 2.0 Specification as multiple HTML pages McCLIM Project Page Climacs Project Page
Unix is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, development starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, others. Intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors including University of California, Microsoft, IBM, Sun Microsystems. In the early 1990s, AT&T sold its rights in Unix to Novell, which sold its Unix business to the Santa Cruz Operation in 1995; the UNIX trademark passed to The Open Group, a neutral industry consortium, which allows the use of the mark for certified operating systems that comply with the Single UNIX Specification. As of 2014, the Unix version with the largest installed base is Apple's macOS. Unix systems are characterized by a modular design, sometimes called the "Unix philosophy"; this concept entails that the operating system provides a set of simple tools that each performs a limited, well-defined function, with a unified filesystem as the main means of communication, a shell scripting and command language to combine the tools to perform complex workflows.
Unix distinguishes itself from its predecessors as the first portable operating system: the entire operating system is written in the C programming language, thus allowing Unix to reach numerous platforms. Unix was meant to be a convenient platform for programmers developing software to be run on it and on other systems, rather than for non-programmers; the system grew larger as the operating system started spreading in academic circles, as users added their own tools to the system and shared them with colleagues. At first, Unix was not designed to be multi-tasking. Unix gained portability, multi-tasking and multi-user capabilities in a time-sharing configuration. Unix systems are characterized by various concepts: the use of plain text for storing data; these concepts are collectively known as the "Unix philosophy". Brian Kernighan and Rob Pike summarize this in The Unix Programming Environment as "the idea that the power of a system comes more from the relationships among programs than from the programs themselves".
In an era when a standard computer consisted of a hard disk for storage and a data terminal for input and output, the Unix file model worked quite well, as I/O was linear. In the 1980s, non-blocking I/O and the set of inter-process communication mechanisms were augmented with Unix domain sockets, shared memory, message queues, semaphores, network sockets were added to support communication with other hosts; as graphical user interfaces developed, the file model proved inadequate to the task of handling asynchronous events such as those generated by a mouse. By the early 1980s, users began seeing Unix as a potential universal operating system, suitable for computers of all sizes; the Unix environment and the client–server program model were essential elements in the development of the Internet and the reshaping of computing as centered in networks rather than in individual computers. Both Unix and the C programming language were developed by AT&T and distributed to government and academic institutions, which led to both being ported to a wider variety of machine families than any other operating system.
Under Unix, the operating system consists of many libraries and utilities along with the master control program, the kernel. The kernel provides services to start and stop programs, handles the file system and other common "low-level" tasks that most programs share, schedules access to avoid conflicts when programs try to access the same resource or device simultaneously. To mediate such access, the kernel has special rights, reflected in the division between user space and kernel space - although in microkernel implementations, like MINIX or Redox, functions such as network protocols may run in user space; the origins of Unix date back to the mid-1960s when the Massachusetts Institute of Technology, Bell Labs, General Electric were developing Multics, a time-sharing operating system for the GE-645 mainframe computer. Multics featured several innovations, but presented severe problems. Frustrated by the size and complexity of Multics, but not by its goals, individual researchers at Bell Labs started withdrawing from the project.
The last to leave were Ken Thompson, Dennis Ritchie, Douglas McIlroy, Joe Ossanna, who decided to reimplement their experiences in a new project of smaller scale. This new operating system was without organizational backing, without a name; the new operating system was a single-tasking system. In 1970, the group coined the name Unics for Uniplexed Information and Computing Service, as a pun on Multics, which stood for Multiplexed Information and Computer Services. Brian Kernighan takes credit for the idea, but adds that "no one can remember" the origin of the final spelling Unix. Dennis Ritchie, Doug McIlroy, Peter G. Neumann credit Kernighan; the operating system was written in assembly language, but in 1973, Version 4 Unix was rewritten in C. Version 4 Unix, still had many PDP-11 dependent codes, is not suitable for porting; the first port to other platform was made five years f
Guy L. Steele Jr.
Guy Lewis Steele Jr. is an American computer scientist who has played an important role in designing and documenting several computer programming languages. Steele was born in Missouri and graduated from the Boston Latin School in 1972, he received a BA in applied mathematics from Harvard and an MS and Ph. D. from MIT in Computer Science. He worked as an assistant professor of computer science at Carnegie Mellon University and a compiler implementer at Tartan Laboratories, he joined the supercomputer company Thinking Machines, where he helped define and promote a parallel version of Lisp called *Lisp and a parallel version of C called C*. In 1994, Steele joined Sun Microsystems and was invited by Bill Joy to become a member of the Java team after the language had been designed, since he had a track record of writing good specifications for existing languages, he was named a Sun Fellow in 2003. Steele joined Oracle in 2010. While at MIT, Steele published more than two dozen papers with Gerald Jay Sussman on the subject of the Lisp language and its implementation.
One of their most notable contributions was the design of the programming language Scheme. Steele designed the original command set of Emacs and was the first to port TeX, he has published papers on other subjects, including compilers, parallel processing, constraint languages. One song he composed has been published in Communications of the Association for Computing Machinery. Steele has served on accredited standards committees ECMA TC39, X3J11, X3J3 and is chairman of X3J13, he was a member of the IEEE working group that produced the IEEE Standard for the Scheme Programming Language, IEEE Std 1178-1990. He represented Sun Microsystems in the High Performance Fortran Forum, which produced the High Performance Fortran specification in May, 1993. In addition to specifications of the Java programming language, Steele's work at Sun Microsystems has included research in parallel algorithms, implementation strategies, architectural and software support. In 2005, Steele began leading a team of researchers at Sun developing a new programming language named Fortress, a high-performance language designed to obsolete Fortran.
In 1982, Steele edited The Hacker's Dictionary, a print version of the Jargon File. Steele and Samuel P. Harbison wrote C: A Reference Manual, to provide a precise description of the C programming language, which Tartan Laboratories was trying to implement on a wide range of systems. Both authors participated in the ANSI C standardization process. On 16 March 1984, Steele published Common Lisp the Language; this first edition was the original specification of Common Lisp and served as the basis for the ANSI standard. Steele released a expanded second edition in 1990, which documented a near-final version of the ANSI standard. Steele, along with Charles H. Koelbel, David B. Loveman, Robert S. Schreiber, Mary E. Zosel wrote The High Performance Fortran Handbook. Steele coauthored all three editions of The Java Language Specification with James Gosling, Bill Joy, Gilad Bracha. Steele received the ACM Grace Murray Hopper Award in 1988, he was named an ACM Fellow in 1994, a member of the National Academy of Engineering of the United States of America in 2001 and a Fellow of the American Academy of Arts and Sciences in 2002.
He received the Dr. Dobb's Excellence in Programming Award in 2005. Steele is a Modern Western square dancer and caller from Mainstream up through C3A, a member of Tech Squares, a member of Callerlab. Under the pseudonym "Great Quux", an old student nickname at the Boston Latin School and MIT, he has published light verse and "Crunchly" cartoons, he has used the initialism GLS. In 1998, Steele solved the game Teeko via computer, showing what must occur if both players play wisely. Steele showed that the Advanced Teeko variant is a win for Black, as is one other variant, but the other fourteen variants are draws. Seibel, Peter. Coders at Work: Reflections on the Craft of Programming. Apress. Pp. 325–372. ISBN 1-4302-1948-3. OCLC 10605060. Works by Guy L. Steele at Project Gutenberg Works by or about Guy L. Steele Jr. at Internet Archive Sun/Oracle biographical page for Steele Telnet Song Poems from Guy Steele's student days A podcast interview with Guy Steele on Software Engineering Radio "Growing a Language", Keynote at the 1998 ACM OOPSLA Conference Guy Steele: Dan Friedman--Cool Ideas
Common Music Notation
Common Music Notation is open-source musical notation software. It is written in Common Lisp and runs on a variety of operating systems and Common Lisp implementations. CMN provides a package of functions to hierarchically describe a musical score; when evaluated, the musical score is rendered to an image. An example score expression and the image resulting from its evaluation is shown; the output file format of CMN is Encapsulated PostScript. CMN page at Stanford
OpenMusic is an object-oriented visual programming environment for musical composition based on Common Lisp. It may be used as an all-purpose visual interface to Lisp programming. At a more specialized level, a set of provided classes and libraries make it a convenient environment for music composition. OpenMusic is the last in a series of computer-assisted composition software designed at Ircam. Versions of OpenMusic are available for Mac OS X, Windows and Linux; the source code has been released under the GNU Lesser General Public License. Programs in OpenMusic are created by connecting together either pre-defined or user-defined modules, in a similar manner to graphical signal-processing environments such as Max/MSP or Pd. Unlike such environments, the result of an OpenMusic computation will be displayed in conventional music notation, which can be directly manipulated, if so required, via an editor. A substantial body of specialized libraries has been contributed by users, which extends OpenMusic's functionality into such areas as constraint programming, aleatoric composition, spectral music, minimalist music, music theory, music information retrieval, sound synthesis etc.
Alain Bancquart Brian Ferneyhough Joshua Fineberg Karim Haddad Rozalie Hirs Eres Holz Michael Jarrell Fabien Lévy PerMagnus Lindborg Fang Man Philippe Manoury Tristan Murail Kaija Saariaho Marco Stroppa OpenMusic: Un langage visuel pour la composition musicale assistée par ordinateur, Carlos Agon, PhD Thesis, IRCAM—Univ. Paris 6; the OM Composer's Book 1, ed. Carlos Agon, Gérard Assayag and Jean Bresson, 2006, Editions Delatour/IRCAM; the OM Composer's Book 2, ed. Jean Bresson, Carlos Agon and Gérard Assayag, 2008, Editions Delatour/IRCAM; the OM Composer's Book ed. Jean Bresson, Carlos Agon and Gérard Assayag, 2016, Editions Delatour/IRCAM. Fabio Selvafiorita's Thesis in Italian, Fabio. Composition assistée par ordinateur: techniques et outils de programmation visuelle pour la création musicale, Jean Bresson, Université Pierre et Marie Curie, 2017. OpenMusic Homepage, with full OM class and function reference and instructions on building OM from source