The Renderx Tribune
Total Page:16
File Type:pdf, Size:1020Kb
The RenderX Tribune RenderX News Lisp, the Programming Language W3C News 2006-05-15 2006-07-14 XEP 4.6 with AFP output Semantic Web Activity released. RenderX has re- "Lisp is a programmable program- A paper titled Common Lisp: Myths Grows to Include GRD- leased XEP 4.6, a new ver- ming language." -John Foderaro and Legends tries to confront and DL, Deployment Work- sion of its XSL processor dispel some of the myths and mistak- ing Groups W3C is and accompanying tools. en impressions associated with Lisp. pleased to announce the re- The new version intro- The paper promotes Xanalys©s Lisp newal of the Semantic duces AFP backend (avail- What is Lisp? products, but most of the arguments Web Activity. "W3C con- able with a special li- ISP is an acronym for LISt Pro- apply to other Common Lisp imple- tinues to support the ad- cense), improved line- Lcessing. Its development history mentations as well. vancement of universal breaking algorithm confor- has often been associated with sym- Kent Pitman©s More Than Just sharing and automatic pro- mant to the Unicode Stan- bolic processing and with both com- Words: Lambda, the Ultimate Politi- cessing of data in the dard Annex #14, and a puterandhumanlanguages.Ahetero- cal Party argues that Lisp is better World Wide Web," said new implementation of geneous list data type has always defined as its community than as its Ivan Herman (W3C). Se- XSL 1.1 change bars. been built into the language in order various specifications. mantic Web technologies XEPwin 2.0 has also been to efficiently deal with arbitrary and Lisp may be combined with other allow data to be shared and updated and includes XEP changing models. languages to produce wide variety of reused across applications, 4.6. From this basis, a number of fea- applications. enterprises, and communi- tures have come to be expected from There have been a number of com- ties. The W3C Advisory all members of the Lisp family of parisons between Lisp and other lan- Committee approved the languages: guages. continuing work in RDF Wikipedia Ð top-level in which code can be data access, rules inter- w In run change, and health care Tail recursion com- Ð decoupled syntax from seman- and life sciences. Three puter science, tail recur- tics Lisp History new groups are chartered isp was invented by John Mc- sion (or tail-end recursion) Ð compiled / interpreted for work on Semantic Web Carthy in the late 1950©s as a for- is a special case of recur- Ð language / libraries / environ- deployment, extracting Lmalism for reasoning about the use sion that can be easily ment RDF from XML (e.g., to of recursion equations as a model for transformed into an itera- Ð object-oriented / procedural processmicroformats),and computation. Of computer languages tion. Such a transformation Ð dynamic / static education and outreach. still in widespread use today, only is possible if the recursive Ð strong / weak typing Join W3C and visit the Se- FORTRAN is older. call is the last thing that Ð memory mangagement mantic Web home page. Lisp has evolved with the field of happens in a function. Re- Ð macros 2006-07-17 Computer Science, always putting placingrecursionwithitera- Ð effective use of computational W3C Names Yves Lafon the best ideas from the field into tion, either manually or au- resources Web Services Activity practical use. In 1994, Common Lisp tomatically, can drastically Ð 3GL/4GL/5GL LeadW3C has named became the first ANSI standard to in- decrease the amount of Lisp has evolved into a family of Yves Lafon to the position corporate object oriented program- stack space used and im- languages. The two major dialects in of Web Services Activity ming. prove efficiency. This use today are Common Lisp and Lead. The Web Services The early development of Lisp is technique is commonly Scheme. This web site deals mostly Activity includes Working described by McCarthy in "History used with functional pro- with Common Lisp. Groups for semantic anno- of Lisp", 1978. ...continued on page 2 ...continued on page 2 ...continued on page 2 AI Koans A novice was trying to fix a broken lisp garbage collector. We must keep a refer- ing at the PDP-6. "What are you doing?", machine by turning the power off and on. ence count of the pointers to each cons." asked Minsky. Knight, seeing what the student was doing Moon patiently told the student the follow- "I am training a randomly wired neural spoke sternly- "You can not fix a machine ing story- net to play Tic-Tac-Toe." by just power-cycling it with no under- "One day a student came to Moon and "Why is the net wired randomly?", asked standing of what is going wrong." said, "I understand how to make a better Minsky. Knight turned the machine off and on. garbage collector... "I do not want it to have any preconcep- The machine worked. tions of how to play" Minsky shut his eyes, In the days when Sussman was a novice "Why do you close your eyes?", Sussman One day a student came to Moon and said, Minsky once came to him as he sat hack- asked his teacher. "I understand how to make a better ...continued on page 4 RenderX Tribune, issue #2, July 20, 2006 Wikipedia (continued from page 1) Lisp, the Programming Language (continued from page 1) gramming languages where the declarative ap- Two of the major developers of the language since then, Richard Gabriel and Guy proach and explicit handling of state promote Steele, presented "The Evolution of Lisp" at the 1993 ACM History of Programming the use of recursive functions that rapidly fill Languages conference. the call stack. Kent Pitman and Brad Miller have compiled a brief on-line version of the history of Lisp from ANSI documents. Herbert Stoyan began his study of the history of Lisp in the early 1970s, while in East The word iteration is sometimes Germany. He carried out this study by writing letters to everyone whose name he could Iteration used in everyday English with a find in the documents as well as by getting every book and report he could. In 1979 he meaning virtually identical to repetition. applied to emigrate from East Germany, was arrested, spent six months in prison and Iteration in mathematics may refer to the pro- then was permitted to emigrate to West Germany. When he got out of East Germany, cess of iterating a function, or to the techniques he visited M.I.T. and examined every document he could find relevant to the history of used in iterative methods for solving numerical Lisp and also interviewed everyone he could. He is now Professor of Computer Science problems. at the University of Erlangen-Nuremberg in Erlangen, Germany, where his group works Iteration in computing is the repetition of a on AI. His history of Lisp is also on-line. process within a computer program. It can be used both as a general term, synonymous with repetition, and to describe a specific form of repetition with a mutable state. What is Lisp Good For? When used in the first sense, recursion is an NSI Common Lisp is a mature, thoughtfully conceived, highly portable, industrial- example of iteration, but typically using a recur- strength programming language which serious application developers worldwide sive notation, which is typically not the case for Ahave come to count on for: iteration. Ð Highly customizable "quick and dirty" utilities for doing everyday things. (i.e. as However, when used in the second (more re- the most powerful scripting language available). stricted) sense, iteration describes the style of Ð Large, complicated, mission critical applications which would be impossible to de- programming used in imperative programming velop in any other language. languages. This contrasts with recursion, which Ð Fast prototyping and Rapid Application Development (RAD). has a more declarative approach. Ð Continuous-availability applications, especially those that require functionality changes after initial deployment. It has had wide success in business process software, engineering, document processing, Call stack In computer science, a call hypermedia (including the WWW), mathematics, graphics and animation, artificial intel- stack is a special stack which stores informa- ligence and natural language processing. tion about the active subroutines of a computer It is sometimes used to define every aspect of an application, sometimes just the internal program. (The active subroutines are those processing engine (i.e. the guts, without the User Inteface), or sometimes just the user which have been called but have not yet com- interface. Sometimes it is used as the "glue" to interactively develop Graphical User pleted execution by returning.) This kind of Interfaces and sometimes to define graphics/windowing systems themselves. stack is also known as an execution stack, con- It is often used to provide interactive command languages, macro or scripting lan- trol stack, or function stack, and is often abbre- guages, and extension languages embedded within commercial systems. viated to just "the stack". It is widely used to programatically generate other, static, stand-alone applications, in A call stack is often used for several related the same or different language. It is also used to generate "mobile code". purposes, but the main reason for having one is Xanalys, a major commercial Lisp vendor, has placed an excellent paper titled Common to keep track of the point to which each active Lisp: Myths and Legends on their site. From the introduction: subroutine should return control when it finish- "This year, 1998, Lisp is celebrating its 40th year supporting the world©s most complex es executing.