You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(12) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2003 |
Jan
|
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jim A. <ja...@us...> - 2001-10-12 22:52:07
|
Update of /cvsroot/thinlisp/thinlisp-1.0/src/tlt/lisp In directory usw-pr-cvs1:/tmp/cvs-serv13746 Modified Files: boot.lisp Log Message: Change reference to the USER package to now read CL-USER. Index: boot.lisp =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/tlt/lisp/boot.lisp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -r1.26 -r1.27 *** boot.lisp 2001/05/30 03:13:50 1.26 --- boot.lisp 2001/10/12 22:52:03 1.27 *************** *** 1,3 **** ! (in-package "USER") ;;;; Module BOOT --- 1,3 ---- ! (in-package "CL-USER") ;;;; Module BOOT |
Update of /cvsroot/thinlisp/thinlisp-1.0/src/docs In directory usw-pr-cvs1:/tmp/cvs-serv25283 Modified Files: tl-manual.dvi tl-manual.html tl-manual.info tl-manual.info-1 tl-manual.pdf tl-manual_foot.html tl-manual_toc.html Log Message: Committing generated documentation files after some edits to the source texinfo file. -jallard Index: tl-manual.dvi =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/docs/tl-manual.dvi,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 Binary files /tmp/cvsOds0ii and /tmp/cvsYZazxr differ Index: tl-manual.html =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/docs/tl-manual.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** tl-manual.html 2001/05/09 06:49:32 1.10 --- tl-manual.html 2001/10/12 13:05:22 1.11 *************** *** 1,5 **** <HTML> <HEAD> ! <!-- Created by texi2html 1.56k from tl-manual.texinfo on 9 May 2001 --> <TITLE>ThinLisp Rant and Notes</TITLE> --- 1,5 ---- <HTML> <HEAD> ! <!-- Created by texi2html 1.56k from tl-manual.texinfo on 12 October 2001 --> <TITLE>ThinLisp Rant and Notes</TITLE> *************** *** 8,12 **** <H1>ThinLisp Manual</H1> <H2>Version 1.0</H2> ! <H2>9 May 2001</H2> <ADDRESS>The ThinLisp Group:</ADDRESS> <ADDRESS>Jim Allard</ADDRESS> --- 8,12 ---- <H1>ThinLisp Manual</H1> <H2>Version 1.0</H2> ! <H2>12 October 2001</H2> <ADDRESS>The ThinLisp Group:</ADDRESS> <ADDRESS>Jim Allard</ADDRESS> *************** *** 166,170 **** came the excellent books <CITE>Common Lisp, The Language</CITE> by Guy Steele and it's second edition, which incorporated many of the changes that would eventually be ! codified into ISO Common Lisp. This is the dialect that dominates Lisp work today, at least in the U.S. --- 166,170 ---- came the excellent books <CITE>Common Lisp, The Language</CITE> by Guy Steele and it's second edition, which incorporated many of the changes that would eventually be ! codified into ANSI Common Lisp. This is the dialect that dominates Lisp work today, at least in the U.S. *************** *** 186,190 **** However, when it came to deploying these systems, things didn't turn out so smoothly. Most software products of that era were coded in languages such as ! Fortran, Cobol, Pascal, C, and a assembly language. It turned out that Software developers who could breathe fire in Lisp were clumsy, inefficient, or flatly unwilling to port their systems to these traditional languages. --- 186,190 ---- However, when it came to deploying these systems, things didn't turn out so smoothly. Most software products of that era were coded in languages such as ! Fortran, Cobol, Pascal, C, and assembly language. It turned out that Software developers who could breathe fire in Lisp were clumsy, inefficient, or flatly unwilling to port their systems to these traditional languages. *************** *** 194,201 **** Customers were loathe to buy expensive, special purpose hardware for these applications while cheap, ever more powerful PC computers were rolling out. ! Stories of this sort are rife throughout the industry, but I'll speak to just ! the cases I personally was involved in. While the presence of Lisp as the basis ! of these software systems cannot be fully blamed for their success or failure, ! in all cases it was a controversial and high-visibility part of the system. --- 194,204 ---- Customers were loathe to buy expensive, special purpose hardware for these applications while cheap, ever more powerful PC computers were rolling out. ! During this period the workstation class computer was also coming on, with ! initial excellent products coming from from Sun and Apollo. Stories about the ! difficulties in rolling out applications are rife throughout the industry, but ! I'll speak to just the cases I personally was involved in. While the presence ! of Lisp as the basis of these software systems cannot be fully blamed for their ! success or failure, in all cases it was a controversial and high-visibility part ! of the system. *************** *** 243,247 **** In this case, the system was gaining acceptance by the pilot users, but as a direct consequence of the performance problems caused by garbage collection this ! pilot project was closed out, and this particular approach was dropped. --- 246,251 ---- In this case, the system was gaining acceptance by the pilot users, but as a direct consequence of the performance problems caused by garbage collection this ! pilot project was closed out, and this particular deployment approach was ! dropped. A different *************** *** 328,332 **** The goal of scientists is to learn truths about the world around them, using observation, analysis, hypothesis, and experimentation to advance and buttress ! their claims of discovery. Pure science aspires to being unconcerned with the utility or applicability of the information they seek. The ultimate goal is to discover and understand what <EM>is</EM>. --- 332,336 ---- The goal of scientists is to learn truths about the world around them, using observation, analysis, hypothesis, and experimentation to advance and buttress ! their claims of discovery. Pure science aspires to be unconcerned with the utility or applicability of the information they seek. The ultimate goal is to discover and understand what <EM>is</EM>. *************** *** 337,341 **** are or that there might be, regardless of or even entirely divorced from the limits of the physical world. The studies of mathematicians are the stuff of ! pure thought and imagination, yet bound by the strictest of rules of proof. To build robust castles in the air based on proofs combining into a single monolithic whole requires that all pieces must act perfectly in concert. --- 341,345 ---- are or that there might be, regardless of or even entirely divorced from the limits of the physical world. The studies of mathematicians are the stuff of ! pure thought and imagination, yet bound by the strictest rules of proof. To build robust castles in the air based on proofs combining into a single monolithic whole requires that all pieces must act perfectly in concert. *************** *** 373,385 **** The mathematician espouses <EM>denotational semantics</EM>, where the behavior of an operation is determined by what the operation <EM>means</EM>. In this style, ! the goal is to make a complete, and unified system where each element of the ! language must be intricately coordinated with each other part, so that each ! element can retain its meaning when used in conjunction with any other part. ! The semantics of each operation are primary, and the consequences of the ! definition of one operation can strongly affect the implementation of many other ! operations. While the behaviors required of any individual operation may become ! complicated, the programmer using such a language can work confident that his ! code may be intermingled in complex ways with other's code without fear of each ! violating the other's assumptions about eventual program behavior. When finished, systems defined along these lines make powerful and elegant environments. --- 377,389 ---- The mathematician espouses <EM>denotational semantics</EM>, where the behavior of an operation is determined by what the operation <EM>means</EM>. In this style, ! the goal is to make a complete unified system where each element of the language ! must be intricately coordinated with each other part, so that each element can ! retain its meaning when used in conjunction with any other part. The semantics ! of each operation are primary, and the consequences of the definition of one ! operation can strongly affect the implementation of many other operations. ! While the behaviors required of any individual operation may become complicated, ! the programmer using such a language can work confident in the knowledge that ! his code may be intermingled in complex ways with other's code without fear of ! each violating the other's assumptions about eventual program behavior. When finished, systems defined along these lines make powerful and elegant environments. *************** *** 451,455 **** ! <H2><A NAME="SEC9" HREF="tl-manual_toc.html#TOC9">Just GOTO, or GOTO When You're Ready</A></H2> <P> --- 455,459 ---- ! <H2><A NAME="SEC9" HREF="tl-manual_toc.html#TOC9">GOTO Right Now, or GOTO When You're Ready</A></H2> <P> *************** *** 590,596 **** surrounding its scope, or else a compile time warning is given. The <CODE>consing-area</CODE> can either be <CODE>permanent</CODE> or <CODE>temporary</CODE>. ! <A NAME="DOCF5" HREF="tl-manual_foot.html#FOOT5">(5)</A> A ! <CODE>permanent</CODE> area means consing proceeds as normal, with all create objects ! having dynamic extent. However, whenever consing happens within a <CODE>temporary</CODE> scope, then the object's lifetime only has dynamic scope back to the exit point of the <CODE>temporary</CODE> <CODE>consing-area</CODE>. The --- 594,600 ---- surrounding its scope, or else a compile time warning is given. The <CODE>consing-area</CODE> can either be <CODE>permanent</CODE> or <CODE>temporary</CODE>. ! <A NAME="DOCF5" HREF="tl-manual_foot.html#FOOT5">(5)</A> ! A <CODE>permanent</CODE> area means consing proceeds as normal, with all created ! objects having dynamic extent. However, whenever consing happens within a <CODE>temporary</CODE> scope, then the object's lifetime only has dynamic scope back to the exit point of the <CODE>temporary</CODE> <CODE>consing-area</CODE>. The *************** *** 615,628 **** Lastly, ThinLisp can issue compile-time warnings about non-local exits. The <CODE>unwind-protect</CODE> form can guarantee that clean-up code is executed on exit ! from a scope, but it is a very expensive operation. There are some macro forms ! where is it acceptible if an error exits a scope without a clean-up, but a normal execution of the body form should not leave the scope with a ! <CODE>return-from</CODE> form. ThinLisp provides a <CODE>require-local-exit</CODE> ! declaration that will cause compile time warnings if a scope is left ! prematurely. The other kind of non-local exit that ThinLisp prevents is ! <CODE>goto</CODE> or <CODE>return-from</CODE> forms that exit a lexical closure and re-enter ! a surrounding function. These patterns of code are tantamount to <CODE>catch</CODE> ! and <CODE>throw</CODE> forms, which are very expensive. By declining to implement ! this form of non-local exit, we can prevent this kind of performance pratfall. --- 619,636 ---- Lastly, ThinLisp can issue compile-time warnings about non-local exits. The <CODE>unwind-protect</CODE> form can guarantee that clean-up code is executed on exit ! from a scope, but it is a very expensive operation do to <CODE>setjmp</CODE> calls ! establish a reentry point into the function, and the need to declare variables ! <CODE>volitile</CODE> if they are modified within that scope. There are some macro ! forms where is it acceptible if an error exits a scope without a clean-up, but a normal execution of the body form should not leave the scope with a ! <CODE>return-from</CODE> form. In order to allow programmers to write macros that ! have clean-up code without resorting to an <CODE>unwind-protect</CODE> form, ThinLisp ! provides a <CODE>require-local-exit</CODE> declaration that will cause compile time ! warnings if a scope is left prematurely. The other kind of non-local exit that ! ThinLisp prevents is <CODE>goto</CODE> or <CODE>return-from</CODE> forms that exit a lexical ! closure and re-enter a surrounding function. These patterns of code are ! tantamount to <CODE>catch</CODE> and <CODE>throw</CODE> forms, which are very expensive. By ! declining to implement this form of non-local exit, we can prevent this kind of ! performance pratfall. *************** *** 2455,2459 **** <P><HR><P> ! This document was generated on 9 May 2001 using <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k. </BODY> --- 2463,2467 ---- <P><HR><P> ! This document was generated on 12 October 2001 using <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k. </BODY> Index: tl-manual.info =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/docs/tl-manual.info,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** tl-manual.info 2001/05/09 06:49:33 1.10 --- tl-manual.info 2001/10/12 13:05:22 1.11 *************** *** 11,16 **** Indirect: tl-manual.info-1: 283 ! tl-manual.info-2: 29781 ! tl-manual.info-3: 76733 Tag Table: --- 11,16 ---- Indirect: tl-manual.info-1: 283 ! tl-manual.info-2: 30276 ! tl-manual.info-3: 77228 Tag Table: *************** *** 20,41 **** Node: Preface2429 Node: Rant3760 ! Ref: Rant-Footnote-124500 ! Ref: Rant-Footnote-224621 ! Ref: Rant-Footnote-324761 ! Ref: Rant-Footnote-424940 ! Node: ThinLisp-Compromise25161 ! Ref: ThinLisp-Compromise-Footnote-129641 ! Node: Original-Notes29781 ! Node: Memory76733 ! Ref: Memory-Footnote-194282 ! Ref: Memory-Footnote-295043 ! Ref: Memory-Footnote-395571 ! Ref: Memory-Footnote-495626 ! Ref: Memory-Footnote-595900 ! Ref: Memory-Footnote-696009 ! Node: Original-Introduction96110 ! Ref: Original-Introduction-Footnote-199066 ! Node: Required-Symbols99131 ! Node: Index103615 End Tag Table --- 20,41 ---- Node: Preface2429 Node: Rant3760 ! Ref: Rant-Footnote-124715 ! Ref: Rant-Footnote-224836 ! Ref: Rant-Footnote-324976 ! Ref: Rant-Footnote-425155 ! Node: ThinLisp-Compromise25376 ! Ref: ThinLisp-Compromise-Footnote-130124 ! Node: Original-Notes30276 ! Node: Memory77228 ! Ref: Memory-Footnote-194777 ! Ref: Memory-Footnote-295538 ! Ref: Memory-Footnote-396066 ! Ref: Memory-Footnote-496121 ! Ref: Memory-Footnote-596395 ! Ref: Memory-Footnote-696504 ! Node: Original-Introduction96605 ! Ref: Original-Introduction-Footnote-199561 ! Node: Required-Symbols99626 ! Node: Index104110 End Tag Table Index: tl-manual.info-1 =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/docs/tl-manual.info-1,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** tl-manual.info-1 2001/05/09 06:49:34 1.8 --- tl-manual.info-1 2001/10/12 13:05:22 1.9 *************** *** 162,166 **** standard. From this effort came the excellent books `Common Lisp, The Language' by Guy Steele and it's second edition, which incorporated ! many of the changes that would eventually be codified into ISO Common Lisp. This is the dialect that dominates Lisp work today, at least in the U.S. --- 162,166 ---- standard. From this effort came the excellent books `Common Lisp, The Language' by Guy Steele and it's second edition, which incorporated ! many of the changes that would eventually be codified into ANSI Common Lisp. This is the dialect that dominates Lisp work today, at least in the U.S. *************** *** 179,194 **** However, when it came to deploying these systems, things didn't turn out so smoothly. Most software products of that era were coded in ! languages such as Fortran, Cobol, Pascal, C, and a assembly language. ! It turned out that Software developers who could breathe fire in Lisp ! were clumsy, inefficient, or flatly unwilling to port their systems to ! these traditional languages. Customers were loathe to buy expensive, special purpose hardware for these applications while cheap, ever more powerful PC computers were ! rolling out. Stories of this sort are rife throughout the industry, ! but I'll speak to just the cases I personally was involved in. While ! the presence of Lisp as the basis of these software systems cannot be ! fully blamed for their success or failure, in all cases it was a ! controversial and high-visibility part of the system. The Mentor system for preventative maintenance was a success story. --- 179,197 ---- However, when it came to deploying these systems, things didn't turn out so smoothly. Most software products of that era were coded in ! languages such as Fortran, Cobol, Pascal, C, and assembly language. It ! turned out that Software developers who could breathe fire in Lisp were ! clumsy, inefficient, or flatly unwilling to port their systems to these ! traditional languages. Customers were loathe to buy expensive, special purpose hardware for these applications while cheap, ever more powerful PC computers were ! rolling out. During this period the workstation class computer was ! also coming on, with initial excellent products coming from from Sun ! and Apollo. Stories about the difficulties in rolling out applications ! are rife throughout the industry, but I'll speak to just the cases I ! personally was involved in. While the presence of Lisp as the basis of ! these software systems cannot be fully blamed for their success or ! failure, in all cases it was a controversial and high-visibility part ! of the system. The Mentor system for preventative maintenance was a success story. *************** *** 232,236 **** but as a direct consequence of the performance problems caused by garbage collection this pilot project was closed out, and this ! particular approach was dropped. The G2 system is a real-time supervisory level control system built --- 235,239 ---- but as a direct consequence of the performance problems caused by garbage collection this pilot project was closed out, and this ! particular deployment approach was dropped. A different The G2 system is a real-time supervisory level control system built *************** *** 307,313 **** them, using observation, analysis, hypothesis, and experimentation to advance and buttress their claims of discovery. Pure science aspires ! to being unconcerned with the utility or applicability of the ! information they seek. The ultimate goal is to discover and understand ! what _is_. Mathematicians aspire to an even higher goal -- understanding what --- 310,315 ---- them, using observation, analysis, hypothesis, and experimentation to advance and buttress their claims of discovery. Pure science aspires ! to be unconcerned with the utility or applicability of the information ! they seek. The ultimate goal is to discover and understand what _is_. Mathematicians aspire to an even higher goal -- understanding what *************** *** 315,319 **** divorced from the limits of the physical world. The studies of mathematicians are the stuff of pure thought and imagination, yet bound ! by the strictest of rules of proof. To build robust castles in the air based on proofs combining into a single monolithic whole requires that all pieces must act perfectly in concert. Therefore the mathematician --- 317,321 ---- divorced from the limits of the physical world. The studies of mathematicians are the stuff of pure thought and imagination, yet bound ! by the strictest rules of proof. To build robust castles in the air based on proofs combining into a single monolithic whole requires that all pieces must act perfectly in concert. Therefore the mathematician *************** *** 345,360 **** The mathematician espouses _denotational semantics_, where the behavior of an operation is determined by what the operation _means_. ! In this style, the goal is to make a complete, and unified system where ! each element of the language must be intricately coordinated with each ! other part, so that each element can retain its meaning when used in conjunction with any other part. The semantics of each operation are primary, and the consequences of the definition of one operation can strongly affect the implementation of many other operations. While the behaviors required of any individual operation may become complicated, ! the programmer using such a language can work confident that his code ! may be intermingled in complex ways with other's code without fear of ! each violating the other's assumptions about eventual program behavior. ! When finished, systems defined along these lines make powerful and ! elegant environments. The engineer espouses _operational semantics_, where what each --- 347,362 ---- The mathematician espouses _denotational semantics_, where the behavior of an operation is determined by what the operation _means_. ! In this style, the goal is to make a complete unified system where each ! element of the language must be intricately coordinated with each other ! part, so that each element can retain its meaning when used in conjunction with any other part. The semantics of each operation are primary, and the consequences of the definition of one operation can strongly affect the implementation of many other operations. While the behaviors required of any individual operation may become complicated, ! the programmer using such a language can work confident in the ! knowledge that his code may be intermingled in complex ways with ! other's code without fear of each violating the other's assumptions ! about eventual program behavior. When finished, systems defined along ! these lines make powerful and elegant environments. The engineer espouses _operational semantics_, where what each *************** *** 413,418 **** exposed, and the other sees too much being hidden. ! Just GOTO, or GOTO When You're Ready ! ==================================== An example of how this difference in design perspective plays out --- 415,420 ---- exposed, and the other sees too much being hidden. ! GOTO Right Now, or GOTO When You're Ready ! ========================================= An example of how this difference in design perspective plays out *************** *** 546,551 **** declaration lexically surrounding its scope, or else a compile time warning is given. The `consing-area' can either be `permanent' or ! `temporary'. (1) A `permanent' area means consing proceeds as normal, ! with all create objects having dynamic extent. However, whenever consing happens within a `temporary' scope, then the object's lifetime only has dynamic scope back to the exit point of the `temporary' --- 548,553 ---- declaration lexically surrounding its scope, or else a compile time warning is given. The `consing-area' can either be `permanent' or ! `temporary'. (1) A `permanent' area means consing proceeds as normal, ! with all created objects having dynamic extent. However, whenever consing happens within a `temporary' scope, then the object's lifetime only has dynamic scope back to the exit point of the `temporary' *************** *** 568,586 **** Lastly, ThinLisp can issue compile-time warnings about non-local exits. The `unwind-protect' form can guarantee that clean-up code is ! executed on exit from a scope, but it is a very expensive operation. ! There are some macro forms where is it acceptible if an error exits a ! scope without a clean-up, but a normal execution of the body form ! should not leave the scope with a `return-from' form. ThinLisp ! provides a `require-local-exit' declaration that will cause compile ! time warnings if a scope is left prematurely. The other kind of ! non-local exit that ThinLisp prevents is `goto' or `return-from' forms ! that exit a lexical closure and re-enter a surrounding function. These ! patterns of code are tantamount to `catch' and `throw' forms, which are ! very expensive. By declining to implement this form of non-local exit, ! we can prevent this kind of performance pratfall. ---------- Footnotes ---------- (1) For consing operations that can be called from either context, ! you can declare a consing area of `either', but that is fairly rare. --- 570,593 ---- Lastly, ThinLisp can issue compile-time warnings about non-local exits. The `unwind-protect' form can guarantee that clean-up code is ! executed on exit from a scope, but it is a very expensive operation do ! to `setjmp' calls establish a reentry point into the function, and the ! need to declare variables `volitile' if they are modified within that ! scope. There are some macro forms where is it acceptible if an error ! exits a scope without a clean-up, but a normal execution of the body ! form should not leave the scope with a `return-from' form. In order to ! allow programmers to write macros that have clean-up code without ! resorting to an `unwind-protect' form, ThinLisp provides a ! `require-local-exit' declaration that will cause compile time warnings ! if a scope is left prematurely. The other kind of non-local exit that ! ThinLisp prevents is `goto' or `return-from' forms that exit a lexical ! closure and re-enter a surrounding function. These patterns of code are ! tantamount to `catch' and `throw' forms, which are very expensive. By ! declining to implement this form of non-local exit, we can prevent this ! kind of performance pratfall. ---------- Footnotes ---------- (1) For consing operations that can be called from either context, ! you can declare a consing area of `either', but in practice that is ! fairly rare. Index: tl-manual.pdf =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/docs/tl-manual.pdf,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** tl-manual.pdf 2001/05/09 06:49:35 1.12 --- tl-manual.pdf 2001/10/12 13:05:22 1.13 *************** *** 52,56 **** endobj 34 0 obj ! (Just GOTO, or GOTO When You're Ready) endobj 36 0 obj --- 52,56 ---- endobj 34 0 obj ! (GOTO Right Now, or GOTO When You're Ready) endobj [...3138 lines suppressed...] ! 0000215607 00000 n ! 0000215677 00000 n ! 0000220594 00000 n ! 0000221456 00000 n ! 0000221495 00000 n ! 0000221533 00000 n ! 0000221642 00000 n trailer << *************** *** 4611,4614 **** >> startxref ! 221207 %%EOF --- 4588,4591 ---- >> startxref ! 221738 %%EOF Index: tl-manual_foot.html =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/docs/tl-manual_foot.html,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** tl-manual_foot.html 2001/05/09 06:49:37 1.9 --- tl-manual_foot.html 2001/10/12 13:05:23 1.10 *************** *** 1,5 **** <HTML> <HEAD> ! <!-- Created by texi2html 1.56k from tl-manual.texinfo on 9 May 2001 --> <TITLE>ThinLisp Rant and Notes - Footnotes</TITLE> --- 1,5 ---- <HTML> <HEAD> ! <!-- Created by texi2html 1.56k from tl-manual.texinfo on 12 October 2001 --> <TITLE>ThinLisp Rant and Notes - Footnotes</TITLE> *************** *** 8,12 **** <H1>ThinLisp Manual</H1> <H2>Version 1.0</H2> ! <H2>9 May 2001</H2> <ADDRESS>The ThinLisp Group:</ADDRESS> <ADDRESS>Jim Allard</ADDRESS> --- 8,12 ---- <H1>ThinLisp Manual</H1> <H2>Version 1.0</H2> ! <H2>12 October 2001</H2> <ADDRESS>The ThinLisp Group:</ADDRESS> <ADDRESS>Jim Allard</ADDRESS> *************** *** 33,37 **** <H3><A NAME="FOOT5" HREF="tl-manual.html#DOCF5">(5)</A></H3> <P>For consing operations that can be called from either context, you can ! declare a consing area of <CODE>either</CODE>, but that is fairly rare. <H3><A NAME="FOOT6" HREF="tl-manual.html#DOCF6">(6)</A></H3> <P>There is an argument that they should be aligned on 8 byte --- 33,37 ---- <H3><A NAME="FOOT5" HREF="tl-manual.html#DOCF5">(5)</A></H3> <P>For consing operations that can be called from either context, you can ! declare a consing area of <CODE>either</CODE>, but in practice that is fairly rare. <H3><A NAME="FOOT6" HREF="tl-manual.html#DOCF6">(6)</A></H3> <P>There is an argument that they should be aligned on 8 byte *************** *** 70,74 **** arguments have since been added. -jallard 10/9/99. <P><HR><P> ! This document was generated on 9 May 2001 using <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k. </BODY> --- 70,74 ---- arguments have since been added. -jallard 10/9/99. <P><HR><P> ! This document was generated on 12 October 2001 using <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k. </BODY> Index: tl-manual_toc.html =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/docs/tl-manual_toc.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** tl-manual_toc.html 2001/05/09 06:49:38 1.10 --- tl-manual_toc.html 2001/10/12 13:05:23 1.11 *************** *** 1,5 **** <HTML> <HEAD> ! <!-- Created by texi2html 1.56k from tl-manual.texinfo on 9 May 2001 --> <TITLE>ThinLisp Rant and Notes - Table of Contents</TITLE> --- 1,5 ---- <HTML> <HEAD> ! <!-- Created by texi2html 1.56k from tl-manual.texinfo on 12 October 2001 --> <TITLE>ThinLisp Rant and Notes - Table of Contents</TITLE> *************** *** 8,12 **** <H1>ThinLisp Manual</H1> <H2>Version 1.0</H2> ! <H2>9 May 2001</H2> <ADDRESS>The ThinLisp Group:</ADDRESS> <ADDRESS>Jim Allard</ADDRESS> --- 8,12 ---- <H1>ThinLisp Manual</H1> <H2>Version 1.0</H2> ! <H2>12 October 2001</H2> <ADDRESS>The ThinLisp Group:</ADDRESS> <ADDRESS>Jim Allard</ADDRESS> *************** *** 24,28 **** <LI><A NAME="TOC7" HREF="tl-manual.html#SEC7">Scientists, Mathematicians, and Engineers (oh my!)</A> <LI><A NAME="TOC8" HREF="tl-manual.html#SEC8">Denotational and Operational Semantics</A> ! <LI><A NAME="TOC9" HREF="tl-manual.html#SEC9">Just GOTO, or GOTO When You're Ready</A> <LI><A NAME="TOC10" HREF="tl-manual.html#SEC10">ThinLisp's Compromises</A> </UL> --- 24,28 ---- <LI><A NAME="TOC7" HREF="tl-manual.html#SEC7">Scientists, Mathematicians, and Engineers (oh my!)</A> <LI><A NAME="TOC8" HREF="tl-manual.html#SEC8">Denotational and Operational Semantics</A> ! <LI><A NAME="TOC9" HREF="tl-manual.html#SEC9">GOTO Right Now, or GOTO When You're Ready</A> <LI><A NAME="TOC10" HREF="tl-manual.html#SEC10">ThinLisp's Compromises</A> </UL> *************** *** 77,81 **** </UL> <P><HR><P> ! This document was generated on 9 May 2001 using <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k. </BODY> --- 77,81 ---- </UL> <P><HR><P> ! This document was generated on 12 October 2001 using <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k. </BODY> |
From: Jim A. <ja...@us...> - 2001-10-12 12:46:08
|
Update of /cvsroot/thinlisp/thinlisp-1.0/src/docs In directory usw-pr-cvs1:/tmp/cvs-serv18931 Modified Files: tl-manual.texinfo Log Message: Changed ISO Common Lisp to ANSI Common Lisp. While rumors in the X3J13 committee existing at one point that ISO would adopt Common Lisp as a standard, it would appear that this didn't occur and a sharp eyed reader pointed this out to me. While I was here, I did some word smithing. Index: tl-manual.texinfo =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/docs/tl-manual.texinfo,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** tl-manual.texinfo 2001/05/09 06:49:37 1.13 --- tl-manual.texinfo 2001/10/12 12:46:03 1.14 *************** *** 183,187 **** came the excellent books @cite{Common Lisp, The Language} by Guy Steele and it's second edition, which incorporated many of the changes that would eventually be ! codified into ISO Common Lisp. This is the dialect that dominates Lisp work today, at least in the U.S. --- 183,187 ---- came the excellent books @cite{Common Lisp, The Language} by Guy Steele and it's second edition, which incorporated many of the changes that would eventually be ! codified into ANSI Common Lisp. This is the dialect that dominates Lisp work today, at least in the U.S. *************** *** 199,203 **** However, when it came to deploying these systems, things didn't turn out so smoothly. Most software products of that era were coded in languages such as ! Fortran, Cobol, Pascal, C, and a assembly language. It turned out that Software developers who could breathe fire in Lisp were clumsy, inefficient, or flatly unwilling to port their systems to these traditional languages. --- 199,203 ---- However, when it came to deploying these systems, things didn't turn out so smoothly. Most software products of that era were coded in languages such as ! Fortran, Cobol, Pascal, C, and assembly language. It turned out that Software developers who could breathe fire in Lisp were clumsy, inefficient, or flatly unwilling to port their systems to these traditional languages. *************** *** 205,212 **** Customers were loathe to buy expensive, special purpose hardware for these applications while cheap, ever more powerful PC computers were rolling out. ! Stories of this sort are rife throughout the industry, but I'll speak to just ! the cases I personally was involved in. While the presence of Lisp as the basis ! of these software systems cannot be fully blamed for their success or failure, ! in all cases it was a controversial and high-visibility part of the system. The Mentor system for preventative maintenance was a success story. A group at --- 205,215 ---- Customers were loathe to buy expensive, special purpose hardware for these applications while cheap, ever more powerful PC computers were rolling out. ! During this period the workstation class computer was also coming on, with ! initial excellent products coming from from Sun and Apollo. Stories about the ! difficulties in rolling out applications are rife throughout the industry, but ! I'll speak to just the cases I personally was involved in. While the presence ! of Lisp as the basis of these software systems cannot be fully blamed for their ! success or failure, in all cases it was a controversial and high-visibility part ! of the system. The Mentor system for preventative maintenance was a success story. A group at *************** *** 246,250 **** In this case, the system was gaining acceptance by the pilot users, but as a direct consequence of the performance problems caused by garbage collection this ! pilot project was closed out, and this particular approach was dropped. The G2 system is a real-time supervisory level control system built by Gensym --- 249,254 ---- In this case, the system was gaining acceptance by the pilot users, but as a direct consequence of the performance problems caused by garbage collection this ! pilot project was closed out, and this particular deployment approach was ! dropped. A different The G2 system is a real-time supervisory level control system built by Gensym *************** *** 315,319 **** The goal of scientists is to learn truths about the world around them, using observation, analysis, hypothesis, and experimentation to advance and buttress ! their claims of discovery. Pure science aspires to being unconcerned with the utility or applicability of the information they seek. The ultimate goal is to discover and understand what @emph{is}. --- 319,323 ---- The goal of scientists is to learn truths about the world around them, using observation, analysis, hypothesis, and experimentation to advance and buttress ! their claims of discovery. Pure science aspires to be unconcerned with the utility or applicability of the information they seek. The ultimate goal is to discover and understand what @emph{is}. *************** *** 322,326 **** are or that there might be, regardless of or even entirely divorced from the limits of the physical world. The studies of mathematicians are the stuff of ! pure thought and imagination, yet bound by the strictest of rules of proof. To build robust castles in the air based on proofs combining into a single monolithic whole requires that all pieces must act perfectly in concert. --- 326,330 ---- are or that there might be, regardless of or even entirely divorced from the limits of the physical world. The studies of mathematicians are the stuff of ! pure thought and imagination, yet bound by the strictest rules of proof. To build robust castles in the air based on proofs combining into a single monolithic whole requires that all pieces must act perfectly in concert. *************** *** 352,364 **** The mathematician espouses @emph{denotational semantics}, where the behavior of an operation is determined by what the operation @emph{means}. In this style, ! the goal is to make a complete, and unified system where each element of the ! language must be intricately coordinated with each other part, so that each ! element can retain its meaning when used in conjunction with any other part. ! The semantics of each operation are primary, and the consequences of the ! definition of one operation can strongly affect the implementation of many other ! operations. While the behaviors required of any individual operation may become ! complicated, the programmer using such a language can work confident that his ! code may be intermingled in complex ways with other's code without fear of each ! violating the other's assumptions about eventual program behavior. When finished, systems defined along these lines make powerful and elegant environments. --- 356,368 ---- The mathematician espouses @emph{denotational semantics}, where the behavior of an operation is determined by what the operation @emph{means}. In this style, ! the goal is to make a complete unified system where each element of the language ! must be intricately coordinated with each other part, so that each element can ! retain its meaning when used in conjunction with any other part. The semantics ! of each operation are primary, and the consequences of the definition of one ! operation can strongly affect the implementation of many other operations. ! While the behaviors required of any individual operation may become complicated, ! the programmer using such a language can work confident in the knowledge that ! his code may be intermingled in complex ways with other's code without fear of ! each violating the other's assumptions about eventual program behavior. When finished, systems defined along these lines make powerful and elegant environments. *************** *** 418,422 **** machine. One sees too much exposed, and the other sees too much being hidden. ! @section Just GOTO, or GOTO When You're Ready An example of how this difference in design perspective plays out can be found --- 422,426 ---- machine. One sees too much exposed, and the other sees too much being hidden. ! @section GOTO Right Now, or GOTO When You're Ready An example of how this difference in design perspective plays out can be found *************** *** 539,545 **** @code{consing-area} can either be @code{permanent} or @code{temporary}. @footnote{For consing operations that can be called from either context, you can ! declare a consing area of @code{either}, but that is fairly rare.} A ! @code{permanent} area means consing proceeds as normal, with all create objects ! having dynamic extent. However, whenever consing happens within a @code{temporary} scope, then the object's lifetime only has dynamic scope back to the exit point of the @code{temporary} @code{consing-area}. The --- 543,549 ---- @code{consing-area} can either be @code{permanent} or @code{temporary}. @footnote{For consing operations that can be called from either context, you can ! declare a consing area of @code{either}, but in practice that is fairly rare.} ! A @code{permanent} area means consing proceeds as normal, with all created ! objects having dynamic extent. However, whenever consing happens within a @code{temporary} scope, then the object's lifetime only has dynamic scope back to the exit point of the @code{temporary} @code{consing-area}. The *************** *** 560,573 **** Lastly, ThinLisp can issue compile-time warnings about non-local exits. The @code{unwind-protect} form can guarantee that clean-up code is executed on exit ! from a scope, but it is a very expensive operation. There are some macro forms ! where is it acceptible if an error exits a scope without a clean-up, but a normal execution of the body form should not leave the scope with a ! @code{return-from} form. ThinLisp provides a @code{require-local-exit} ! declaration that will cause compile time warnings if a scope is left ! prematurely. The other kind of non-local exit that ThinLisp prevents is ! @code{goto} or @code{return-from} forms that exit a lexical closure and re-enter ! a surrounding function. These patterns of code are tantamount to @code{catch} ! and @code{throw} forms, which are very expensive. By declining to implement ! this form of non-local exit, we can prevent this kind of performance pratfall. --- 564,581 ---- Lastly, ThinLisp can issue compile-time warnings about non-local exits. The @code{unwind-protect} form can guarantee that clean-up code is executed on exit ! from a scope, but it is a very expensive operation do to @code{setjmp} calls ! establish a reentry point into the function, and the need to declare variables ! @code{volitile} if they are modified within that scope. There are some macro ! forms where is it acceptible if an error exits a scope without a clean-up, but a normal execution of the body form should not leave the scope with a ! @code{return-from} form. In order to allow programmers to write macros that ! have clean-up code without resorting to an @code{unwind-protect} form, ThinLisp ! provides a @code{require-local-exit} declaration that will cause compile time ! warnings if a scope is left prematurely. The other kind of non-local exit that ! ThinLisp prevents is @code{goto} or @code{return-from} forms that exit a lexical ! closure and re-enter a surrounding function. These patterns of code are ! tantamount to @code{catch} and @code{throw} forms, which are very expensive. By ! declining to implement this form of non-local exit, we can prevent this kind of ! performance pratfall. |
From: Jim A. <ja...@us...> - 2001-10-11 10:07:48
|
Update of /cvsroot/thinlisp/thinlisp-1.0/src In directory usw-pr-cvs1:/tmp/cvs-serv20253 Modified Files: boot.lisp Log Message: Changed from the old fashioned "USER" package to "CL-USER" in the two boot files where it is used. Fortunately, the majority of the code uses TL-USER so there aren't many places to change over. Index: boot.lisp =================================================================== RCS file: /cvsroot/thinlisp/thinlisp-1.0/src/boot.lisp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** boot.lisp 2001/05/22 02:09:56 1.4 --- boot.lisp 2001/10/11 10:07:46 1.5 *************** *** 1,3 **** ! (in-package "USER") ;;;; Module BOOT --- 1,3 ---- ! (in-package "CL-USER") ;;;; Module BOOT |