File: test.lisp.html

package info (click to toggle)
source-highlight 3.1.8-1.2~deb9u1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 10,224 kB
  • sloc: sh: 11,709; cpp: 10,226; ansic: 9,521; makefile: 1,902; lex: 1,200; yacc: 1,021; php: 213; perl: 211; awk: 98; erlang: 94; lisp: 90; java: 75; ruby: 69; python: 61; asm: 43; ada: 36; ml: 29; haskell: 27; xml: 23; cs: 11; sql: 8; tcl: 7; sed: 4
file content (45 lines) | stat: -rw-r--r-- 3,681 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!-- Generator: GNU source-highlight 
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><i><font color="#9A1900">;;;; Test file for Lisp</font></i>
<i><font color="#9A1900">;;;; A simple test file</font></i>

<font color="#FF0000">(</font><b><font color="#0000FF">defpackage</font></b> <b><font color="#000080">:foobar</font></b> <font color="#FF0000">(</font><b><font color="#000080">:use</font></b> <b><font color="#000080">:common-lisp-user</font></b> <b><font color="#000080">:common-lisp</font></b><font color="#FF0000">))</font>
  
<font color="#FF0000">(</font><b><font color="#0000FF">in-package</font></b> <b><font color="#000080">:foobar</font></b><font color="#FF0000">)</font>
<font color="#FF0000">(</font>export '<font color="#FF0000">(</font>new-obj mapobj parent call-if-exists ?call
	  call super super-if-exists ?super slot-val
	  slot-obj mset meth meth-func func-meth
	  this meth-owner meth-name
	  set-original-slot <font color="#009900">*foo-version*</font>
	  <font color="#009900">*print-foo-objects-verbosely*</font><font color="#FF0000">))</font>

<font color="#FF0000">(</font><b><font color="#0000FF">defconstant</font></b> <font color="#009900">*foobar-version*</font> <font color="#993399">3</font> <font color="#FF0000">"Foobar's Version Number"</font><font color="#FF0000">)</font>

<font color="#FF0000">(</font><b><font color="#0000FF">defparameter</font></b> <font color="#009900">*print-foobar-objects-verbosely*</font> nil<font color="#FF0000">)</font>

<font color="#FF0000">(</font><b><font color="#0000FF">defmacro</font></b> definline <font color="#FF0000">(</font>name &amp;rest stuff<font color="#FF0000">)</font>
  <font color="#FF0000">"Defines a function and declares it to be inlined"</font>  <i><font color="#9A1900">;; convenient, no?</font></i>
  `<font color="#FF0000">(</font><b><font color="#0000FF">progn</font></b> <font color="#FF0000">(</font>declaim <font color="#FF0000">(</font>inline ,name<font color="#FF0000">))</font>
	  <font color="#FF0000">(</font><b><font color="#0000FF">defun</font></b> ,name ,@stuff<font color="#FF0000">)))</font>

<font color="#FF0000">(</font><b><font color="#0000FF">defstruct</font></b> <font color="#FF0000">(</font>foobar-object <font color="#FF0000">(</font><b><font color="#000080">:print-object</font></b> print-foobar-object<font color="#FF0000">))</font> slots parent<font color="#FF0000">)</font>

  <font color="#FF0000">(</font><b><font color="#0000FF">defun</font></b> mapobj <font color="#FF0000">(</font>func obj &amp;optional <font color="#FF0000">(</font>deeply nil<font color="#FF0000">))</font>
    <font color="#FF0000">"Maps FUNC over all of the slots in OBJ.  FUNC must take THREE</font>
<font color="#FF0000">arguments: (1) the object defining the slot, (2) the slot name.</font>
<font color="#FF0000">That is, only one slot</font>
<font color="#FF0000">is mapped for a given slot name.  nil is returned."</font>
    <font color="#FF0000">(</font>simple-error-check obj

<i><font color="#9A1900">;;; OTHER STUFF INSIDE A METHOD</font></i>
<i><font color="#9A1900">;;; @  macro</font></i>
<i><font color="#9A1900">;;;     Forms: @var               Expands to (slot-val 'var this)</font></i>
<i><font color="#9A1900">;;;            @(meth ... )       Expands to (call 'meth this ... )</font></i>
<i><font color="#9A1900">;;; @? macro</font></i>
<i><font color="#9A1900">;;;     Form:  @?(meth ... )      Expands to (?call 'meth this ... )</font></i>
<i><font color="#9A1900">;;; #@ macro</font></i>
<i><font color="#9A1900">;;;     Form:  #@meth             Expands to (meth-func 'meth this)</font></i>

</tt></pre>