CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

INFIX: Infix reader macro for Common Lisp.

lang/lisp/code/syntax/infix/
This is an implementation of an infix reader macro. It allows the user to type arithmetic expressions in the traditional way (e.g., 1+2) when writing Lisp programs instead of using the normal Lisp syntax (e.g., (+ 1 2)). It is not intended to be a full replacement for the normal Lisp syntax. If you want a more complete alternate syntax for Lisp, get a copy Apple's MLisp or Pratt's CGOL. Although similar in concept to the Symbolics infix reader (#), no real effort has been made to ensure compatibility beyond coverage of at least the same set of basic arithmetic operators. There are several differences in the syntax beyond just the choice of #I as the macro character. (Our syntax is a little bit more C-like than the Symbolics macro in addition to some more subtle differences.) We initially chose $ as a macro character because of its association with mathematics in LaTeX, but unfortunately that character is already used in MCL. We switched to #I() because it was one of the few options remaining. Documentation included at the top of the source file. Examples and testing routines at the end.
Origin:   

   CMU Lisp Repository (home location)

Version: 1.2 (18-JAN-95) Requires: Common Lisp Ports: Fully portable, with the possible exception of macro character conflicts. Tested in Allegro CL 4.1, Lucid CL 4.0.1, MCL 2.0 and CMU CL. Copying: Copying, use, and distribution permitted. CD-ROM: Prime Time Freeware for AI, Issue 1-1 Bug Reports: lisp-utilities-request@cs.cmu.edu Author(s): Mark Kantrowitz School of Computer Science Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3891 412-268-2582 Keywords: Authors!Kantrowitz, CMU, Infix Notation for Lisp, Lisp!Syntax References: ?
Last Web update on Mon Feb 13 10:30:43 1995
AI.Repository@cs.cmu.edu