Hex Artifact Content
Not logged in

Artifact dc242393e80db0b74692b4942ee48f91324fb574:


0000: 0d 0a 3c 68 74 6d 6c 3e 3c 68 65 61 64 3e 0d 0a  ..<html><head>..
0010: 3c 6d 65 74 61 20 68 74 74 70 2d 65 71 75 69 76  <meta http-equiv
0020: 3d 22 63 6f 6e 74 65 6e 74 2d 74 79 70 65 22 20  ="content-type" 
0030: 63 6f 6e 74 65 6e 74 3d 22 74 65 78 74 2f 68 74  content="text/ht
0040: 6d 6c 3b 20 63 68 61 72 73 65 74 3d 75 74 66 2d  ml; charset=utf-
0050: 38 22 3e 0d 0a 3c 6d 65 74 61 20 63 6f 6e 74 65  8">..<meta conte
0060: 6e 74 3d 22 74 65 78 74 2f 6a 61 76 61 73 63 72  nt="text/javascr
0070: 69 70 74 22 20 68 74 74 70 2d 65 71 75 69 76 3d  ipt" http-equiv=
0080: 22 63 6f 6e 74 65 6e 74 2d 73 63 72 69 70 74 2d  "content-script-
0090: 74 79 70 65 22 3e 0d 0a 3c 74 69 74 6c 65 3e 50  type">..<title>P
00a0: 6f 6c 65 6d 79 20 52 65 66 65 72 65 6e 63 65 20  olemy Reference 
00b0: 4d 61 6e 75 61 6c 3c 2f 74 69 74 6c 65 3e 0d 0a  Manual</title>..
00c0: 3c 6c 69 6e 6b 20 72 65 6c 3d 22 73 74 79 6c 65  <link rel="style
00d0: 73 68 65 65 74 22 20 74 79 70 65 3d 22 74 65 78  sheet" type="tex
00e0: 74 2f 63 73 73 22 20 68 72 65 66 3d 22 63 61 6e  t/css" href="can
00f0: 64 79 64 6f 63 2f 73 74 79 6c 65 2e 63 73 73 22  dydoc/style.css"
0100: 3e 0d 0a 3c 21 2d 2d 5b 69 66 20 6c 74 20 49 45  >..<!--[if lt IE
0110: 20 37 5d 3e 3c 6c 69 6e 6b 20 72 65 6c 3d 22 73   7]><link rel="s
0120: 74 79 6c 65 73 68 65 65 74 22 20 74 79 70 65 3d  tylesheet" type=
0130: 22 74 65 78 74 2f 63 73 73 22 20 68 72 65 66 3d  "text/css" href=
0140: 22 63 61 6e 64 79 64 6f 63 2f 69 65 35 36 68 61  "candydoc/ie56ha
0150: 63 6b 2e 63 73 73 22 3e 3c 21 5b 65 6e 64 69 66  ck.css"><![endif
0160: 5d 2d 2d 3e 0d 0a 3c 73 63 72 69 70 74 20 6c 61  ]-->..<script la
0170: 6e 67 75 61 67 65 3d 22 4a 61 76 61 53 63 72 69  nguage="JavaScri
0180: 70 74 22 20 73 72 63 3d 22 63 61 6e 64 79 64 6f  pt" src="candydo
0190: 63 2f 75 74 69 6c 2e 6a 73 22 20 74 79 70 65 3d  c/util.js" type=
01a0: 22 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70 74  "text/javascript
01b0: 22 3e 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c 73 63  "></script>..<sc
01c0: 72 69 70 74 20 6c 61 6e 67 75 61 67 65 3d 22 4a  ript language="J
01d0: 61 76 61 53 63 72 69 70 74 22 20 73 72 63 3d 22  avaScript" src="
01e0: 63 61 6e 64 79 64 6f 63 2f 74 72 65 65 2e 6a 73  candydoc/tree.js
01f0: 22 20 74 79 70 65 3d 22 74 65 78 74 2f 6a 61 76  " type="text/jav
0200: 61 73 63 72 69 70 74 22 3e 3c 2f 73 63 72 69 70  ascript"></scrip
0210: 74 3e 0d 0a 3c 73 63 72 69 70 74 20 6c 61 6e 67  t>..<script lang
0220: 75 61 67 65 3d 22 4a 61 76 61 53 63 72 69 70 74  uage="JavaScript
0230: 22 20 73 72 63 3d 22 63 61 6e 64 79 64 6f 63 2f  " src="candydoc/
0240: 65 78 70 6c 6f 72 65 72 2e 6a 73 22 20 74 79 70  explorer.js" typ
0250: 65 3d 22 74 65 78 74 2f 6a 61 76 61 73 63 72 69  e="text/javascri
0260: 70 74 22 3e 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c  pt"></script>..<
0270: 2f 68 65 61 64 3e 3c 62 6f 64 79 3e 0d 0a 3c 64  /head><body>..<d
0280: 69 76 20 69 64 3d 22 74 61 62 61 72 65 61 22 3e  iv id="tabarea">
0290: 3c 2f 64 69 76 3e 3c 64 69 76 20 69 64 3d 22 65  </div><div id="e
02a0: 78 70 6c 6f 72 65 72 63 6c 69 65 6e 74 22 3e 3c  xplorerclient"><
02b0: 2f 64 69 76 3e 0d 0a 3c 64 69 76 20 69 64 3d 22  /div>..<div id="
02c0: 63 6f 6e 74 65 6e 74 22 3e 3c 73 63 72 69 70 74  content"><script
02d0: 3e 65 78 70 6c 6f 72 65 72 2e 69 6e 69 74 69 61  >explorer.initia
02e0: 6c 69 7a 65 28 22 50 6f 6c 65 6d 79 20 52 65 66  lize("Polemy Ref
02f0: 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c 22 29 3b  erence Manual");
0300: 3c 2f 73 63 72 69 70 74 3e 0d 0a 09 3c 74 61 62  </script>...<tab
0310: 6c 65 20 63 6c 61 73 73 3d 22 63 6f 6e 74 65 6e  le class="conten
0320: 74 22 3e 0d 0a 09 09 3c 74 72 3e 3c 74 64 20 69  t">....<tr><td i
0330: 64 3d 22 64 6f 63 62 6f 64 79 22 3e 3c 68 31 3e  d="docbody"><h1>
0340: 50 6f 6c 65 6d 79 20 52 65 66 65 72 65 6e 63 65  Polemy Reference
0350: 20 4d 61 6e 75 61 6c 3c 2f 68 31 3e 3c 21 2d 2d   Manual</h1><!--
0360: 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 44 64   Generated by Dd
0370: 6f 63 20 66 72 6f 6d 20 69 6e 64 65 78 2e 64 64  oc from index.dd
0380: 20 2d 2d 3e 0d 0a 0d 0a 3c 62 3e 41 75 74 68 6f   -->....<b>Autho
0390: 72 73 3a 3c 2f 62 3e 3c 62 72 3e 0d 0a 6b 2e 69  rs:</b><br>..k.i
03a0: 6e 61 62 61 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  naba<br><br>..<b
03b0: 3e 4c 69 63 65 6e 73 65 3a 3c 2f 62 3e 3c 62 72  >License:</b><br
03c0: 3e 0d 0a 4e 59 53 4c 20 30 2e 39 39 38 32 20 28  >..NYSL 0.9982 (
03d0: 68 74 74 70 3a 2f 2f 77 77 77 2e 6b 6d 6f 6e 6f  http://www.kmono
03e0: 73 2e 6e 65 74 2f 6e 79 73 6c 2f 29 3c 62 72 3e  s.net/nysl/)<br>
03f0: 3c 62 72 3e 0d 0a 0d 0a 3c 70 3e 0d 0a e3 81 93  <br>....<p>.....
0400: e3 81 ae e3 83 95 e3 82 a1 e3 82 a4 e3 83 ab e3  ................
0410: 81 af e3 80 81 e8 a8 80 e8 aa 9e e4 bb 95 e6 a7  ................
0420: 98 e3 81 aa e3 81 a9 e3 81 ae e7 b0 a1 e5 8d 98  ................
0430: e3 81 aa e8 aa ac e6 98 8e e3 81 a7 e3 81 99 e3  ................
0440: 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 3e 0d 0a e3  ....</p>..<p>...
0450: 81 82 e3 81 a8 e3 81 a4 e3 81 84 e3 81 a7 e3 81  ................
0460: ab e3 80 81 e5 b7 a6 e3 81 ae e3 82 b5 e3 82 a4  ................
0470: e3 83 89 e3 83 90 e3 83 bc e3 81 ae 20 22 50 61  ............ "Pa
0480: 63 6b 61 67 65 22 20 e3 82 bf e3 83 96 e3 82 92  ckage" .........
0490: e3 82 af e3 83 aa e3 83 83 e3 82 af e3 81 99 e3  ................
04a0: 82 8b e3 81 a8 e5 ae 9f e8 a3 85 e3 81 ae e3 82  ................
04b0: bd e3 83 bc e3 82 b9 e3 81 ae e3 83 89 e3 82 ad  ................
04c0: e3 83 a5 e3 83 a1 e3 83 b3 e3 83 88 e3 81 8c e8  ................
04d0: aa ad e3 82 81 e3 81 be e3 81 99 e3 80 82 0d 0a  ................
04e0: 3c 2f 70 3e 0d 0a 0d 0a 0d 0a 3c 73 63 72 69 70  </p>......<scrip
04f0: 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69  t>explorer.outli
0500: 6e 65 2e 69 6e 63 53 79 6d 62 6f 6c 4c 65 76 65  ne.incSymbolLeve
0510: 6c 28 29 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c  l();</script>..<
0520: 64 6c 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70  dl>..<script>exp
0530: 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77 72  lorer.outline.wr
0540: 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 74 72 75  iteEnabled = tru
0550: 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c 64 74  e;</script>..<dt
0560: 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 64 65  ><span class="de
0570: 63 6c 22 3e 0d 0a 3c 73 70 61 6e 20 63 6c 61 73  cl">..<span clas
0580: 73 3d 22 63 75 72 72 73 79 6d 62 6f 6c 22 3e 53  s="currsymbol">S
0590: 79 6e 74 61 78 3c 2f 73 70 61 6e 3e 0d 0a 3c 73  yntax</span>..<s
05a0: 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f  cript>explorer.o
05b0: 75 74 6c 69 6e 65 2e 61 64 64 44 65 63 6c 28 27  utline.addDecl('
05c0: 53 79 6e 74 61 78 27 29 3b 3c 2f 73 63 72 69 70  Syntax');</scrip
05d0: 74 3e 0d 0a 0d 0a 3c 2f 73 70 61 6e 3e 3c 2f 64  t>....</span></d
05e0: 74 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c  t>..<script>expl
05f0: 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77 72 69  orer.outline.wri
0600: 74 65 45 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73  teEnabled = fals
0610: 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 20  e;</script>.... 
0620: 3c 64 64 3e 3c 70 3e 0d 0a e6 96 87 e6 b3 95 e3  <dd><p>.........
0630: 81 ab e3 81 a4 e3 81 84 e3 81 a6 e3 80 82 0d 0a  ................
0640: e5 ad 97 e5 8f a5 e8 a7 a3 e6 9e 90 e3 81 8c e3  ................
0650: 82 8f e3 82 8a e3 81 a8 e9 81 a9 e5 bd 93 e3 81  ................
0660: aa e3 81 ae e3 81 a7 e3 80 81 0d 0a e5 a4 89 e6  ................
0670: 95 b0 e5 ae a3 e8 a8 80 e3 81 ae e5 a4 89 e6 95  ................
0680: b0 e5 90 8d e3 81 ae e3 81 a8 e3 81 93 e3 82 8d  ................
0690: e3 81 ab e3 80 81 e6 95 b0 e5 ad 97 e3 82 92 e5  ................
06a0: a4 89 e6 95 b0 e5 90 8d e3 81 a8 e3 81 97 e3 81  ................
06b0: a6 e4 bd bf e3 81 88 e3 81 a6 e5 8f 82 e7 85 a7  ................
06c0: e3 81 a7 e3 81 8d e3 81 aa e3 81 84 e5 a4 89 e6  ................
06d0: 95 b0 e3 81 8c e4 bd 9c e3 82 8c e3 81 9f e3 82  ................
06e0: 8a e3 80 81 0d 0a e4 ba 88 e7 b4 84 e8 aa 9e e3  ................
06f0: 81 af e4 ba 88 e7 b4 84 e8 aa 9e e3 81 a8 e3 81  ................
0700: 97 e3 81 a6 e8 a7 a3 e9 87 88 e3 81 95 e3 82 8c  ................
0710: e5 be 97 e3 81 aa e3 81 84 e3 81 a8 e3 81 93 e3  ................
0720: 82 8d e3 81 a7 e3 81 af e6 99 ae e9 80 9a e3 81  ................
0730: ab e5 a4 89 e6 95 b0 e5 90 8d e3 81 a8 e3 81 97  ................
0740: e3 81 a6 e4 bd bf e3 81 88 e3 81 a1 e3 82 83 e3  ................
0750: 81 a3 e3 81 9f e3 82 8a e3 81 97 e3 81 a6 e3 80  ................
0760: 81 0d 0a e5 81 b6 e3 81 ab e3 81 a8 e3 82 93 e3  ................
0770: 81 a7 e3 82 82 e3 81 aa e3 81 84 e8 a6 8b e3 81  ................
0780: 8b e3 81 91 e3 81 ae e3 82 bd e3 83 bc e3 82 b9  ................
0790: e3 81 8c e6 a7 8b e6 96 87 e8 a7 a3 e6 9e 90 e9  ................
07a0: 80 9a e3 82 8a e3 81 be e3 81 99 e3 81 8c e3 80  ................
07b0: 81 e6 b0 97 e3 81 ab e3 81 97 e3 81 aa e3 81 84  ................
07c0: e3 81 a7 e9 81 a9 e5 bd 93 e3 81 ab e4 bd bf e3  ................
07d0: 81 a3 e3 81 a6 e4 b8 8b e3 81 95 e3 81 84 e3 80  ................
07e0: 82 0d 0a 3c 2f 70 3e 0d 0a 0d 0a 0d 0a 3c 73 63  ...</p>......<sc
07f0: 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75  ript>explorer.ou
0800: 74 6c 69 6e 65 2e 69 6e 63 53 79 6d 62 6f 6c 4c  tline.incSymbolL
0810: 65 76 65 6c 28 29 3b 3c 2f 73 63 72 69 70 74 3e  evel();</script>
0820: 0d 0a 3c 64 6c 3e 0d 0a 3c 73 63 72 69 70 74 3e  ..<dl>..<script>
0830: 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65  explorer.outline
0840: 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20  .writeEnabled = 
0850: 74 72 75 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a  true;</script>..
0860: 3c 64 74 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d  <dt><span class=
0870: 22 64 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e 20 63  "decl">..<span c
0880: 6c 61 73 73 3d 22 63 75 72 72 73 79 6d 62 6f 6c  lass="currsymbol
0890: 22 3e e6 96 87 e5 ad 97 e3 82 b3 e3 83 bc e3 83  ">..............
08a0: 89 3c 2f 73 70 61 6e 3e 0d 0a 3c 73 63 72 69 70  .</span>..<scrip
08b0: 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69  t>explorer.outli
08c0: 6e 65 2e 61 64 64 44 65 63 6c 28 27 e6 96 87 e5  ne.addDecl('....
08d0: ad 97 e3 82 b3 e3 83 bc e3 83 89 27 29 3b 3c 2f  ...........');</
08e0: 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61  script>....</spa
08f0: 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74  n></dt>..<script
0900: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
0910: 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d  e.writeEnabled =
0920: 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e   false;</script>
0930: 0d 0a 0d 0a 20 3c 64 64 3e 3c 70 3e 0d 0a 55 54  .... <dd><p>..UT
0940: 46 2d 38 20 e3 81 ae e3 81 bf e5 af be e5 bf 9c  F-8 ............
0950: e3 81 a7 e3 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d  ...........</p>.
0960: 0a 3c 2f 64 64 3e 0d 0a 0d 0a 0d 0a 3c 73 63 72  .</dd>......<scr
0970: 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74  ipt>explorer.out
0980: 6c 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65  line.writeEnable
0990: 64 20 3d 20 74 72 75 65 3b 3c 2f 73 63 72 69 70  d = true;</scrip
09a0: 74 3e 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20 63 6c  t>..<dt><span cl
09b0: 61 73 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73 70  ass="decl">..<sp
09c0: 61 6e 20 63 6c 61 73 73 3d 22 63 75 72 72 73 79  an class="currsy
09d0: 6d 62 6f 6c 22 3e e3 82 b3 e3 83 a1 e3 83 b3 e3  mbol">..........
09e0: 83 88 3c 2f 73 70 61 6e 3e 0d 0a 3c 73 63 72 69  ..</span>..<scri
09f0: 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c  pt>explorer.outl
0a00: 69 6e 65 2e 61 64 64 44 65 63 6c 28 27 e3 82 b3  ine.addDecl('...
0a10: e3 83 a1 e3 83 b3 e3 83 88 27 29 3b 3c 2f 73 63  .........');</sc
0a20: 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61 6e 3e  ript>....</span>
0a30: 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74 3e 65  </dt>..<script>e
0a40: 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e  xplorer.outline.
0a50: 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 66  writeEnabled = f
0a60: 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a  alse;</script>..
0a70: 0d 0a 20 3c 64 64 3e 3c 70 3e 0d 0a e8 a1 8c e3  .. <dd><p>......
0a80: 82 b3 e3 83 a1 e3 83 b3 e3 83 88 e3 81 af 20 3c  .............. <
0a90: 74 74 3e 23 3c 2f 74 74 3e 20 e3 81 8b e3 82 89  tt>#</tt> ......
0aa0: e6 94 b9 e8 a1 8c e3 81 be e3 81 a7 e3 81 a7 e3  ................
0ab0: 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 3e  .......</p>..<p>
0ac0: 0d 0a e3 83 96 e3 83 ad e3 83 83 e3 82 af e3 82  ................
0ad0: b3 e3 83 a1 e3 83 b3 e3 83 88 e3 81 af e3 81 82  ................
0ae0: e3 82 8a e3 81 be e3 81 9b e3 82 93 e3 80 82 0d  ................
0af0: 0a 3c 2f 70 3e 0d 0a 3c 2f 64 64 3e 0d 0a 0d 0a  .</p>..</dd>....
0b00: 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f 72  ..<script>explor
0b10: 65 72 2e 6f 75 74 6c 69 6e 65 2e 77 72 69 74 65  er.outline.write
0b20: 45 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 3c  Enabled = true;<
0b30: 2f 73 63 72 69 70 74 3e 0d 0a 3c 64 74 3e 3c 73  /script>..<dt><s
0b40: 70 61 6e 20 63 6c 61 73 73 3d 22 64 65 63 6c 22  pan class="decl"
0b50: 3e 0d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22  >..<span class="
0b60: 63 75 72 72 73 79 6d 62 6f 6c 22 3e 42 4e 46 3c  currsymbol">BNF<
0b70: 2f 73 70 61 6e 3e 0d 0a 3c 73 63 72 69 70 74 3e  /span>..<script>
0b80: 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65  explorer.outline
0b90: 2e 61 64 64 44 65 63 6c 28 27 42 4e 46 27 29 3b  .addDecl('BNF');
0ba0: 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73  </script>....</s
0bb0: 70 61 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69  pan></dt>..<scri
0bc0: 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c  pt>explorer.outl
0bd0: 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64  ine.writeEnabled
0be0: 20 3d 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70   = false;</scrip
0bf0: 74 3e 0d 0a 0d 0a 20 3c 64 64 3e 3c 70 72 65 3e  t>.... <dd><pre>
0c00: 0d 0a 20 49 44 20 20 20 20 3a 3a 3d 20 e9 81 a9  .. ID    ::= ...
0c10: e5 bd 93 e3 81 ab e8 ad 98 e5 88 a5 e5 ad 90 e3  ................
0c20: 81 a3 e3 81 bd e3 81 84 e6 96 87 e5 ad 97 e5 88  ................
0c30: 97 0d 0a 20 4c 41 59 45 52 20 3a 3a 3d 20 22 40  ... LAYER ::= "@
0c40: 22 20 49 44 0d 0a 0d 0a 20 45 20 3a 3a 3d 0d 0a  " ID.... E ::=..
0c50: 20 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67     <font color=g
0c60: 72 65 65 6e 3e 23 20 e5 a4 89 e6 95 b0 e5 ae a3  reen># .........
0c70: e8 a8 80 3c 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20  ...</font>..    
0c80: 20 7c 20 44 45 43 4c 20 22 3d 22 20 45 20 28 22   | DECL "=" E ("
0c90: 3b 22 7c 22 69 6e 22 29 20 45 0d 0a 20 20 20 20  ;"|"in") E..    
0ca0: 20 7c 20 44 45 43 4c 20 22 28 22 20 50 41 52 41   | DECL "(" PARA
0cb0: 4d 53 20 22 29 22 20 22 7b 22 20 45 20 22 7d 22  MS ")" "{" E "}"
0cc0: 20 28 22 3b 22 7c 22 69 6e 22 29 20 45 0d 0a 20   (";"|"in") E.. 
0cd0: 20 20 20 20 7c 20 44 45 43 4c 20 22 3d 22 20 45      | DECL "=" E
0ce0: 0d 0a 20 20 20 20 20 7c 20 44 45 43 4c 20 22 28  ..     | DECL "(
0cf0: 22 20 50 41 52 41 4d 53 20 22 29 22 20 22 7b 22  " PARAMS ")" "{"
0d00: 20 45 20 22 7d 22 0d 0a 0d 0a 20 20 20 20 20 20   E "}"....      
0d10: 20 20 20 77 68 65 72 65 20 44 45 43 4c 20 3a 3a     where DECL ::
0d20: 3d 20 28 22 76 61 72 22 7c 22 6c 65 74 22 7c 22  = ("var"|"let"|"
0d30: 64 65 66 22 7c 4c 41 59 45 52 29 20 49 44 20 7c  def"|LAYER) ID |
0d40: 20 22 40 22 20 4c 41 59 45 52 0d 0a 0d 0a 20 20   "@" LAYER....  
0d50: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72 65   <font color=gre
0d60: 65 6e 3e 23 20 e3 83 aa e3 83 86 e3 83 a9 e3 83  en># ...........
0d70: ab 3c 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 20 7c  .</font>..     |
0d80: 20 49 4e 54 45 47 45 52 20 20 20 20 20 20 20 20   INTEGER        
0d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0da0: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72 65 65  <font color=gree
0db0: 6e 3e 23 20 e9 9d 9e e8 b2 a0 e6 95 b4 e6 95 b0  n># ............
0dc0: 3c 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 20 7c 20  </font>..     | 
0dd0: 53 54 52 49 4e 47 20 20 20 20 20 20 20 20 20 20  STRING          
0de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c                 <
0df0: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72 65 65 6e  font color=green
0e00: 3e 23 20 22 22 20 e3 81 a7 e3 81 8f e3 81 8f e3  ># "" ..........
0e10: 81 a3 e3 81 9f e6 96 87 e5 ad 97 e5 88 97 e3 80  ................
0e20: 82 5c 22 20 e3 81 a8 20 5c 5c 20 e3 81 af e4 bd  .\" ... \\ .....
0e30: bf e3 81 88 e3 82 8b 3c 2f 66 6f 6e 74 3e 0d 0a  .......</font>..
0e40: 20 20 20 20 20 7c 20 22 7b 22 20 45 4e 54 52 59       | "{" ENTRY
0e50: 53 20 22 7d 22 20 20 20 20 20 20 20 20 20 20 20  S "}"           
0e60: 20 20 20 20 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f        <font colo
0e70: 72 3d 67 72 65 65 6e 3e 23 20 e3 83 86 e3 83 bc  r=green># ......
0e80: e3 83 96 e3 83 ab 3c 2f 66 6f 6e 74 3e 0d 0a 20  ......</font>.. 
0e90: 20 20 20 20 7c 20 22 66 75 6e 22 20 22 28 22 20      | "fun" "(" 
0ea0: 50 41 52 41 4d 53 20 22 29 22 20 22 7b 22 20 45  PARAMS ")" "{" E
0eb0: 20 22 7d 22 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72   "}" <font color
0ec0: 3d 67 72 65 65 6e 3e 23 20 e7 84 a1 e5 90 8d e9  =green># .......
0ed0: 96 a2 e6 95 b0 3c 2f 66 6f 6e 74 3e 0d 0a 20 20  .....</font>..  
0ee0: 20 20 20 7c 20 20 22 ce bb 22 20 22 28 22 20 50     |  ".." "(" P
0ef0: 41 52 41 4d 53 20 22 29 22 20 22 7b 22 20 45 20  ARAMS ")" "{" E 
0f00: 22 7d 22 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d  "}" <font color=
0f10: 67 72 65 65 6e 3e 23 20 e7 84 a1 e5 90 8d e9 96  green># ........
0f20: a2 e6 95 b0 3c 2f 66 6f 6e 74 3e 0d 0a 0d 0a 20  ....</font>.... 
0f30: 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72    <font color=gr
0f40: 65 65 6e 3e 23 20 e9 96 a2 e6 95 b0 e5 91 bc e3  een># ..........
0f50: 81 b3 e5 87 ba e3 81 97 3c 2f 66 6f 6e 74 3e 0d  ........</font>.
0f60: 0a 20 20 20 20 20 7c 20 45 20 22 28 22 20 41 52  .     | E "(" AR
0f70: 47 53 22 29 22 0d 0a 0d 0a 20 20 20 20 20 20 20  GS")"....       
0f80: 20 20 77 68 65 72 65 20 20 20 20 41 52 47 53 20    where    ARGS 
0f90: 3a 3a 3d 20 45 20 22 2c 22 20 2e 2e 2e 20 22 2c  ::= E "," ... ",
0fa0: 22 20 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20  " E..           
0fb0: 20 20 20 20 20 50 41 52 41 4d 53 20 3a 3a 3d 20       PARAMS ::= 
0fc0: 28 49 44 7c 4c 41 59 45 52 29 2b 20 22 2c 22 20  (ID|LAYER)+ "," 
0fd0: 2e 2e 2e 20 22 2c 22 20 28 49 44 7c 4c 41 59 45  ... "," (ID|LAYE
0fe0: 52 29 2b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  R)+..           
0ff0: 20 20 20 20 20 45 4e 54 52 59 53 20 3a 3a 3d 20       ENTRYS ::= 
1000: 49 44 20 22 3a 22 20 45 20 20 20 20 22 2c 22 20  ID ":" E    "," 
1010: 2e 2e 2e 20 22 2c 22 20 49 44 20 22 3a 22 20 45  ... "," ID ":" E
1020: 0d 0a 0d 0a 20 20 20 3c 66 6f 6e 74 20 63 6f 6c  ....   <font col
1030: 6f 72 3d 67 72 65 65 6e 3e 23 20 e6 bc 94 e7 ae  or=green># .....
1040: 97 e5 ad 90 e3 81 aa e3 81 a9 3c 2f 66 6f 6e 74  ..........</font
1050: 3e 0d 0a 20 20 20 20 20 7c 20 22 28 22 20 45 20  >..     | "(" E 
1060: 22 29 22 20 20 20 20 20 20 20 20 20 20 20 20 20  ")"             
1070: 20 20 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d      <font color=
1080: 67 72 65 65 6e 3e 23 20 e3 81 9f e3 81 a0 e3 81  green># ........
1090: ae e6 8b ac e5 bc a7 3c 2f 66 6f 6e 74 3e 0d 0a  .......</font>..
10a0: 20 20 20 20 20 7c 20 22 2e 2e 2e 22 20 20 20 20       | "..."    
10b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
10c0: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72 65   <font color=gre
10d0: 65 6e 3e 23 20 e3 81 93 e3 82 8c e3 82 92 e5 ae  en># ...........
10e0: 9f e8 a1 8c e3 81 99 e3 82 8b e3 81 a8 64 69 65  .............die
10f0: 3c 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 20 7c 20  </font>..     | 
1100: 45 20 42 49 4e 4f 50 20 45 20 20 20 20 20 20 20  E BINOP E       
1110: 20 20 20 20 20 20 20 20 20 20 3c 66 6f 6e 74 20            <font 
1120: 63 6f 6c 6f 72 3d 67 72 65 65 6e 3e 23 20 e4 ba  color=green># ..
1130: 8c e9 a0 85 e6 bc 94 e7 ae 97 e5 ad 90 e3 81 84  ................
1140: e3 82 8d e3 81 84 e3 82 8d 3c 2f 66 6f 6e 74 3e  .........</font>
1150: 0d 0a 20 20 20 20 20 7c 20 45 20 22 2e 22 20 20  ..     | E "."  
1160: 49 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ID              
1170: 20 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67     <font color=g
1180: 72 65 65 6e 3e 23 20 e3 83 86 e3 83 bc e3 83 96  reen># .........
1190: e3 83 ab e3 81 ae e3 83 95 e3 82 a3 e3 83 bc e3  ................
11a0: 83 ab e3 83 89 e3 82 a2 e3 82 af e3 82 bb e3 82  ................
11b0: b9 3c 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 20 7c  .</font>..     |
11c0: 20 45 20 22 2e 3f 22 20 49 44 20 20 20 20 20 20   E ".?" ID      
11d0: 20 20 20 20 20 20 20 20 20 20 20 3c 66 6f 6e 74             <font
11e0: 20 63 6f 6c 6f 72 3d 67 72 65 65 6e 3e 23 20 e3   color=green># .
11f0: 83 86 e3 83 bc e3 83 96 e3 83 ab e3 81 ab e3 83  ................
1200: 95 e3 82 a3 e3 83 bc e3 83 ab e3 83 89 e3 81 8c  ................
1210: e3 81 82 e3 82 8b e3 81 8b e5 90 a6 e3 81 8b 3c  ...............<
1220: 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 20 7c 20 45  /font>..     | E
1230: 20 22 7b 22 20 45 4e 54 52 59 53 20 22 7d 22 20   "{" ENTRYS "}" 
1240: 20 20 20 20 20 20 20 20 20 3c 66 6f 6e 74 20 63           <font c
1250: 6f 6c 6f 72 3d 67 72 65 65 6e 3e 23 20 e3 83 86  olor=green># ...
1260: e3 83 bc e3 83 96 e3 83 ab e6 8b a1 e5 bc b5 3c  ...............<
1270: 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 20 7c 20 22  /font>..     | "
1280: 69 66 22 20 45 20 28 22 74 68 65 6e 22 7c 22 3a  if" E ("then"|":
1290: 22 7c 22 74 68 65 6e 22 20 22 3a 22 29 20 45 0d  "|"then" ":") E.
12a0: 0a 20 20 20 20 20 7c 20 22 69 66 22 20 45 20 28  .     | "if" E (
12b0: 22 74 68 65 6e 22 7c 22 3a 22 7c 22 74 68 65 6e  "then"|":"|"then
12c0: 22 20 22 3a 22 29 20 45 20 22 65 6c 73 65 22 20  " ":") E "else" 
12d0: 22 3a 22 3f 20 45 0d 0a 0d 0a 20 20 20 3c 66 6f  ":"? E....   <fo
12e0: 6e 74 20 63 6f 6c 6f 72 3d 67 72 65 65 6e 3e 23  nt color=green>#
12f0: 20 e3 83 91 e3 82 bf e3 83 bc e3 83 b3 e3 83 9e   ...............
1300: e3 83 83 e3 83 81 3c 2f 66 6f 6e 74 3e 0d 0a 20  ......</font>.. 
1310: 20 20 20 20 7c 20 22 63 61 73 65 22 20 45 20 28      | "case" E (
1320: 22 77 68 65 6e 22 20 50 41 54 54 45 52 4e 20 22  "when" PATTERN "
1330: 3a 22 20 45 20 29 2a 20 0d 0a 0d 0a 20 20 20 20  :" E )* ....    
1340: 20 20 20 20 20 77 68 65 72 65 20 50 41 54 54 45       where PATTE
1350: 52 4e 20 3a 3a 3d 20 e5 bc 8f e3 81 8c e3 81 a0  RN ::= .........
1360: e3 81 84 e3 81 9f e3 81 84 e3 81 aa e3 82 93 e3  ................
1370: 81 a7 e3 82 82 e6 9b b8 e3 81 91 e3 82 8b e6 b0  ................
1380: 97 e3 81 8c e3 81 99 e3 82 8b 0d 0a 0d 0a 20 20  ..............  
1390: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72 65   <font color=gre
13a0: 65 6e 3e 23 20 e3 83 ac e3 82 a4 e3 83 a4 e6 8c  en># ...........
13b0: 87 e5 ae 9a e5 ae 9f e8 a1 8c 3c 2f 66 6f 6e 74  ..........</font
13c0: 3e 0d 0a 20 20 20 20 20 7c 20 4c 41 59 45 52 20  >..     | LAYER 
13d0: 22 28 22 20 45 20 22 29 22 0d 0a 3c 2f 70 72 65  "(" E ")"..</pre
13e0: 3e 0d 0a 3c 2f 64 64 3e 0d 0a 0d 0a 0d 0a 3c 73  >..</dd>......<s
13f0: 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f  cript>explorer.o
1400: 75 74 6c 69 6e 65 2e 77 72 69 74 65 45 6e 61 62  utline.writeEnab
1410: 6c 65 64 20 3d 20 74 72 75 65 3b 3c 2f 73 63 72  led = true;</scr
1420: 69 70 74 3e 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20  ipt>..<dt><span 
1430: 63 6c 61 73 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c  class="decl">..<
1440: 73 70 61 6e 20 63 6c 61 73 73 3d 22 63 75 72 72  span class="curr
1450: 73 79 6d 62 6f 6c 22 3e e7 b3 96 e8 a1 a3 e6 a7  symbol">........
1460: 8b e6 96 87 3c 2f 73 70 61 6e 3e 0d 0a 3c 73 63  ....</span>..<sc
1470: 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75  ript>explorer.ou
1480: 74 6c 69 6e 65 2e 61 64 64 44 65 63 6c 28 27 e7  tline.addDecl('.
1490: b3 96 e8 a1 a3 e6 a7 8b e6 96 87 27 29 3b 3c 2f  ...........');</
14a0: 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61  script>....</spa
14b0: 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74  n></dt>..<script
14c0: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
14d0: 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d  e.writeEnabled =
14e0: 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e   false;</script>
14f0: 0d 0a 0d 0a 20 3c 64 64 3e 3c 70 3e 0d 0a e6 bc  .... <dd><p>....
1500: 94 e7 ae 97 e5 ad 90 e3 81 a8 e3 81 84 e3 81 86  ................
1510: e3 82 82 e3 81 ae e3 81 af e3 81 82 e3 82 8a e3  ................
1520: 81 be e3 81 9b e3 82 93 e3 80 82 e5 86 85 e9 83  ................
1530: a8 e7 9a 84 e3 81 ab e3 81 af e5 85 a8 e3 81 a6  ................
1540: e9 96 a2 e6 95 b0 e5 91 bc e3 81 b3 e5 87 ba e3  ................
1550: 81 97 e6 a7 8b e6 96 87 e3 81 ab e6 9b b8 e3 81  ................
1560: 8d e6 8f 9b e3 81 88 e3 82 89 e3 82 8c e3 81 a6  ................
1570: e3 81 84 e3 81 be e3 81 99 e3 80 82 3c 74 74 3e  ............<tt>
1580: 69 66 3c 2f 74 74 3e 20 e3 82 82 e3 81 a7 e3 81  if</tt> ........
1590: 99 e3 80 82 0d 0a 3c 62 72 2f 3e 0d 0a e3 83 91  ......<br/>.....
15a0: e3 82 bf e3 83 bc e3 83 b3 e3 83 9e e3 83 83 e3  ................
15b0: 83 81 e3 82 82 e5 85 a8 e9 83 a8 20 3c 74 74 3e  ........... <tt>
15c0: 69 66 3c 2f 74 74 3e 20 e3 81 a8 20 3c 74 74 3e  if</tt> ... <tt>
15d0: 3d 3d 3c 2f 74 74 3e 20 e3 81 a8 20 3c 74 74 3e  ==</tt> ... <tt>
15e0: 26 61 6d 70 3b 26 61 6d 70 3b 3c 2f 74 74 3e 20  &amp;&amp;</tt> 
15f0: e3 81 a8 0d 0a 3c 74 74 3e 2e 3c 2f 74 74 3e 20  .....<tt>.</tt> 
1600: e3 81 a8 20 3c 74 74 3e 2e 3f 3c 2f 74 74 3e 20  ... <tt>.?</tt> 
1610: e3 82 92 e4 bd bf e3 81 a3 e3 81 9f e9 96 a2 e6  ................
1620: 95 b0 e5 91 bc e3 81 b3 e5 87 ba e3 81 97 e5 bc  ................
1630: 8f e3 81 ab e6 9b b8 e3 81 8d e6 8f 9b e3 81 88  ................
1640: e3 82 89 e3 82 8c e3 81 a6 e3 81 84 e3 81 be e3  ................
1650: 81 99 e3 81 8c e3 80 81 0d 0a e8 a6 8f e5 89 87  ................
1660: e3 81 ae e8 a9 b3 e7 b4 b0 e3 82 92 e8 aa ac e6  ................
1670: 98 8e e3 81 99 e3 82 8b e3 81 ae e3 81 8c e9 9d  ................
1680: a2 e5 80 92 e3 81 aa e3 81 ae e3 81 a7 e9 81 a9  ................
1690: e5 bd 93 e3 81 ab e6 83 b3 e5 83 8f e3 81 97 e3  ................
16a0: 81 a6 e4 b8 8b e3 81 95 e3 81 84 e3 80 82 0d 0a  ................
16b0: e4 bb 96 e3 81 ae e6 9b b8 e3 81 8d e6 8f 9b e3  ................
16c0: 81 88 e3 81 af e3 81 93 e3 82 93 e3 81 aa e6 84  ................
16d0: 9f e3 81 98 e3 81 a7 e3 81 99 e3 80 82 0d 0a 3c  ...............<
16e0: 2f 70 3e 0d 0a 3c 70 72 65 3e 0d 0a 20 20 20 20  /p>..<pre>..    
16f0: 69 66 20 45 20 74 68 65 6e 20 45 20 20 20 20 20  if E then E     
1700: 20 20 20 20 e2 87 92 20 69 66 28 20 45 2c 20 66      ... if( E, f
1710: 75 6e 28 29 7b 45 7d 2c 20 66 75 6e 28 29 7b 7d  un(){E}, fun(){}
1720: 20 29 0d 0a 20 20 20 20 69 66 20 45 20 74 68 65   )..    if E the
1730: 6e 20 45 20 65 6c 73 65 20 45 20 20 e2 87 92 20  n E else E  ... 
1740: 69 66 28 20 45 2c 20 66 75 6e 28 29 7b 45 7d 2c  if( E, fun(){E},
1750: 20 66 75 6e 28 29 7b 45 7d 20 29 0d 0a 20 20 20   fun(){E} )..   
1760: 20 45 20 42 49 4e 4f 50 20 45 20 20 20 20 20 20   E BINOP E      
1770: 20 20 20 20 20 e2 87 92 20 42 49 4e 4f 50 28 45       ... BINOP(E
1780: 2c 20 45 29 0d 0a 20 20 20 20 7b 20 45 4e 54 52  , E)..    { ENTR
1790: 49 45 53 20 7d 20 20 20 20 20 20 20 20 20 e2 87  IES }         ..
17a0: 92 20 7b 7d 7b 20 45 4e 54 52 49 45 53 20 7d 0d  . {}{ ENTRIES }.
17b0: 0a 20 20 20 20 7b 7d 20 20 20 20 20 20 20 20 20  .    {}         
17c0: 20 20 20 20 20 20 20 20 20 e2 87 92 20 7b 7d 28           ... {}(
17d0: 29 0d 0a 20 20 20 20 45 20 7b 49 44 3a 45 2c 20  )..    E {ID:E, 
17e0: 2e 2e 2e 7d 20 20 20 20 20 20 20 e2 87 92 20 2e  ...}       ... .
17f0: 3d 28 45 2c 20 49 44 2c 20 45 29 20 7b 20 2e 2e  =(E, ID, E) { ..
1800: 2e 20 7d 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 70 3e  . }..</pre>..<p>
1810: 0d 0a e5 a4 89 e6 95 b0 e5 ae a3 e8 a8 80 e3 81  ................
1820: ab e8 89 b2 e3 80 85 e3 81 82 e3 82 8a e3 81 be  ................
1830: e3 81 99 e3 81 8c e3 80 81 3c 74 74 3e 6c 65 74  .........<tt>let
1840: 3c 2f 74 74 3e 20 e3 81 a8 20 3c 74 74 3e 76 61  </tt> ... <tt>va
1850: 72 3c 2f 74 74 3e 20 e3 81 a8 20 3c 74 74 3e 64  r</tt> ... <tt>d
1860: 65 66 3c 2f 74 74 3e 20 e3 81 af e5 90 8c e3 81  ef</tt> ........
1870: 98 e6 89 b1 e3 81 84 e3 81 a7 e3 80 81 0d 0a 3c  ...............<
1880: 74 74 3e 69 6e 3c 2f 74 74 3e 20 e3 81 a8 20 3c  tt>in</tt> ... <
1890: 74 74 3e 3b 3c 2f 74 74 3e 20 e3 81 af e5 90 8c  tt>;</tt> ......
18a0: e3 81 98 e6 89 b1 e3 81 84 e3 81 a7 e3 81 99 e3  ................
18b0: 80 82 e3 81 a4 e3 81 be e3 82 8a 0d 0a 3c 2f 70  .............</p
18c0: 3e 0d 0a 3c 70 72 65 3e 0d 0a 20 20 20 6c 65 74  >..<pre>..   let
18d0: 20 78 20 3d 20 45 20 69 6e 20 45 0d 0a 20 20 20   x = E in E..   
18e0: 76 61 72 20 78 20 3d 20 45 20 69 6e 20 45 0d 0a  var x = E in E..
18f0: 20 20 20 64 65 66 20 78 20 3d 20 45 20 69 6e 20     def x = E in 
1900: 45 0d 0a 20 20 20 6c 65 74 20 78 20 3d 20 45 20  E..   let x = E 
1910: 3b 20 45 0d 0a 20 20 20 76 61 72 20 78 20 3d 20  ; E..   var x = 
1920: 45 20 3b 20 45 0d 0a 20 20 20 64 65 66 20 78 20  E ; E..   def x 
1930: 3d 20 45 20 3b 20 45 0d 0a 3c 2f 70 72 65 3e 0d  = E ; E..</pre>.
1940: 0a 3c 70 3e 0d 0a e4 bb a5 e4 b8 8a e3 81 ae e3  .<p>............
1950: 81 a9 e3 82 8c e3 82 82 e5 90 8c e3 81 98 e6 84  ................
1960: 8f e5 91 b3 e3 81 aa e3 81 ae e3 81 a7 e3 80 81  ................
1970: e3 81 aa e3 82 93 e3 81 a8 e3 81 aa e3 81 8f e9  ................
1980: 96 a2 e6 95 b0 e5 9e 8b e3 81 a3 e3 81 bd e3 81  ................
1990: 8f e6 9b b8 e3 81 8d e3 81 9f e3 81 84 e6 b0 97  ................
19a0: e5 88 86 e3 81 ae e6 97 a5 e3 81 af 20 3c 74 74  ............ <tt
19b0: 3e 6c 65 74 20 69 6e 3c 2f 74 74 3e 20 e3 82 92  >let in</tt> ...
19c0: e3 80 81 0d 0a e6 89 8b e7 b6 9a e3 81 8d e5 9e  ................
19d0: 8b e3 81 a3 e3 81 bd e3 81 8f e6 9b b8 e3 81 8d  ................
19e0: e3 81 9f e3 81 84 e6 b0 97 e5 88 86 e3 81 ae e6  ................
19f0: 97 a5 e3 81 af 20 3c 74 74 3e 76 61 72 20 3b 3c  ..... <tt>var ;<
1a00: 2f 74 74 3e 20 e3 82 92 e4 bd bf e3 81 86 e3 81  /tt> ...........
1a10: a8 e3 82 88 e3 81 84 e3 81 a8 e6 80 9d e3 81 84  ................
1a20: e3 81 be e3 81 99 e3 80 82 0d 0a 3c 74 74 3e 69  ...........<tt>i
1a30: 66 20 74 68 65 6e 20 65 6c 73 65 3c 2f 74 74 3e  f then else</tt>
1a40: 20 e3 82 82 e5 be ae e5 a6 99 e3 81 ab e3 82 b3   ...............
1a50: e3 83 ad e3 83 b3 e3 81 8c e3 81 82 e3 81 a3 e3  ................
1a60: 81 9f e3 82 8a e3 81 aa e3 81 8b e3 81 a3 e3 81  ................
1a70: 9f e3 82 8a e3 83 90 e3 83 aa e3 82 a8 e3 83 bc  ................
1a80: e3 82 b7 e3 83 a7 e3 83 b3 e3 81 8c e3 81 82 e3  ................
1a90: 82 8a e3 81 be e3 81 99 e3 81 8c e5 a5 bd e3 81  ................
1aa0: bf e3 81 a7 e4 bd bf e3 81 84 e3 81 be e3 81 99  ................
1ab0: e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 3e 0d 0a  .....</p>..<p>..
1ac0: e9 96 a2 e6 95 b0 e3 82 92 e5 ae a3 e8 a8 80 e3  ................
1ad0: 81 99 e3 82 8b e3 81 a8 e3 81 8d e3 81 af e3 80  ................
1ae0: 81 3c 74 74 3e 66 75 6e 3c 2f 74 74 3e 20 e3 82  .<tt>fun</tt> ..
1af0: 84 20 3c 74 74 3e ce bb 3c 2f 74 74 3e 20 e3 82  . <tt>..</tt> ..
1b00: 92 e7 9c 81 e7 95 a5 e3 81 a7 e3 81 8d e3 81 be  ................
1b10: e3 81 99 e3 80 82 0d 0a e4 bb a5 e4 b8 8b e3 81  ................
1b20: ae e6 9b b8 e3 81 8d e6 8f 9b e3 81 88 e3 81 8c  ................
1b30: e8 a1 8c e3 82 8f e3 82 8c e3 81 be e3 81 99 e3  ................
1b40: 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e 0d  ....</p>..<pre>.
1b50: 0a 20 20 20 64 65 66 20 66 28 20 41 52 47 53 20  .   def f( ARGS 
1b60: 29 20 7b 20 45 20 7d 3b 20 45 20 20 20 e2 87 92  ) { E }; E   ...
1b70: 20 20 20 64 65 66 20 66 20 3d 20 66 75 6e 28 41     def f = fun(A
1b80: 52 47 53 29 7b 45 7d 3b 20 45 0d 0a 3c 2f 70 72  RGS){E}; E..</pr
1b90: 65 3e 0d 0a 3c 70 3e 0d 0a e4 bb 96 e3 81 ab e3  e>..<p>.........
1ba0: 80 81 e3 82 82 e3 81 a3 e3 81 a8 e6 89 8b e7 b6  ................
1bb0: 9a e3 81 8d e5 9e 8b e3 81 a3 e3 81 bd e3 81 8f  ................
1bc0: e3 81 9f e3 82 81 e3 81 ae e6 9b b8 e3 81 8d e6  ................
1bd0: 8f 9b e3 81 88 e8 89 b2 e3 80 85 0d 0a 3c 2f 70  .............</p
1be0: 3e 0d 0a 3c 70 72 65 3e 0d 0a 20 20 20 66 75 6e  >..<pre>..   fun
1bf0: 20 28 29 20 7b 20 45 3b 20 45 3b 20 45 20 20 20   () { E; E; E   
1c00: 20 20 20 7d 20 20 20 e2 87 92 20 20 20 66 75 6e     }   ...   fun
1c10: 20 28 29 20 7b 20 6c 65 74 20 5f 20 3d 20 45 20   () { let _ = E 
1c20: 69 6e 20 6c 65 74 20 5f 20 3d 20 45 20 69 6e 20  in let _ = E in 
1c30: 45 20 7d 0d 0a 20 20 20 66 75 6e 20 28 29 20 7b  E }..   fun () {
1c40: 20 76 61 72 20 78 20 3d 20 31 30 30 20 20 7d 20   var x = 100  } 
1c50: 20 20 e2 87 92 20 20 20 66 75 6e 20 28 29 20 7b    ...   fun () {
1c60: 20 76 61 72 20 78 20 3d 20 31 30 30 3b 20 78 20   var x = 100; x 
1c70: 7d 0d 0a 20 20 20 66 75 6e 20 28 29 20 7b 20 76  }..   fun () { v
1c80: 61 72 20 78 20 3d 20 31 30 30 3b 20 7d 20 20 20  ar x = 100; }   
1c90: e2 87 92 20 20 20 66 75 6e 20 28 29 20 7b 20 76  ...   fun () { v
1ca0: 61 72 20 78 20 3d 20 31 30 30 3b 20 78 20 7d 0d  ar x = 100; x }.
1cb0: 0a 20 20 20 66 75 6e 20 28 29 20 7b 20 7d 20 20  .   fun () { }  
1cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87                ..
1cd0: 92 20 20 20 66 75 6e 20 28 29 20 7b 20 22 28 65  .   fun () { "(e
1ce0: 6d 70 74 79 20 66 75 6e 63 74 69 6f 6e 20 62 6f  mpty function bo
1cf0: 64 79 29 22 20 7d 0d 0a 3c 2f 70 72 65 3e 0d 0a  dy)" }..</pre>..
1d00: 3c 70 3e 0d 0a e4 b8 ad e8 ba ab e3 81 8c e7 a9  <p>.............
1d10: ba e3 81 ae e9 96 a2 e6 95 b0 e3 81 ab e4 bd 95  ................
1d20: e3 82 92 e8 bf 94 e3 81 95 e3 81 9b e3 82 8b e3  ................
1d30: 81 8b e3 81 af e9 81 a9 e5 bd 93 e3 81 a7 e3 81  ................
1d40: 99 e3 80 82 e4 bb 8a e3 81 af e3 81 a8 e3 82 8a  ................
1d50: e3 81 82 e3 81 88 e3 81 9a e9 81 a9 e5 bd 93 e3  ................
1d60: 81 ab e6 96 87 e5 ad 97 e5 88 97 e8 bf 94 e3 81  ................
1d70: 97 e3 81 a6 e3 81 be e3 81 99 e3 80 82 0d 0a 3c  ...............<
1d80: 2f 70 3e 0d 0a 3c 2f 64 64 3e 0d 0a 0d 0a 0d 0a  /p>..</dd>......
1d90: 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72  <script>explorer
1da0: 2e 6f 75 74 6c 69 6e 65 2e 77 72 69 74 65 45 6e  .outline.writeEn
1db0: 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 3c 2f 73  abled = true;</s
1dc0: 63 72 69 70 74 3e 0d 0a 3c 64 74 3e 3c 73 70 61  cript>..<dt><spa
1dd0: 6e 20 63 6c 61 73 73 3d 22 64 65 63 6c 22 3e 0d  n class="decl">.
1de0: 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 63 75  .<span class="cu
1df0: 72 72 73 79 6d 62 6f 6c 22 3e e5 a4 89 e6 95 b0  rrsymbol">......
1e00: e3 81 ae e3 82 b9 e3 82 b3 e3 83 bc e3 83 97 e8  ................
1e10: a6 8f e5 89 87 3c 2f 73 70 61 6e 3e 0d 0a 3c 73  .....</span>..<s
1e20: 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f  cript>explorer.o
1e30: 75 74 6c 69 6e 65 2e 61 64 64 44 65 63 6c 28 27  utline.addDecl('
1e40: e5 a4 89 e6 95 b0 e3 81 ae e3 82 b9 e3 82 b3 e3  ................
1e50: 83 bc e3 83 97 e8 a6 8f e5 89 87 27 29 3b 3c 2f  ...........');</
1e60: 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61  script>....</spa
1e70: 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74  n></dt>..<script
1e80: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
1e90: 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d  e.writeEnabled =
1ea0: 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e   false;</script>
1eb0: 0d 0a 0d 0a 20 3c 64 64 3e 3c 70 3e 0d 0a e5 9f  .... <dd><p>....
1ec0: ba e6 9c ac e7 9a 84 e3 81 ab e3 81 af e3 80 81  ................
1ed0: 6c 65 74 20 e3 81 ab e3 82 88 e3 81 a3 e3 81 a6  let ............
1ee0: e5 b8 b8 e8 ad 98 e7 9a 84 e3 81 aa e6 84 9f e3  ................
1ef0: 81 98 e3 81 ab e5 a4 89 e6 95 b0 e3 81 ae e3 82  ................
1f00: b9 e3 82 b3 e3 83 bc e3 83 97 e3 81 8c e3 83 8d  ................
1f10: e3 82 b9 e3 83 88 e3 81 97 e3 81 be e3 81 99 e3  ................
1f20: 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e 0d  ....</p>..<pre>.
1f30: 0a 20 20 20 6c 65 74 20 78 3d 32 31 20 69 6e 20  .   let x=21 in 
1f40: 6c 65 74 20 78 3d 78 2b 78 20 69 6e 20 78 20 20  let x=x+x in x  
1f50: 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72    <font color=gr
1f60: 65 65 6e 3e 23 20 34 32 3c 2f 66 6f 6e 74 3e 0d  een># 42</font>.
1f70: 0a 3c 2f 70 72 65 3e 0d 0a 3c 70 3e 0d 0a e4 b8  .</pre>..<p>....
1f80: 80 e6 96 b9 e3 81 a7 e3 80 81 22 6c 65 74 20 72  .........."let r
1f90: 65 63 22 20 e3 81 ae e3 82 88 e3 81 86 e3 81 aa  ec" ............
1fa0: e7 89 b9 e5 88 a5 e3 81 aa e6 a7 8b e6 96 87 e3  ................
1fb0: 81 af e3 81 82 e3 82 8a e3 81 be e3 81 9b e3 82  ................
1fc0: 93 e3 81 8c e3 80 81 0d 0a 3c 2f 70 3e 0d 0a 3c  .........</p>..<
1fd0: 70 72 65 3e 0d 0a 20 20 20 6c 65 74 20 66 20 3d  pre>..   let f =
1fe0: 20 66 75 6e 28 78 29 20 7b 20 69 66 20 78 3d 3d   fun(x) { if x==
1ff0: 30 20 74 68 65 6e 20 31 20 65 6c 73 65 20 78 2a  0 then 1 else x*
2000: 66 28 78 2d 31 29 20 7d 20 69 6e 20 66 28 31 30  f(x-1) } in f(10
2010: 29 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67  )  <font color=g
2020: 72 65 65 6e 3e 23 20 33 36 32 38 38 30 30 3c 2f  reen># 3628800</
2030: 66 6f 6e 74 3e 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c  font>..</pre>..<
2040: 70 3e 0d 0a e5 86 8d e5 b8 b0 e7 9a 84 e3 81 aa  p>..............
2050: e9 96 a2 e6 95 b0 e5 ae 9a e7 be a9 e3 81 aa e3  ................
2060: 81 a9 e3 82 82 e3 80 81 e3 81 8a e3 81 9d e3 82  ................
2070: 89 e3 81 8f e6 84 8f e5 9b b3 e3 81 95 e3 82 8c  ................
2080: e3 81 9f e3 81 a8 e3 81 8a e3 82 8a e3 81 ab e5  ................
2090: 8b 95 e3 81 8d e3 81 be e3 81 99 e3 80 82 0d 0a  ................
20a0: e5 86 85 e9 83 a8 e3 81 ae e8 a9 b3 e7 b4 b0 e3  ................
20b0: 81 af e3 80 81 e8 ab b8 e8 88 ac e3 81 ae e4 ba  ................
20c0: 8b e6 83 85 e3 81 ab e3 82 88 e3 82 8a e3 80 81  ................
20d0: 0d 0a e3 83 9e e3 82 b8 e3 82 ab e3 83 ab e3 81  ................
20e0: a7 e7 a0 b4 e5 a3 8a e7 9a 84 e3 81 aa e3 82 b9  ................
20f0: e3 82 b3 e3 83 bc e3 83 97 e8 a6 8f e5 89 87 e3  ................
2100: 81 ab e3 81 aa e3 81 a3 e3 81 a6 e3 81 84 e3 82  ................
2110: 8b e3 81 ae e3 81 a7 e3 81 99 e3 81 8c e3 80 81  ................
2120: 0d 0a e5 90 8c e5 90 8d e3 81 ae e5 a4 89 e6 95  ................
2130: b0 e3 82 92 e6 bf 80 e3 81 97 e3 81 8f e9 87 8d  ................
2140: e3 81 ad e3 81 a6 e4 bd bf e3 81 a3 e3 81 9f e3  ................
2150: 82 8a e3 81 97 e3 81 aa e3 81 91 e3 82 8c e3 81  ................
2160: b0 e3 80 81 0d 0a e3 81 a0 e3 81 84 e3 81 9f e3  ................
2170: 81 84 e8 87 aa e7 84 b6 e3 81 aa e5 8b 95 e3 81  ................
2180: 8d e3 82 92 e3 81 99 e3 82 8b e3 81 a8 e6 80 9d  ................
2190: e3 81 84 e3 81 be e3 81 99 e3 80 81 e3 81 9f e3  ................
21a0: 81 b6 e3 82 93 e3 80 81 e3 81 af e3 81 84 e3 80  ................
21b0: 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 3e 0d 0a e3 81  ...</p>..<p>....
21c0: b2 e3 81 a8 e3 81 a4 e3 81 a0 e3 81 91 e4 b8 8d  ................
21d0: e5 8f af e6 80 9d e8 ad b0 e3 81 aa e5 8b 95 e3  ................
21e0: 81 8d e3 82 92 e3 81 99 e3 82 8b e3 81 ae e3 81  ................
21f0: af e3 80 81 e4 bb a5 e4 b8 8b e3 81 ae e3 82 b1  ................
2200: e3 83 bc e3 82 b9 e3 81 a7 e3 81 99 e3 80 82 0d  ................
2210: 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e 0d 0a 20 20  .</p>..<pre>..  
2220: 20 6c 65 74 20 78 20 3d 20 31 20 69 6e 0d 0a 20   let x = 1 in.. 
2230: 20 20 6c 65 74 20 66 20 3d 20 66 75 6e 28 29 20    let f = fun() 
2240: 7b 78 7d 20 69 6e 0d 0a 20 20 20 6c 65 74 20 78  {x} in..   let x
2250: 20 3d 20 32 20 69 6e 0d 0a 20 20 20 20 20 20 66   = 2 in..      f
2260: 28 29 20 20 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f  ()    <font colo
2270: 72 3d 67 72 65 65 6e 3e 23 20 32 21 21 3c 2f 66  r=green># 2!!</f
2280: 6f 6e 74 3e 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 70  ont>..</pre>..<p
2290: 3e 0d 0a 6c 65 74 2d 69 6e 20 e3 82 92 e7 b8 a6  >..let-in ......
22a0: e3 81 ab e3 83 81 e3 82 a7 e3 82 a4 e3 83 b3 e3  ................
22b0: 81 97 e3 81 9f e3 81 a8 e3 81 8d e3 81 a0 e3 81  ................
22c0: 91 e3 80 81 e5 90 8c e5 90 8d e5 a4 89 e6 95 b0  ................
22d0: e3 82 92 e7 a0 b4 e5 a3 8a e7 9a 84 e3 81 ab e4  ................
22e0: b8 8a e6 9b b8 e3 81 8d e3 81 97 e3 81 be e3 81  ................
22f0: 99 0d 0a ef bc 88 e5 86 8d e5 b8 b0 e9 96 a2 e6  ................
2300: 95 b0 e3 81 ae e5 ae 9a e7 be a9 e3 81 8c 22 e3  ..............".
2310: 81 86 e3 81 be e3 81 8f 22 e3 81 84 e3 81 a3 e3  ........".......
2320: 81 a6 e3 81 84 e3 82 8b e3 81 ae e3 81 af e3 81  ................
2330: 93 e3 81 ae e4 b8 8a e6 9b b8 e3 81 8d e3 81 ae  ................
2340: e3 81 9f e3 82 81 e3 81 a7 e3 81 99 ef bc 89 e3  ................
2350: 80 82 0d 0a e3 81 aa e3 82 93 e3 81 a7 e3 81 93  ................
2360: e3 82 93 e3 81 aa e3 81 93 e3 81 a8 e3 81 ab e3  ................
2370: 81 aa e3 81 a3 e3 81 a6 e3 81 84 e3 82 8b e3 81  ................
2380: 8b e3 81 a8 e3 81 84 e3 81 86 e3 81 a8 e3 80 81  ................
2390: 0d 0a e5 be 8c e3 81 a7 e8 aa ac e6 98 8e e3 81  ................
23a0: 99 e3 82 8b e3 80 8c e3 83 ac e3 82 a4 e3 83 a4  ................
23b0: e3 80 8d e3 82 92 e4 bd bf e3 81 a3 e3 81 9f e3  ................
23c0: 81 a8 e3 81 8d e3 81 ab 0d 0a 3c 74 74 3e 6c 65  ..........<tt>le
23d0: 74 20 66 6f 6f 20 3d 20 2e 2e 2e 20 69 6e 20 40  t foo = ... in @
23e0: 6c 61 79 20 66 6f 6f 20 3d 20 2e 2e 2e 20 69 6e  lay foo = ... in
23f0: 20 2e 2e 2e 3c 2f 74 74 3e 0d 0a e3 81 a7 e4 bb   ...</tt>.......
2400: 96 e3 83 ac e3 82 a4 e3 83 a4 e3 81 ab e9 87 8d  ................
2410: e3 81 ad e6 9b b8 e3 81 8d e3 81 99 e3 82 8b e3  ................
2420: 81 9f e3 82 81 e3 81 a7 e3 81 82 e3 82 8a e3 81  ................
2430: be e3 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c  .........</p>..<
2440: 2f 64 64 3e 0d 0a 3c 2f 64 6c 3e 0d 0a 3c 73 63  /dd>..</dl>..<sc
2450: 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75  ript>explorer.ou
2460: 74 6c 69 6e 65 2e 64 65 63 53 79 6d 62 6f 6c 4c  tline.decSymbolL
2470: 65 76 65 6c 28 29 3b 3c 2f 73 63 72 69 70 74 3e  evel();</script>
2480: 0d 0a 0d 0a 0d 0a 3c 2f 64 64 3e 0d 0a 0d 0a 0d  ......</dd>.....
2490: 0a 0d 0a 0d 0a 0d 0a 3c 73 63 72 69 70 74 3e 65  .......<script>e
24a0: 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e  xplorer.outline.
24b0: 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 74  writeEnabled = t
24c0: 72 75 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c  rue;</script>..<
24d0: 64 74 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22  dt><span class="
24e0: 64 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e 20 63 6c  decl">..<span cl
24f0: 61 73 73 3d 22 63 75 72 72 73 79 6d 62 6f 6c 22  ass="currsymbol"
2500: 3e 42 61 73 69 63 20 46 65 61 74 75 72 65 73 3c  >Basic Features<
2510: 2f 73 70 61 6e 3e 0d 0a 3c 73 63 72 69 70 74 3e  /span>..<script>
2520: 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65  explorer.outline
2530: 2e 61 64 64 44 65 63 6c 28 27 42 61 73 69 63 20  .addDecl('Basic 
2540: 46 65 61 74 75 72 65 73 27 29 3b 3c 2f 73 63 72  Features');</scr
2550: 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61 6e 3e 3c  ipt>....</span><
2560: 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78  /dt>..<script>ex
2570: 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77  plorer.outline.w
2580: 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 66 61  riteEnabled = fa
2590: 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d  lse;</script>...
25a0: 0a 20 3c 64 64 3e 3c 70 3e 0d 0a e7 89 b9 e3 81  . <dd><p>.......
25b0: ab e7 89 b9 e5 be b4 e7 9a 84 e3 81 a7 e3 82 82  ................
25c0: e3 81 aa e3 81 84 e9 83 a8 e5 88 86 e3 82 92 e7  ................
25d0: b0 a1 e5 8d 98 e3 81 ab e3 81 be e3 81 a8 e3 82  ................
25e0: 81 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 75 6c 3e  ......</p>..<ul>
25f0: 0d 0a 20 20 3c 6c 69 3e e9 9d 99 e7 9a 84 e5 9e  ..  <li>........
2600: 8b e3 82 b7 e3 82 b9 e3 83 86 e3 83 a0 e3 81 af  ................
2610: e3 81 82 e3 82 8a e3 81 be e3 81 9b e3 82 93 e3  ................
2620: 80 82 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69 3e 22  ..</li>..  <li>"
2630: e3 81 bb e3 81 bc 22 20 e7 b4 94 e7 b2 8b e9 96  ......" ........
2640: a2 e6 95 b0 e5 9e 8b e8 a8 80 e8 aa 9e e3 81 a7  ................
2650: e3 81 99 e3 80 82 e5 a4 89 e6 95 b0 e3 82 84 e3  ................
2660: 83 86 e3 83 bc e3 83 96 e3 83 ab e3 81 ae e3 83  ................
2670: 95 e3 82 a3 e3 83 bc e3 83 ab e3 83 89 e3 81 ae  ................
2680: e7 a0 b4 e5 a3 8a e7 9a 84 e3 81 aa e6 9b b8 e3  ................
2690: 81 8d e6 8f 9b e3 81 88 e3 81 af e3 81 a7 e3 81  ................
26a0: 8d e3 81 be e3 81 9b e3 82 93 e3 80 82 3c 62 72  .............<br
26b0: 2f 3e 0d 0a 20 20 20 20 20 20 e3 81 9f e3 81 a0  />..      ......
26c0: e3 81 97 e3 80 81 e7 b5 84 e3 81 bf e8 be bc e3  ................
26d0: 81 bf e9 96 a2 e6 95 b0 ef bc 88 3c 74 74 3e 70  ...........<tt>p
26e0: 72 69 6e 74 3c 2f 74 74 3e ef bc 89 e3 81 a8 e3  rint</tt>.......
26f0: 80 81 e5 a4 89 e6 95 b0 e3 81 ae e3 82 b9 e3 82  ................
2700: b3 e3 83 bc e3 83 97 e8 a6 8f e5 89 87 e3 81 ae  ................
2710: e3 83 9e e3 82 b8 e3 82 ab e3 83 ab e3 81 aa e7  ................
2720: 89 87 e9 9a 85 e3 81 ab e5 89 af e4 bd 9c e7 94  ................
2730: a8 e3 81 8c e3 81 82 e3 82 8a e3 81 be e3 81 99  ................
2740: e3 80 82 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d  ...</li>..</ul>.
2750: 0a 3c 70 3e 0d 0a e9 9d 99 e7 9a 84 e5 9e 8b e3  .<p>............
2760: 82 b7 e3 82 b9 e3 83 86 e3 83 a0 e3 81 8c e3 81  ................
2770: aa e3 81 84 e3 81 ae e3 81 af e6 84 8f e5 9b b3  ................
2780: e7 9a 84 e3 81 a7 e3 81 99 e3 81 8c e3 80 81 e7  ................
2790: a0 b4 e5 a3 8a e7 9a 84 e4 bb a3 e5 85 a5 e3 81  ................
27a0: 8c e3 81 aa e3 81 84 e3 81 ae e3 81 af e3 80 81  ................
27b0: e5 8d 98 e3 81 ab e5 ae 9f e8 a3 85 e3 81 8c e3  ................
27c0: 82 81 e3 82 93 e3 81 a9 e3 81 8b e3 81 a3 e3 81  ................
27d0: 9f e3 81 a0 e3 81 91 e3 81 aa e3 81 ae e3 81 a7  ................
27e0: e3 80 81 0d 0a e4 bb 8a e5 be 8c e4 bd 95 e3 81  ................
27f0: 8b e5 a2 97 e3 81 88 e3 82 8b e3 81 8b e3 82 82  ................
2800: e3 81 97 e3 82 8c e3 81 be e3 81 9b e3 82 93 e3  ................
2810: 80 82 e5 a2 97 e3 81 88 e3 81 aa e3 81 84 e3 81  ................
2820: 8b e3 82 82 e3 81 97 e3 82 8c e3 81 be e3 81 9b  ................
2830: e3 82 93 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 0d 0a  ........</p>....
2840: 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72  <script>explorer
2850: 2e 6f 75 74 6c 69 6e 65 2e 69 6e 63 53 79 6d 62  .outline.incSymb
2860: 6f 6c 4c 65 76 65 6c 28 29 3b 3c 2f 73 63 72 69  olLevel();</scri
2870: 70 74 3e 0d 0a 3c 64 6c 3e 0d 0a 3c 73 63 72 69  pt>..<dl>..<scri
2880: 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c  pt>explorer.outl
2890: 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64  ine.writeEnabled
28a0: 20 3d 20 74 72 75 65 3b 3c 2f 73 63 72 69 70 74   = true;</script
28b0: 3e 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20 63 6c 61  >..<dt><span cla
28c0: 73 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73 70 61  ss="decl">..<spa
28d0: 6e 20 63 6c 61 73 73 3d 22 63 75 72 72 73 79 6d  n class="currsym
28e0: 62 6f 6c 22 3e e3 83 87 e3 83 bc e3 82 bf e5 9e  bol">...........
28f0: 8b 3c 2f 73 70 61 6e 3e 0d 0a 3c 73 63 72 69 70  .</span>..<scrip
2900: 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69  t>explorer.outli
2910: 6e 65 2e 61 64 64 44 65 63 6c 28 27 e3 83 87 e3  ne.addDecl('....
2920: 83 bc e3 82 bf e5 9e 8b 27 29 3b 3c 2f 73 63 72  ........');</scr
2930: 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61 6e 3e 3c  ipt>....</span><
2940: 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78  /dt>..<script>ex
2950: 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77  plorer.outline.w
2960: 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 66 61  riteEnabled = fa
2970: 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d  lse;</script>...
2980: 0a 20 3c 64 64 3e 3c 70 3e 0d 0a e4 bb a5 e4 b8  . <dd><p>.......
2990: 8b e3 81 ae e3 83 87 e3 83 bc e3 82 bf e5 9e 8b  ................
29a0: e3 81 8c e3 81 82 e3 82 8a e3 81 be e3 81 99 e3  ................
29b0: 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 75 6c 3e 0d 0a  ....</p>..<ul>..
29c0: 20 20 3c 6c 69 3e e6 95 b4 e6 95 b0 3a 20 20 20    <li>......:   
29d0: 20 20 3c 74 74 3e 30 3c 2f 74 74 3e 2c 20 3c 74    <tt>0</tt>, <t
29e0: 74 3e 31 32 33 3c 2f 74 74 3e 2c 20 3c 74 74 3e  t>123</tt>, <tt>
29f0: 34 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36  4566666666666666
2a00: 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36  6666666666666666
2a10: 36 36 36 36 36 36 36 37 38 39 3c 2f 74 74 3e 2c  6666666789</tt>,
2a20: 20 2e 2e 2e 3c 2f 6c 69 3e 0d 0a 20 20 3c 6c 69   ...</li>..  <li
2a30: 3e e6 96 87 e5 ad 97 e5 88 97 3a 20 20 20 3c 74  >.........:   <t
2a40: 74 3e 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21  t>"hello, world!
2a50: 22 3c 2f 74 74 3e 2c 20 2e 2e 2e 3c 2f 6c 69 3e  "</tt>, ...</li>
2a60: 0d 0a 20 20 3c 6c 69 3e e9 96 a2 e6 95 b0 3a 20  ..  <li>......: 
2a70: 20 20 20 20 3c 74 74 3e 66 75 6e 28 78 29 7b 78      <tt>fun(x){x
2a80: 2b 31 7d 3c 2f 74 74 3e 3c 2f 6c 69 3e 0d 0a 20  +1}</tt></li>.. 
2a90: 20 3c 6c 69 3e e3 83 86 e3 83 bc e3 83 96 e3 83   <li>...........
2aa0: ab 3a 20 3c 74 74 3e 7b 63 61 72 3a 20 31 2c 20  .: <tt>{car: 1, 
2ab0: 63 64 72 3a 20 7b 63 61 72 3a 20 32 2c 20 63 64  cdr: {car: 2, cd
2ac0: 72 3a 20 7b 7d 7d 7d 3c 2f 74 74 3e 3c 2f 6c 69  r: {}}}</tt></li
2ad0: 3e 0d 0a 20 20 3c 6c 69 3e e6 9c aa e5 ae 9a e7  >..  <li>.......
2ae0: be a9 e5 80 a4 3a 20 28 e7 89 b9 e6 ae 8a e3 81  .....: (........
2af0: aa e3 82 b1 e3 83 bc e3 82 b9 e3 81 a7 e4 bd 9c  ................
2b00: e3 82 89 e3 82 8c e3 81 be e3 81 99 e3 80 82 e3  ................
2b10: 80 8c e3 83 ac e3 82 a4 e3 83 a4 e3 80 8d e3 81  ................
2b20: ae e8 aa ac e6 98 8e e5 8f 82 e7 85 a7 e3 81 ae  ................
2b30: e3 81 93 e3 81 a8 e3 80 82 29 3c 2f 6c 69 3e 0d  .........)</li>.
2b40: 0a 3c 2f 75 6c 3e 0d 0a 3c 70 3e 0d 0a e9 96 a2  .</ul>..<p>.....
2b50: e6 95 b0 e3 81 af e3 81 84 e3 82 8f e3 82 86 e3  ................
2b60: 82 8b e3 80 8c e3 82 af e3 83 ad e3 83 bc e3 82  ................
2b70: b8 e3 83 a3 e3 80 8d e3 81 a7 e3 81 99 e3 80 82  ................
2b80: e9 9d 99 e7 9a 84 e3 82 b9 e3 82 b3 e3 83 bc e3  ................
2b90: 83 97 e3 81 a7 e5 a4 96 e5 81 b4 e3 81 ae e7 92  ................
2ba0: b0 e5 a2 83 e3 81 ab e3 82 a2 e3 82 af e3 82 bb  ................
2bb0: e3 82 b9 e3 81 a7 e3 81 8d e3 81 be e3 81 99 e3  ................
2bc0: 80 82 0d 0a e3 83 86 e3 83 bc e3 83 96 e3 83 ab  ................
2bd0: e3 81 af e3 81 84 e3 82 8f e3 82 86 e3 82 8b e3  ................
2be0: 83 97 e3 83 ad e3 83 88 e3 82 bf e3 82 a4 e3 83  ................
2bf0: 97 e3 83 81 e3 82 a7 e3 83 bc e3 83 b3 e3 82 92  ................
2c00: e6 8c 81 e3 81 a3 e3 81 a6 e3 81 84 e3 81 a6 e3  ................
2c10: 80 81 0d 0a e8 87 aa e5 88 86 e3 81 ab e3 81 aa  ................
2c20: e3 81 84 e3 83 95 e3 82 a3 e3 83 bc e3 83 ab e3  ................
2c30: 83 89 e3 81 ae e5 a0 b4 e5 90 88 e3 81 af e8 a6  ................
2c40: aa e3 81 ab e5 95 8f e3 81 84 e5 90 88 e3 82 8f  ................
2c50: e3 81 9b e3 81 8c e8 a1 8c e3 81 8f e6 84 9f e3  ................
2c60: 81 98 e3 81 ab e3 81 aa e3 81 a3 e3 81 a6 e3 81  ................
2c70: 84 e3 81 be e3 81 99 e3 81 8c e3 80 81 0d 0a e3  ................
2c80: 83 95 e3 82 a3 e3 83 bc e3 83 ab e3 83 89 e3 81  ................
2c90: ae e6 9b b8 e3 81 8d e6 8f 9b e3 81 88 e3 81 8c  ................
2ca0: e3 81 aa e3 81 84 e3 81 ae e3 81 a7 e3 80 81 e3  ................
2cb0: 81 93 e3 82 8c e3 81 af e7 89 b9 e3 81 ab e6 84  ................
2cc0: 8f e5 91 b3 e3 81 aa e3 81 84 e3 81 8b e3 82 82  ................
2cd0: e3 81 97 e3 82 8c e3 81 aa e3 81 84 e2 80 a6 e3  ................
2ce0: 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 3e 0d 0a e3  ....</p>..<p>...
2cf0: 81 be e3 81 9f e3 80 81 e3 83 aa e3 82 b9 e3 83  ................
2d00: 88 e3 82 92 e6 89 b1 e3 81 86 e3 81 9f e3 82 81  ................
2d10: e3 81 ab e3 80 81 e3 81 84 e3 82 8f e3 82 86 e3  ................
2d20: 82 8b e3 80 8c 63 6f 6e 73 20 e3 83 aa e3 82 b9  .....cons ......
2d30: e3 83 88 e3 80 8d e3 82 92 e4 bd bf e3 81 84 e3  ................
2d40: 81 be e3 81 99 e3 80 82 0d 0a e7 a9 ba e3 83 aa  ................
2d50: e3 82 b9 e3 83 88 e3 82 92 20 3c 74 74 3e 7b 7d  ......... <tt>{}
2d60: 3c 2f 74 74 3e e3 80 81 ef bc 91 e5 80 8b e4 bb  </tt>...........
2d70: a5 e4 b8 8a e8 a6 81 e7 b4 a0 e3 81 8c e3 81 82  ................
2d80: e3 82 8b e3 82 82 e3 81 ae e3 82 92 20 3c 74 74  ............ <tt
2d90: 3e 7b 63 61 72 3a 20 e5 85 88 e9 a0 ad e8 a6 81  >{car: .........
2da0: e7 b4 a0 2c 20 63 64 72 3a 20 e4 ba 8c e7 95 aa  ..., cdr: ......
2db0: e7 9b ae e4 bb a5 e9 99 8d e3 81 ae e3 83 aa e3  ................
2dc0: 82 b9 e3 83 88 7d 3c 2f 74 74 3e 0d 0a e3 81 a8  .....}</tt>.....
2dd0: e3 81 84 e3 81 86 e5 bd a2 e3 81 a7 e3 80 82 e3  ................
2de0: 81 93 e3 81 ae e5 bd a2 e3 81 a7 e3 83 aa e3 82  ................
2df0: b9 e3 83 88 e3 82 92 e6 89 b1 e3 82 8f e3 81 aa  ................
2e00: e3 81 91 e3 82 8c e3 81 b0 e3 81 aa e3 82 89 e3  ................
2e10: 81 aa e3 81 84 e3 81 a8 e3 81 84 e3 81 86 e6 b1  ................
2e20: ba e3 81 be e3 82 8a e3 81 af e3 81 82 e3 82 8a  ................
2e30: e3 81 be e3 81 9b e3 82 93 e3 81 8c e3 80 81 0d  ................
2e40: 0a e3 81 93 e3 81 ae e5 bd a2 e3 81 af e7 89 b9  ................
2e50: e5 88 a5 e6 89 b1 e3 81 84 e3 81 95 e3 82 8c e3  ................
2e60: 81 a6 20 3c 74 74 3e 70 72 69 6e 74 3c 2f 74 74  .. <tt>print</tt
2e70: 3e 20 e3 81 a7 e7 b6 ba e9 ba 97 e3 81 ab e5 87  > ..............
2e80: ba e5 8a 9b e3 81 95 e3 82 8c e3 81 9f e3 82 8a  ................
2e90: e3 81 97 e3 81 be e3 81 99 e3 80 82 0d 0a 3c 2f  ..............</
2ea0: 70 3e 0d 0a 3c 2f 64 64 3e 0d 0a 0d 0a 3c 73 63  p>..</dd>....<sc
2eb0: 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75  ript>explorer.ou
2ec0: 74 6c 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c  tline.writeEnabl
2ed0: 65 64 20 3d 20 74 72 75 65 3b 3c 2f 73 63 72 69  ed = true;</scri
2ee0: 70 74 3e 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20 63  pt>..<dt><span c
2ef0: 6c 61 73 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73  lass="decl">..<s
2f00: 70 61 6e 20 63 6c 61 73 73 3d 22 63 75 72 72 73  pan class="currs
2f10: 79 6d 62 6f 6c 22 3e e3 83 91 e3 82 bf e3 83 bc  ymbol">.........
2f20: e3 83 b3 e3 83 9e e3 83 83 e3 83 81 3c 2f 73 70  ............</sp
2f30: 61 6e 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70  an>..<script>exp
2f40: 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 61 64  lorer.outline.ad
2f50: 64 44 65 63 6c 28 27 e3 83 91 e3 82 bf e3 83 bc  dDecl('.........
2f60: e3 83 b3 e3 83 9e e3 83 83 e3 83 81 27 29 3b 3c  ............');<
2f70: 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70  /script>....</sp
2f80: 61 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70  an></dt>..<scrip
2f90: 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69  t>explorer.outli
2fa0: 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20  ne.writeEnabled 
2fb0: 3d 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74  = false;</script
2fc0: 3e 0d 0a 0d 0a 20 3c 64 64 3e 3c 70 3e 0d 0a e9  >.... <dd><p>...
2fd0: 81 a9 e5 bd 93 e3 81 ab e5 ae 9f e8 a3 85 e3 81  ................
2fe0: 95 e3 82 8c e3 81 9f e3 83 91 e3 82 bf e3 83 bc  ................
2ff0: e3 83 b3 e3 83 9e e3 83 83 e3 83 81 e3 81 8c e3  ................
3000: 81 82 e3 82 8a e3 81 be e3 81 99 e3 80 82 0d 0a  ................
3010: e3 83 aa e3 82 b9 e3 83 88 e3 81 ae 20 32 6e 20  ............ 2n 
3020: e7 95 aa e7 9b ae e3 81 a8 20 32 6e 2b 31 20 e7  ......... 2n+1 .
3030: 95 aa e7 9b ae e3 82 92 e8 b6 b3 e3 81 97 e3 81  ................
3040: a6 e9 95 b7 e3 81 95 e3 82 92 e5 8d 8a e5 88 86  ................
3050: e3 81 ab e3 81 99 e3 82 8b e9 96 a2 e6 95 b0 ef  ................
3060: bc 9a 0d 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e 0d  ....</p>..<pre>.
3070: 0a 20 20 20 20 64 65 66 20 61 64 6a 53 75 6d 28  .    def adjSum(
3080: 6c 73 74 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  lst)..    {..   
3090: 20 20 20 63 61 73 65 20 6c 73 74 0d 0a 20 20 20     case lst..   
30a0: 20 20 20 20 20 77 68 65 6e 20 7b 63 61 72 3a 78       when {car:x
30b0: 2c 20 63 64 72 3a 7b 63 61 72 3a 20 79 2c 20 63  , cdr:{car: y, c
30c0: 64 72 3a 7a 7d 7d 3a 20 7b 63 61 72 3a 20 78 2b  dr:z}}: {car: x+
30d0: 79 2c 20 63 64 72 3a 20 61 64 6a 53 75 6d 28 7a  y, cdr: adjSum(z
30e0: 29 7d 0d 0a 20 20 20 20 20 20 20 20 77 68 65 6e  )}..        when
30f0: 20 7b 63 61 72 3a 78 2c 20 63 64 72 3a 7b 7d 7d   {car:x, cdr:{}}
3100: 3a 20 6c 73 74 0d 0a 20 20 20 20 20 20 20 20 77  : lst..        w
3110: 68 65 6e 20 7b 7d 3a 20 7b 7d 0d 0a 20 20 20 20  hen {}: {}..    
3120: 7d 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 70 3e 0d 0a  }..</pre>..<p>..
3130: e5 8b 95 e3 81 8b e3 81 99 e3 81 a8 e3 81 8d e3  ................
3140: 81 ab e3 81 af e3 80 81 e5 87 a6 e7 90 86 e7 b3  ................
3150: bb e3 81 8c e3 81 9d e3 82 8c e3 81 a3 e3 81 bd  ................
3160: e3 81 84 20 69 66 2d 74 68 65 6e 2d 65 6c 73 65  ... if-then-else
3170: 20 e3 81 ab e5 b1 95 e9 96 8b e3 81 97 e3 81 a6   ...............
3180: e3 81 84 e3 81 be e3 81 99 e3 80 82 0d 0a 3c 74  ..............<t
3190: 74 3e 77 68 65 6e 3c 2f 74 74 3e 20 e3 82 92 e4  t>when</tt> ....
31a0: b8 8a e3 81 8b e3 82 89 e8 a9 a6 e3 81 97 e3 81  ................
31b0: a6 e3 81 84 e3 81 a3 e3 81 a6 e3 80 81 e6 9c 80  ................
31c0: e5 88 9d e3 81 ab e3 83 9e e3 83 83 e3 83 81 e3  ................
31d0: 81 97 e3 81 9f e3 81 a8 e3 81 93 e3 82 8d e3 82  ................
31e0: 92 e5 ae 9f e8 a1 8c e3 81 97 e3 81 be e3 81 99  ................
31f0: e3 80 82 0d 0a e3 81 a9 e3 82 8c e3 81 ab e3 82  ................
3200: 82 e3 83 9e e3 83 83 e3 83 81 e3 81 97 e3 81 aa  ................
3210: e3 81 84 e3 81 a8 e3 82 a8 e3 83 a9 e3 83 bc e3  ................
3220: 81 a7 e3 83 97 e3 83 ad e3 82 b0 e3 83 a9 e3 83  ................
3230: a0 e7 b5 82 e4 ba 86 e3 81 97 e3 81 be e3 81 99  ................
3240: e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e  .....</p>..<pre>
3250: 0d 0a 20 20 20 50 41 54 20 3a 3a 3d 20 22 5f 22  ..   PAT ::= "_"
3260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3280: 20 20 20 20 20 20 3c 66 6f 6e 74 20 63 6f 6c 6f        <font colo
3290: 72 3d 67 72 65 65 6e 3e 23 20 e3 83 af e3 82 a4  r=green># ......
32a0: e3 83 ab e3 83 89 e3 82 ab e3 83 bc e3 83 89 3c  ...............<
32b0: 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 20 20 20 20  /font>..        
32c0: 20 7c 20 49 44 20 20 20 20 20 20 20 20 20 20 20   | ID           
32d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
32e0: 20 20 20 20 20 20 20 20 20 20 20 20 3c 66 6f 6e              <fon
32f0: 74 20 63 6f 6c 6f 72 3d 67 72 65 65 6e 3e 23 20  t color=green># 
3300: e5 a4 89 e6 95 b0 e3 83 91 e3 82 bf e3 83 bc e3  ................
3310: 83 b3 3c 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 20  ..</font>..     
3320: 20 20 20 20 7c 20 22 7b 22 20 49 44 20 22 3a 22      | "{" ID ":"
3330: 20 50 41 54 20 22 2c 22 20 2e 2e 2e 20 22 2c 22   PAT "," ... ","
3340: 20 49 44 20 3a 20 50 41 54 20 22 7d 22 20 20 3c   ID : PAT "}"  <
3350: 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72 65 65 6e  font color=green
3360: 3e 23 20 e3 83 86 e3 83 bc e3 83 96 e3 83 ab e3  ># .............
3370: 83 91 e3 82 bf e3 83 bc e3 83 b3 3c 2f 66 6f 6e  ...........</fon
3380: 74 3e 0d 0a 20 20 20 20 20 20 20 20 20 7c 20 45  t>..         | E
3390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
33a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
33b0: 20 20 20 20 20 20 20 20 3c 66 6f 6e 74 20 63 6f          <font co
33c0: 6c 6f 72 3d 67 72 65 65 6e 3e 23 20 e5 80 a4 e3  lor=green># ....
33d0: 83 91 e3 82 bf e3 83 bc e3 83 b3 3c 2f 66 6f 6e  ...........</fon
33e0: 74 3e 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 70 3e 0d  t>..</pre>..<p>.
33f0: 0a e5 a4 89 e6 95 b0 e3 83 91 e3 82 bf e3 83 bc  ................
3400: e3 83 b3 e3 81 af e5 b8 b8 e3 81 ab e3 83 9e e3  ................
3410: 83 83 e3 83 81 e3 81 97 e3 81 a6 e3 80 81 e5 80  ................
3420: a4 e3 82 92 e3 81 9d e3 81 ae e5 a4 89 e6 95 b0  ................
3430: e3 81 ab e6 9d 9f e7 b8 9b e3 81 97 e3 81 be e3  ................
3440: 81 99 e3 80 82 0d 0a e3 83 af e3 82 a4 e3 83 ab  ................
3450: e3 83 89 e3 82 ab e3 83 bc e3 83 89 e3 82 82 e5  ................
3460: b8 b8 e3 81 ab e3 83 9e e3 83 83 e3 83 81 e3 81  ................
3470: 97 e3 81 be e3 81 99 e3 81 8c e3 80 81 e5 a4 89  ................
3480: e6 95 b0 e6 9d 9f e7 b8 9b e3 81 97 e3 81 be e3  ................
3490: 81 9b e3 82 93 e3 80 82 0d 0a e5 80 a4 e3 83 91  ................
34a0: e3 82 bf e3 83 bc e3 83 b3 e3 81 af e3 80 81 e4  ................
34b0: bb bb e6 84 8f e3 81 ae e5 bc 8f e3 81 8c e6 9b  ................
34c0: b8 e3 81 91 e3 81 be e3 81 99 e3 80 82 e3 81 9d  ................
34d0: e3 81 ae e5 bc 8f e3 82 92 e8 a9 95 e4 be a1 e3  ................
34e0: 81 97 e3 81 9f e7 b5 90 e6 9e 9c e3 81 a8 20 3c  .............. <
34f0: 74 74 3e 3d 3d 3c 2f 74 74 3e 20 e3 81 aa e3 82  tt>==</tt> .....
3500: 89 e3 83 9e e3 83 83 e3 83 81 e3 81 97 e3 81 be  ................
3510: e3 81 99 e3 80 82 0d 0a e5 a4 96 e3 81 a7 e6 9d  ................
3520: 9f e7 b8 9b e3 81 95 e3 82 8c e3 81 9f e5 a4 89  ................
3530: e6 95 b0 e3 82 92 e5 80 a4 e3 83 91 e3 82 bf e3  ................
3540: 83 bc e3 83 b3 e3 81 a8 e3 81 97 e3 81 a6 e9 85  ................
3550: 8d e7 bd ae e3 80 81 e3 81 af e7 9b b4 e6 8e a5  ................
3560: e3 81 af e3 81 a7 e3 81 8d e3 81 aa e3 81 84 e3  ................
3570: 81 ae e3 81 a7 0d 0a 3c 2f 70 3e 0d 0a 3c 70 72  .......</p>..<pr
3580: 65 3e 0d 0a 20 20 20 76 61 72 20 78 20 3d 20 31  e>..   var x = 1
3590: 32 33 3b 0d 0a 20 20 20 63 61 73 65 20 66 6f 6f  23;..   case foo
35a0: 0d 0a 20 20 20 20 20 77 68 65 6e 20 7b 76 61 6c  ..     when {val
35b0: 3a 20 78 2b 30 7d 3a 20 2e 2e 2e 20 3c 66 6f 6e  : x+0}: ... <fon
35c0: 74 20 63 6f 6c 6f 72 3d 67 72 65 65 6e 3e 23 20  t color=green># 
35d0: e3 81 93 e3 82 8c e3 81 af 20 7b 76 61 6c 3a 31  ......... {val:1
35e0: 32 33 7d 20 e3 81 a8 e5 90 8c e3 81 98 3c 2f 66  23} .........</f
35f0: 6f 6e 74 3e 0d 0a 20 20 20 20 20 77 68 65 6e 20  ont>..     when 
3600: 7b 76 61 6c 3a 20 78 7d 3a 20 20 20 2e 2e 2e 20  {val: x}:   ... 
3610: 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 67 72 65 65  <font color=gree
3620: 6e 3e 23 20 e3 81 93 e3 82 8c e3 81 af e4 bb bb  n># ............
3630: e6 84 8f e3 81 ae 20 66 6f 6f 2e 3f 76 61 6c 20  ...... foo.?val 
3640: e3 81 aa e3 82 89 e5 b8 b8 e3 81 ab e3 83 9e e3  ................
3650: 83 83 e3 83 81 3c 2f 66 6f 6e 74 3e 0d 0a 3c 2f  .....</font>..</
3660: 70 72 65 3e 0d 0a 3c 70 3e 0d 0a e9 81 a9 e5 bd  pre>..<p>.......
3670: 93 e3 81 ab e3 81 a1 e3 82 87 e3 81 a3 e3 81 a8  ................
3680: e8 a4 87 e9 9b 91 e3 81 aa e5 bc 8f e3 81 ab e3  ................
3690: 81 97 e3 81 a6 e3 82 84 e3 82 8b e3 81 a8 e3 82  ................
36a0: 88 e3 81 84 e3 81 8b e3 82 82 ef bc 88 e8 a3 8f  ................
36b0: e6 8a 80 ef bc 89 e3 80 82 0d 0a 3c 2f 70 3e 0d  ...........</p>.
36c0: 0a 3c 70 3e 0d 0a e3 83 86 e3 83 bc e3 83 96 e3  .<p>............
36d0: 83 ab e3 83 91 e3 82 bf e3 83 bc e3 83 b3 e3 81  ................
36e0: af e3 80 81 e6 9b b8 e3 81 8b e3 82 8c e3 81 9f  ................
36f0: e3 82 ad e3 83 bc e3 81 8c e5 85 a8 e3 81 a6 e3  ................
3700: 81 82 e3 82 8c e3 81 b0 e3 83 9e e3 83 83 e3 83  ................
3710: 81 e3 81 97 e3 81 be e3 81 99 e3 80 82 0d 0a 3c  ...............<
3720: 74 74 3e 7b 61 3a 20 5f 7d 3c 2f 74 74 3e 20 e3  tt>{a: _}</tt> .
3730: 81 af e3 80 81 3c 74 74 3e 2e 61 3c 2f 74 74 3e  .....<tt>.a</tt>
3740: 20 e3 82 92 e6 8c 81 e3 81 a3 e3 81 a6 e3 81 95   ...............
3750: e3 81 88 e3 81 84 e3 82 8c e3 81 b0 e3 83 9e e3  ................
3760: 83 83 e3 83 81 e3 81 99 e3 82 8b e3 81 ae e3 81  ................
3770: a7 e3 80 81 0d 0a 3c 74 74 3e 7b 61 3a 20 31 32  ......<tt>{a: 12
3780: 33 2c 20 62 3a 20 34 35 36 7d 3c 2f 74 74 3e 20  3, b: 456}</tt> 
3790: e3 81 aa e3 82 93 e3 81 8b e3 81 ab e3 82 82 e3  ................
37a0: 83 9e e3 83 83 e3 83 81 e3 81 97 e3 81 be e3 81  ................
37b0: 99 e3 80 82 0d 0a e3 81 aa e3 81 ae e3 81 a7 e3  ................
37c0: 80 81 e3 83 aa e3 82 b9 e3 83 88 e3 81 ab e5 af  ................
37d0: be e3 81 99 e3 82 8b e3 83 91 e3 82 bf e3 83 bc  ................
37e0: e3 83 b3 e3 82 92 e6 9b b8 e3 81 8f e3 81 a8 e3  ................
37f0: 81 8d e3 81 ab e3 81 af e3 80 81 63 61 72 2f 63  ...........car/c
3800: 64 72 20 e3 81 ae e5 a0 b4 e5 90 88 e3 82 92 e5  dr .............
3810: 85 88 e3 81 ab e6 9b b8 e3 81 8b e3 81 aa e3 81  ................
3820: 84 e3 81 a8 0d 0a 3c 74 74 3e 77 68 65 6e 20 7b  ......<tt>when {
3830: 7d 3c 2f 74 74 3e 20 e3 82 92 e4 b8 8a e3 81 ab  }</tt> .........
3840: e6 9b b8 e3 81 8f e3 81 a8 e5 85 a8 e9 83 a8 e3  ................
3850: 83 9e e3 83 83 e3 83 81 e3 81 97 e3 81 a1 e3 82  ................
3860: 83 e3 81 84 e3 81 be e3 81 99 e3 80 82 e6 b3 a8  ................
3870: e6 84 8f e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 2f  ........</p>..</
3880: 64 64 3e 0d 0a 3c 2f 64 6c 3e 0d 0a 3c 73 63 72  dd>..</dl>..<scr
3890: 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74  ipt>explorer.out
38a0: 6c 69 6e 65 2e 64 65 63 53 79 6d 62 6f 6c 4c 65  line.decSymbolLe
38b0: 76 65 6c 28 29 3b 3c 2f 73 63 72 69 70 74 3e 0d  vel();</script>.
38c0: 0a 0d 0a 0d 0a 3c 2f 64 64 3e 0d 0a 0d 0a 0d 0a  .....</dd>......
38d0: 0d 0a 0d 0a 0d 0a 0d 0a 3c 73 63 72 69 70 74 3e  ........<script>
38e0: 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65  explorer.outline
38f0: 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20  .writeEnabled = 
3900: 74 72 75 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a  true;</script>..
3910: 3c 64 74 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d  <dt><span class=
3920: 22 64 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e 20 63  "decl">..<span c
3930: 6c 61 73 73 3d 22 63 75 72 72 73 79 6d 62 6f 6c  lass="currsymbol
3940: 22 3e 4c 61 79 65 72 73 3c 2f 73 70 61 6e 3e 0d  ">Layers</span>.
3950: 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f 72 65  .<script>explore
3960: 72 2e 6f 75 74 6c 69 6e 65 2e 61 64 64 44 65 63  r.outline.addDec
3970: 6c 28 27 4c 61 79 65 72 73 27 29 3b 3c 2f 73 63  l('Layers');</sc
3980: 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61 6e 3e  ript>....</span>
3990: 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74 3e 65  </dt>..<script>e
39a0: 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e  xplorer.outline.
39b0: 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 66  writeEnabled = f
39c0: 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a  alse;</script>..
39d0: 0d 0a 20 3c 64 64 3e 3c 70 72 65 3e 0d 0a 5b 4c  .. <dd><pre>..[L
39e0: 61 79 65 72 73 20 3a 3a 20 4f 76 65 72 76 69 65  ayers :: Overvie
39f0: 77 5d 0d 0a 0d 0a 20 20 50 6f 6c 65 6d 79 27 73  w]....  Polemy's
3a00: 20 72 75 6e 74 69 6d 65 20 65 6e 76 69 72 6f 6e   runtime environ
3a10: 6d 65 6e 74 20 68 61 73 20 6d 61 6e 79 20 22 6c  ment has many "l
3a20: 61 79 65 72 22 73 2e 0d 0a 20 20 55 73 75 61 6c  ayer"s...  Usual
3a30: 20 65 78 65 63 75 74 69 6f 6e 20 72 75 6e 20 69   execution run i
3a40: 6e 20 74 68 65 20 40 76 61 6c 75 65 20 6c 61 79  n the @value lay
3a50: 65 72 2e 0d 0a 0d 0a 20 20 20 20 26 67 74 3b 26  er.....    &gt;&
3a60: 67 74 3b 20 31 20 2b 20 32 0d 0a 20 20 20 20 33  gt; 1 + 2..    3
3a70: 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20 40  ..    &gt;&gt; @
3a80: 76 61 6c 75 65 28 20 31 20 2b 20 32 20 29 0d 0a  value( 1 + 2 )..
3a90: 20 20 20 20 33 0d 0a 0d 0a 20 20 48 65 72 65 20      3....  Here 
3aa0: 79 6f 75 20 63 61 6e 20 73 65 65 20 74 68 61 74  you can see that
3ab0: 20 40 4c 61 79 65 72 4e 61 6d 65 28 20 45 78 70   @LayerName( Exp
3ac0: 72 65 73 73 69 6f 6e 20 29 20 65 78 65 63 75 74  ression ) execut
3ad0: 65 73 20 74 68 65 20 69 6e 6e 65 72 20 45 78 70  es the inner Exp
3ae0: 72 65 73 73 69 6f 6e 20 69 6e 0d 0a 20 20 74 68  ression in..  th
3af0: 65 20 40 4c 61 79 65 72 4e 61 6d 65 20 6c 61 79  e @LayerName lay
3b00: 65 72 2e 20 4f 74 68 65 72 20 74 68 61 6e 20 40  er. Other than @
3b10: 76 61 6c 75 65 2c 20 6f 6e 65 20 6f 74 68 65 72  value, one other
3b20: 20 70 72 65 64 65 66 69 6e 65 64 20 6c 61 79 65   predefined laye
3b30: 72 20 65 78 69 73 74 73 3a 20 40 6d 61 63 72 6f  r exists: @macro
3b40: 2e 0d 0a 0d 0a 20 20 20 20 26 67 74 3b 26 67 74  .....    &gt;&gt
3b50: 3b 20 40 6d 61 63 72 6f 28 20 31 2b 32 20 29 0d  ; @macro( 1+2 ).
3b60: 0a 20 20 20 20 7b 70 6f 73 40 76 61 6c 75 65 3a  .    {pos@value:
3b70: 7b 6c 69 6e 65 6e 6f 40 76 61 6c 75 65 3a 33 2c  {lineno@value:3,
3b80: 20 63 6f 6c 75 6d 6e 40 76 61 6c 75 65 3a 39 2c   column@value:9,
3b90: 20 66 69 6c 65 6e 61 6d 65 40 76 61 6c 75 65 3a   filename@value:
3ba0: 3c 52 45 50 4c 3e 7d 2c 0d 0a 20 20 20 20 20 20  <REPL>},..      
3bb0: 69 73 40 76 61 6c 75 65 3a 61 70 70 2c 0d 0a 20  is@value:app,.. 
3bc0: 20 20 20 61 72 67 73 40 76 61 6c 75 65 3a 7b 63     args@value:{c
3bd0: 61 72 40 76 61 6c 75 65 3a 7b 70 6f 73 40 76 61  ar@value:{pos@va
3be0: 6c 75 65 3a 7b 6c 69 6e 65 6e 6f 40 76 61 6c 75  lue:{lineno@valu
3bf0: 65 3a 33 2c 20 63 6f 6c 75 6d 6e 40 76 61 6c 75  e:3, column@valu
3c00: 65 3a 39 2c 20 66 69 6c 65 6e 61 6d 65 40 76 61  e:9, filename@va
3c10: 6c 75 65 3a 3c 52 45 50 4c 3e 7d 2c 0d 0a 20 20  lue:<REPL>},..  
3c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3c30: 20 20 20 20 20 20 20 20 20 20 69 73 40 76 61 6c            is@val
3c40: 75 65 3a 69 6e 74 2c 0d 0a 20 20 20 20 20 20 20  ue:int,..       
3c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3c60: 20 20 20 64 61 74 61 40 76 61 6c 75 65 3a 31 7d     data@value:1}
3c70: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
3c80: 20 20 20 63 64 72 40 76 61 6c 75 65 3a 7b 0d 0a     cdr@value:{..
3c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3ca0: 20 20 63 61 72 40 76 61 6c 75 65 3a 7b 70 6f 73    car@value:{pos
3cb0: 40 76 61 6c 75 65 3a 7b 6c 69 6e 65 6e 6f 40 76  @value:{lineno@v
3cc0: 61 6c 75 65 3a 33 2c 20 63 6f 6c 75 6d 6e 40 76  alue:3, column@v
3cd0: 61 6c 75 65 3a 31 31 2c 20 66 69 6c 65 6e 61 6d  alue:11, filenam
3ce0: 65 40 76 61 6c 75 65 3a 3c 52 45 50 4c 3e 7d 2c  e@value:<REPL>},
3cf0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d10: 69 73 40 76 61 6c 75 65 3a 69 6e 74 2c 0d 0a 20  is@value:int,.. 
3d20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3d30: 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 40             data@
3d40: 76 61 6c 75 65 3a 32 7d 2c 0d 0a 20 20 20 20 20  value:2},..     
3d50: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 64 72               cdr
3d60: 40 76 61 6c 75 65 3a 7b 7d 7d 7d 2c 0d 0a 20 20  @value:{}}},..  
3d70: 20 20 20 66 75 6e 40 76 61 6c 75 65 3a 7b 70 6f     fun@value:{po
3d80: 73 40 76 61 6c 75 65 3a 7b 6c 69 6e 65 6e 6f 40  s@value:{lineno@
3d90: 76 61 6c 75 65 3a 33 2c 20 63 6f 6c 75 6d 6e 40  value:3, column@
3da0: 76 61 6c 75 65 3a 31 30 2c 20 66 69 6c 65 6e 61  value:10, filena
3db0: 6d 65 40 76 61 6c 75 65 3a 3c 52 45 50 4c 3e 7d  me@value:<REPL>}
3dc0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
3dd0: 20 20 20 20 69 73 40 76 61 6c 75 65 3a 76 61 72      is@value:var
3de0: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ,..             
3df0: 20 20 6e 61 6d 65 40 76 61 6c 75 65 3a 2b 7d 7d    name@value:+}}
3e00: 0d 0a 0d 0a 20 20 28 53 6f 72 72 79 2c 20 74 68  ....  (Sorry, th
3e10: 69 73 20 70 72 65 74 74 79 20 70 72 69 6e 74 69  is pretty printi
3e20: 6e 67 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61  ng is not availa
3e30: 62 6c 65 20 6f 6e 20 74 68 65 20 61 63 74 75 61  ble on the actua
3e40: 6c 20 69 6e 74 65 72 70 72 65 74 65 72 2e 2e 2e  l interpreter...
3e50: 29 0d 0a 20 20 54 68 69 73 20 65 76 61 6c 75 61  )..  This evalua
3e60: 74 65 73 20 74 68 65 20 65 78 70 72 65 73 73 69  tes the expressi
3e70: 6f 6e 20 31 2b 32 20 69 6e 20 74 68 65 20 40 6d  on 1+2 in the @m
3e80: 61 63 72 6f 20 6c 61 79 65 72 2e 20 49 6e 20 74  acro layer. In t
3e90: 68 69 73 20 6c 61 79 65 72 2c 20 74 68 65 20 6d  his layer, the m
3ea0: 65 61 6e 69 6e 67 20 6f 66 0d 0a 20 20 74 68 65  eaning of..  the
3eb0: 20 70 72 6f 67 72 61 6d 20 69 73 20 69 74 73 20   program is its 
3ec0: 61 62 73 74 72 61 63 74 20 73 79 6e 74 61 78 20  abstract syntax 
3ed0: 74 72 65 65 2e 0d 0a 0d 0a 20 20 59 6f 75 20 63  tree.....  You c
3ee0: 61 6e 20 69 6e 74 65 72 6c 65 61 76 65 20 6c 61  an interleave la
3ef0: 79 65 72 73 2e 0d 0a 20 20 54 68 65 20 72 6f 6f  yers...  The roo
3f00: 74 20 6e 6f 64 65 20 6f 66 20 74 68 65 20 61 62  t node of the ab
3f10: 73 74 72 61 63 74 20 73 79 6e 74 61 78 20 74 72  stract syntax tr
3f20: 65 65 20 69 73 20 66 75 6e 63 74 69 6f 6e 20 22  ee is function "
3f30: 61 70 70 22 6c 69 63 61 74 69 6f 6e 2e 0d 0a 0d  app"lication....
3f40: 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20 40 76  .    &gt;&gt; @v
3f50: 61 6c 75 65 28 40 6d 61 63 72 6f 28 20 31 2b 32  alue(@macro( 1+2
3f60: 20 29 2e 69 73 29 0d 0a 20 20 20 20 61 70 70 0d   ).is)..    app.
3f70: 0a 0d 0a 0d 0a 0d 0a 5b 4c 61 79 65 72 73 20 3a  .......[Layers :
3f80: 3a 20 44 65 66 69 6e 69 6e 67 20 61 20 6e 65 77  : Defining a new
3f90: 20 6c 61 79 65 72 5d 0d 0a 0d 0a 20 20 54 6f 20   layer]....  To 
3fa0: 64 65 66 69 6e 65 20 61 20 6e 65 77 20 6c 61 79  define a new lay
3fb0: 65 72 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 66  er, you should f
3fc0: 69 72 73 74 20 74 65 6c 6c 20 68 6f 77 20 74 6f  irst tell how to
3fd0: 20 22 6c 69 66 74 22 20 65 78 69 73 74 69 6e 67   "lift" existing
3fe0: 20 76 61 6c 75 65 73 20 74 77 6f 20 74 68 65 20   values two the 
3ff0: 6e 65 77 20 6c 61 79 65 72 2e 0d 0a 20 20 4c 65  new layer...  Le
4000: 74 20 75 73 20 64 65 66 69 6e 65 20 74 68 65 20  t us define the 
4010: 22 40 74 79 70 65 22 20 6c 61 79 65 72 2c 20 77  "@type" layer, w
4020: 68 65 72 65 20 74 68 65 20 6d 65 61 6e 69 6e 67  here the meaning
4030: 20 6f 66 20 70 72 6f 67 72 61 6d 73 20 69 73 20   of programs is 
4040: 74 68 65 69 72 20 73 74 61 74 69 63 20 74 79 70  their static typ
4050: 65 2e 0d 0a 0d 0a 20 20 20 20 26 67 74 3b 26 67  e.....    &gt;&g
4060: 74 3b 20 40 40 74 79 70 65 20 3d 20 66 75 6e 28  t; @@type = fun(
4070: 78 29 20 7b 0d 0a 20 20 20 20 26 67 74 3b 26 67  x) {..    &gt;&g
4080: 74 3b 20 20 20 69 66 28 20 5f 69 73 69 6e 74 28  t;   if( _isint(
4090: 78 29 20 29 20 7b 20 22 69 6e 74 22 20 7d 20 65  x) ) { "int" } e
40a0: 6c 73 65 20 7b 0d 0a 20 20 20 20 26 67 74 3b 26  lse {..    &gt;&
40b0: 67 74 3b 20 20 20 69 66 28 20 5f 69 73 66 75 6e  gt;   if( _isfun
40c0: 28 78 29 20 29 20 7b 20 78 20 7d 20 65 6c 73 65  (x) ) { x } else
40d0: 20 7b 20 22 75 6e 6b 6e 6f 77 6e 22 20 7d 20 7d   { "unknown" } }
40e0: 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20 7d  ..    &gt;&gt; }
40f0: 0d 0a 20 20 20 20 28 4e 6f 74 65 3a 20 70 6f 6c  ..    (Note: pol
4100: 65 6d 79 20 52 45 50 4c 20 6d 61 79 20 77 61 72  emy REPL may war
4110: 6e 20 73 6f 6d 65 20 65 78 63 65 70 74 69 6f 6e  n some exception
4120: 20 68 65 72 65 20 62 75 74 20 70 6c 65 61 73 65   here but please
4130: 20 69 67 6e 6f 72 65 29 0d 0a 0d 0a 20 20 46 6f   ignore)....  Fo
4140: 72 20 73 69 6d 70 6c 69 63 69 74 79 2c 20 49 20  r simplicity, I 
4150: 68 65 72 65 20 64 65 61 6c 20 6f 6e 6c 79 20 77  here deal only w
4160: 69 74 68 20 69 6e 74 65 67 65 72 73 2e 0d 0a 20  ith integers... 
4170: 20 5f 69 73 69 6e 74 20 69 73 20 61 20 70 72 69   _isint is a pri
4180: 6d 69 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 20  mitive function 
4190: 6f 66 20 50 6f 6c 65 6d 79 20 74 68 61 74 20 63  of Polemy that c
41a0: 68 65 63 6b 73 20 74 68 65 20 64 79 6e 61 6d 69  hecks the dynami
41b0: 63 20 74 79 70 65 20 6f 66 20 61 20 76 61 6c 75  c type of a valu
41c0: 65 2e 0d 0a 20 20 46 6f 72 20 66 75 6e 63 74 69  e...  For functi
41d0: 6f 6e 2c 20 6c 65 61 76 69 6e 67 20 69 74 20 75  on, leaving it u
41e0: 6e 74 6f 75 63 68 65 64 20 77 6f 72 6b 73 20 77  ntouched works w
41f0: 65 6c 6c 20 66 6f 72 20 61 6c 6d 6f 73 74 20 61  ell for almost a
4200: 6c 6c 20 6c 61 79 65 72 73 2e 0d 0a 0d 0a 20 20  ll layers.....  
4210: 20 20 26 67 74 3b 26 67 74 3b 20 40 74 79 70 65    &gt;&gt; @type
4220: 28 20 31 20 29 0d 0a 20 20 20 20 69 6e 74 0d 0a  ( 1 )..    int..
4230: 20 20 20 20 26 67 74 3b 26 67 74 3b 20 40 74 79      &gt;&gt; @ty
4240: 70 65 28 20 32 20 29 0d 0a 20 20 20 20 69 6e 74  pe( 2 )..    int
4250: 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20 40  ..    &gt;&gt; @
4260: 74 79 70 65 28 20 22 66 6f 6f 22 20 29 0d 0a 20  type( "foo" ).. 
4270: 20 20 20 75 6e 6b 6e 6f 77 6e 0d 0a 0d 0a 20 20     unknown....  
4280: 46 69 6e 65 21 20 4c 65 74 27 73 20 74 72 79 20  Fine! Let's try 
4290: 74 6f 20 74 79 70 65 20 31 2b 32 2e 0d 0a 0d 0a  to type 1+2.....
42a0: 20 20 20 20 26 67 74 3b 26 67 74 3b 20 40 74 79      &gt;&gt; @ty
42b0: 70 65 28 20 31 20 2b 20 32 20 29 0d 0a 20 20 20  pe( 1 + 2 )..   
42c0: 20 2e 2e 2e 5c 76 61 6c 75 65 2e 64 28 31 31 39   ...\value.d(119
42d0: 29 3a 20 5b 3c 52 45 50 4c 3e 3a 36 3a 38 5d 20  ): [<REPL>:6:8] 
42e0: 6f 6e 6c 79 20 40 76 61 6c 75 65 20 6c 61 79 65  only @value laye
42f0: 72 20 63 61 6e 20 63 61 6c 6c 20 6e 61 74 69 76  r can call nativ
4300: 65 20 66 75 6e 63 74 69 6f 6e 0d 0a 0d 0a 20 20  e function....  
4310: 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 62 65  Note that the be
4320: 68 61 76 69 6f 72 20 6f 66 20 74 68 69 73 20 70  havior of this p
4330: 72 6f 67 72 61 6d 20 69 73 0d 0a 20 20 20 20 2d  rogram is..    -
4340: 20 72 75 6e 20 31 2b 32 20 69 6e 20 74 68 65 20   run 1+2 in the 
4350: 40 74 79 70 65 20 6c 61 79 65 72 0d 0a 20 20 61  @type layer..  a
4360: 6e 64 20 4e 4f 54 0d 0a 20 20 20 20 2d 20 72 75  nd NOT..    - ru
4370: 6e 20 31 2b 32 20 69 6e 20 40 76 61 6c 75 65 20  n 1+2 in @value 
4380: 61 6e 64 20 6f 62 74 61 69 6e 20 33 20 61 6e 64  and obtain 3 and
4390: 20 72 75 6e 20 33 20 69 6e 20 74 68 65 20 40 74   run 3 in the @t
43a0: 79 70 65 2e 0d 0a 20 20 54 68 65 20 70 72 6f 62  ype...  The prob
43b0: 6c 65 6d 20 69 73 2c 20 74 68 65 20 76 61 72 69  lem is, the vari
43c0: 61 62 6c 65 20 22 2b 22 20 69 73 20 64 65 66 69  able "+" is defi
43d0: 6e 65 64 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20  ned only in the 
43e0: 40 76 61 6c 75 65 20 6c 61 79 65 72 2e 0d 0a 20  @value layer... 
43f0: 20 54 6f 20 63 61 72 72 79 20 6f 75 74 20 63 6f   To carry out co
4400: 6d 70 75 74 61 74 69 6f 6e 20 69 6e 20 74 68 65  mputation in the
4410: 20 40 74 79 70 65 20 6c 61 79 65 72 2e 20 57 65   @type layer. We
4420: 20 6e 65 65 64 20 74 6f 20 64 65 66 69 6e 65 20   need to define 
4430: 69 74 20 61 6c 73 6f 0d 0a 20 20 69 6e 20 74 68  it also..  in th
4440: 65 20 40 74 79 70 65 20 6c 61 79 65 72 2e 0d 0a  e @type layer...
4450: 0d 0a 20 20 54 6f 20 64 65 66 69 6e 65 20 73 6f  ..  To define so
4460: 6d 65 20 76 61 72 69 61 62 6c 65 20 69 6e 20 61  me variable in a
4470: 20 73 70 65 63 69 66 69 63 20 6c 61 79 65 72 2c   specific layer,
4480: 20 75 73 65 20 40 4c 61 79 65 72 4e 61 6d 65 20   use @LayerName 
4490: 69 6e 20 70 6c 61 63 65 20 6f 66 0d 0a 20 20 28  in place of..  (
44a0: 6c 65 74 7c 76 61 72 7c 64 65 66 29 73 2e 0d 0a  let|var|def)s...
44b0: 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20 6c  ..    &gt;&gt; l
44c0: 65 74 20 78 20 3d 20 32 0d 0a 20 20 20 20 26 67  et x = 2..    &g
44d0: 74 3b 26 67 74 3b 20 40 76 61 6c 75 65 20 78 20  t;&gt; @value x 
44e0: 3d 20 32 0d 0a 20 20 20 20 26 67 74 3b 26 67 74  = 2..    &gt;&gt
44f0: 3b 20 40 74 79 70 65 20 78 20 3d 20 22 69 6e 74  ; @type x = "int
4500: 22 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20  "..    &gt;&gt; 
4510: 40 68 6f 67 65 20 78 20 3d 20 22 66 75 67 61 22  @hoge x = "fuga"
4520: 0d 0a 0d 0a 20 20 46 6f 72 20 22 2b 22 2c 20 64  ....  For "+", d
4530: 6f 20 69 74 20 6c 69 6b 65 20 74 68 69 73 2e 0d  o it like this..
4540: 0a 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20  ...    &gt;&gt; 
4550: 40 74 79 70 65 20 22 2b 22 20 3d 20 66 75 6e 28  @type "+" = fun(
4560: 78 2c 79 29 20 7b 40 76 61 6c 75 65 28 0d 0a 20  x,y) {@value(.. 
4570: 20 20 20 26 67 74 3b 26 67 74 3b 20 20 20 69 66     &gt;&gt;   if
4580: 28 20 40 74 79 70 65 28 78 29 3d 3d 22 69 6e 74  ( @type(x)=="int
4590: 22 20 26 61 6d 70 3b 26 61 6d 70 3b 20 40 74 79  " &amp;&amp; @ty
45a0: 70 65 28 79 29 3d 3d 22 69 6e 74 22 20 29 20 7b  pe(y)=="int" ) {
45b0: 20 22 69 6e 74 22 20 7d 20 65 6c 73 65 20 7b 20   "int" } else { 
45c0: 22 74 79 70 65 65 72 72 6f 72 22 20 7d 0d 0a 20  "typeerror" }.. 
45d0: 20 20 20 26 67 74 3b 26 67 74 3b 20 29 7d 0d 0a     &gt;&gt; )}..
45e0: 20 20 20 20 70 6f 6c 65 6d 79 2e 76 61 6c 75 65      polemy.value
45f0: 2e 6e 61 74 69 76 65 21 28 49 6e 74 56 61 6c 75  .native!(IntValu
4600: 65 2c 49 6e 74 56 61 6c 75 65 2c 49 6e 74 56 61  e,IntValue,IntVa
4610: 6c 75 65 29 2e 6e 61 74 69 76 65 2e 5f 5f 61 6e  lue).native.__an
4620: 6f 6e 63 6c 61 73 73 32 34 0d 0a 0d 0a 20 20 49  onclass24....  I
4630: 74 20 69 73 20 6a 75 73 74 20 63 6f 6d 70 75 74  t is just comput
4640: 69 6e 67 20 74 68 65 20 72 65 74 75 72 6e 20 74  ing the return t
4650: 79 70 65 20 66 72 6f 6d 20 74 68 65 20 69 6e 70  ype from the inp
4660: 75 74 20 74 79 70 65 2e 0d 0a 20 20 4e 6f 74 20  ut type...  Not 
4670: 68 65 72 65 20 74 68 61 74 20 74 68 65 20 69 6e  here that the in
4680: 74 65 6e 64 65 64 20 22 6d 65 61 6e 69 6e 67 22  tended "meaning"
4690: 20 6f 66 20 69 66 2d 74 68 65 6e 2d 65 6c 73 65   of if-then-else
46a0: 20 69 73 20 74 68 65 20 72 75 6e 74 69 6d 65 2d   is the runtime-
46b0: 62 72 61 6e 63 68 69 6e 67 2c 0d 0a 20 20 61 6e  branching,..  an
46c0: 64 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66  d the meaning of
46d0: 20 22 3d 3d 22 20 69 73 20 74 68 65 20 76 61 6c   "==" is the val
46e0: 75 65 2d 63 6f 6d 70 61 72 69 73 6f 6e 2e 20 54  ue-comparison. T
46f0: 68 65 73 65 20 61 72 65 20 74 68 65 20 40 76 61  hese are the @va
4700: 6c 75 65 20 6c 61 79 65 72 0d 0a 20 20 62 65 68  lue layer..  beh
4710: 61 76 69 6f 72 2e 20 53 6f 20 77 65 20 68 61 76  avior. So we hav
4720: 65 20 64 65 66 69 6e 65 64 20 74 68 65 20 66 75  e defined the fu
4730: 6e 63 74 69 6f 6e 20 62 6f 64 79 20 69 6e 73 69  nction body insi
4740: 64 65 20 40 76 61 6c 75 65 20 6c 61 79 65 72 2e  de @value layer.
4750: 0d 0a 20 20 42 75 74 20 77 68 65 6e 20 77 65 20  ..  But when we 
4760: 72 65 66 65 72 20 74 68 65 20 76 61 72 69 61 62  refer the variab
4770: 6c 65 73 20 78 20 61 6e 64 20 79 2c 20 77 65 20  les x and y, we 
4780: 6e 65 65 64 20 69 74 73 20 40 74 79 70 65 20 6c  need its @type l
4790: 61 79 65 72 20 6d 65 61 6e 69 6e 67 2e 0d 0a 20  ayer meaning... 
47a0: 20 48 65 6e 63 65 20 77 65 20 75 73 65 20 40 74   Hence we use @t
47b0: 79 70 65 28 29 20 74 68 65 72 65 2e 0d 0a 0d 0a  ype() there.....
47c0: 20 20 4e 6f 77 20 77 65 20 67 65 74 20 69 74 2e    Now we get it.
47d0: 0d 0a 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b  ....    &gt;&gt;
47e0: 20 40 74 79 70 65 28 20 31 20 2b 20 32 20 29 0d   @type( 1 + 2 ).
47f0: 0a 20 20 20 20 69 6e 74 0d 0a 0d 0a 20 20 57 65  .    int....  We
4800: 6c 6c 2c 20 62 75 74 20 64 6f 20 77 65 20 68 61  ll, but do we ha
4810: 76 65 20 74 6f 20 64 65 66 69 6e 65 20 74 68 65  ve to define the
4820: 20 40 74 79 70 65 20 6c 61 79 65 72 20 6d 65 61   @type layer mea
4830: 6e 69 6e 67 20 66 6f 72 20 65 76 65 72 79 20 76  ning for every v
4840: 61 72 69 61 62 6c 65 73 3f 3f 3f 0d 0a 20 20 4e  ariables???..  N
4850: 6f 2e 20 41 66 74 65 72 20 79 6f 75 20 64 65 66  o. After you def
4860: 69 6e 65 64 20 40 74 79 70 65 20 22 2b 22 2c 20  ined @type "+", 
4870: 79 6f 75 27 6c 6c 20 61 75 74 6f 6d 61 74 69 63  you'll automatic
4880: 61 6c 6c 79 20 67 65 74 20 74 68 65 20 66 6f 6c  ally get the fol
4890: 6c 6f 77 69 6e 67 3a 0d 0a 0d 0a 20 20 20 20 26  lowing:....    &
48a0: 67 74 3b 26 67 74 3b 20 64 65 66 20 64 6f 75 62  gt;&gt; def doub
48b0: 6c 65 28 78 29 20 7b 20 78 20 2b 20 78 20 7d 0d  le(x) { x + x }.
48c0: 0a 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 3a 31  .    (function:1
48d0: 37 65 34 37 34 30 3a 31 37 38 39 37 32 30 29 0d  7e4740:1789720).
48e0: 0a 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20  ...    &gt;&gt; 
48f0: 40 74 79 70 65 28 20 64 6f 75 62 6c 65 28 31 32  @type( double(12
4900: 33 29 20 29 0d 0a 20 20 20 20 69 6e 74 0d 0a 0d  3) )..    int...
4910: 0a 20 20 45 76 65 72 79 20 75 73 65 72 2d 64 65  .  Every user-de
4920: 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 73 20  fined functions 
4930: 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  are automaticall
4940: 79 20 22 6c 69 66 74 22 65 64 20 74 6f 20 74 68  y "lift"ed to th
4950: 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 6c 61  e appropriate la
4960: 79 65 72 2e 0d 0a 20 20 4f 6e 6c 79 20 70 72 69  yer...  Only pri
4970: 6d 69 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 73  mitive functions
4980: 20 6c 69 6b 65 20 22 2b 22 20 72 65 71 75 69 72   like "+" requir
4990: 65 73 20 40 79 6f 75 72 4e 65 77 4c 61 79 65 72  es @yourNewLayer
49a0: 20 61 6e 6e 6f 74 61 74 69 6f 6e 2e 0d 0a 0d 0a   annotation.....
49b0: 0d 0a 0d 0a 5b 4c 61 79 65 72 73 20 3a 3a 20 6e  ....[Layers :: n
49c0: 65 75 74 72 61 6c 2d 6c 61 79 65 72 5d 0d 0a 0d  eutral-layer]...
49d0: 0a 20 20 6c 65 74 7c 76 61 72 7c 64 65 66 20 69  .  let|var|def i
49e0: 73 20 74 6f 20 64 65 66 69 6e 65 20 61 20 76 61  s to define a va
49f0: 72 69 61 62 6c 65 20 69 6e 20 74 68 65 20 22 63  riable in the "c
4a00: 75 72 72 65 6e 74 22 20 6c 61 79 65 72 2e 0d 0a  urrent" layer...
4a10: 20 20 4e 6f 74 20 6e 65 63 65 73 73 61 72 79 20    Not necessary 
4a20: 74 6f 20 74 68 65 20 40 76 61 6c 75 65 20 6c 61  to the @value la
4a30: 79 65 72 2e 0d 0a 0d 0a 20 20 20 20 26 67 74 3b  yer.....    &gt;
4a40: 26 67 74 3b 20 40 76 61 6c 75 65 28 20 6c 65 74  &gt; @value( let
4a50: 20 78 20 3d 20 31 20 69 6e 20 40 76 61 6c 75 65   x = 1 in @value
4a60: 28 78 29 20 29 0d 0a 20 20 20 20 31 0d 0a 0d 0a  (x) )..    1....
4a70: 20 20 20 20 26 67 74 3b 26 67 74 3b 20 40 6d 61      &gt;&gt; @ma
4a80: 63 72 6f 28 20 6c 65 74 20 78 20 3d 20 31 20 69  cro( let x = 1 i
4a90: 6e 20 40 76 61 6c 75 65 28 78 29 20 29 0d 0a 20  n @value(x) ).. 
4aa0: 20 20 20 70 6f 6c 65 6d 79 2e 66 61 69 6c 75 72     polemy.failur
4ab0: 65 2e 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69  e.RuntimeExcepti
4ac0: 6f 6e 3a 20 5b 3c 52 45 50 4c 3e 3a 31 34 3a 32  on: [<REPL>:14:2
4ad0: 39 5d 20 76 61 72 69 61 62 6c 65 20 78 20 6e 6f  9] variable x no
4ae0: 74 20 66 6f 75 6e 64 0d 0a 0d 0a 20 20 20 20 26  t found....    &
4af0: 67 74 3b 26 67 74 3b 20 40 6d 61 63 72 6f 28 20  gt;&gt; @macro( 
4b00: 6c 65 74 20 78 20 3d 20 31 20 69 6e 20 40 6d 61  let x = 1 in @ma
4b10: 63 72 6f 28 78 29 20 29 0d 0a 20 20 20 20 7b 70  cro(x) )..    {p
4b20: 6f 73 40 76 61 6c 75 65 3a 7b 6c 69 6e 65 6e 6f  os@value:{lineno
4b30: 40 76 61 6c 75 65 3a 31 35 2c 20 2e 2e 2e 0d 0a  @value:15, .....
4b40: 0d 0a 0d 0a 0d 0a 5b 4c 61 79 65 72 73 20 3a 3a  ......[Layers ::
4b50: 20 4c 61 79 65 72 65 64 2d 50 61 72 61 6d 65 74   Layered-Paramet
4b60: 65 72 73 5d 0d 0a 0d 0a 20 20 20 20 26 67 74 3b  ers]....    &gt;
4b70: 26 67 74 3b 20 64 65 66 20 66 6f 6f 28 78 20 40  &gt; def foo(x @
4b80: 6d 61 63 72 6f 20 40 76 61 6c 75 65 29 20 7b 20  macro @value) { 
4b90: 7b 66 73 74 3a 20 78 2c 20 73 6e 64 3a 20 40 6d  {fst: x, snd: @m
4ba0: 61 63 72 6f 28 78 29 7d 20 7d 0d 0a 20 20 20 20  acro(x)} }..    
4bb0: 28 66 75 6e 63 74 69 6f 6e 3a 31 37 33 30 33 36  (function:173036
4bc0: 30 3a 31 37 38 39 37 32 30 29 0d 0a 0d 0a 20 20  0:1789720)....  
4bd0: 49 66 20 79 6f 75 20 61 6e 6e 6f 74 61 74 65 20  If you annotate 
4be0: 66 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74  function paramet
4bf0: 65 72 73 20 62 79 20 40 4c 61 79 65 72 4e 61 6d  ers by @LayerNam
4c00: 65 73 2c 20 77 68 65 6e 20 79 6f 75 20 69 6e 76  es, when you inv
4c10: 6f 6b 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e  oke the function
4c20: 2e 2e 2e 0d 0a 0d 0a 20 20 20 20 26 67 74 3b 26  .......    &gt;&
4c30: 67 74 3b 20 66 6f 6f 28 31 2b 32 29 0d 0a 20 20  gt; foo(1+2)..  
4c40: 20 20 7b 73 6e 64 40 76 61 6c 75 65 3a 20 7b 70    {snd@value: {p
4c50: 6f 73 40 76 61 6c 75 65 3a 7b 6c 69 6e 65 6e 6f  os@value:{lineno
4c60: 40 76 61 6c 75 65 3a 31 37 2c 20 63 6f 6c 75 6d  @value:17, colum
4c70: 6e 40 76 61 6c 75 65 3a 35 2c 20 66 69 6c 65 6e  n@value:5, filen
4c80: 61 6d 65 40 76 61 6c 75 65 3a 3c 52 45 50 4c 3e  ame@value:<REPL>
4c90: 7d 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  },..            
4ca0: 20 20 20 20 20 20 69 73 40 76 61 6c 75 65 3a 61        is@value:a
4cb0: 70 70 2c 20 61 72 67 40 76 61 6c 75 65 3a 7b 2e  pp, arg@value:{.
4cc0: 2e 2e 0d 0a 20 20 20 20 2f 66 73 74 40 76 61 6c  ....    /fst@val
4cd0: 75 65 3a 33 0d 0a 20 20 20 20 2f 7d 0d 0a 0d 0a  ue:3..    /}....
4ce0: 20 20 69 74 73 20 63 6f 72 72 65 73 70 6f 6e 64    its correspond
4cf0: 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 20 61 72  ing arguments ar
4d00: 65 20 65 76 61 6c 75 61 74 65 64 20 69 6e 20 74  e evaluated in t
4d10: 68 65 20 6c 61 79 65 72 20 61 6e 64 20 70 61 73  he layer and pas
4d20: 73 65 64 20 74 6f 20 69 74 2e 0d 0a 20 20 49 66  sed to it...  If
4d30: 20 79 6f 75 20 73 70 65 63 69 66 79 20 6d 75 6c   you specify mul
4d40: 74 69 70 6c 65 20 6c 61 79 65 72 73 2c 20 74 68  tiple layers, th
4d50: 65 20 61 72 67 75 6d 65 6e 74 20 65 78 70 72 65  e argument expre
4d60: 73 73 69 6f 6e 20 69 73 20 72 75 6e 20 6d 75 6c  ssion is run mul
4d70: 74 69 70 6c 65 20 74 69 6d 65 73 2e 0d 0a 20 20  tiple times...  
4d80: 49 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 73 70  If you do not sp
4d90: 65 63 69 66 79 20 61 6e 79 20 6c 61 79 65 72 20  ecify any layer 
4da0: 66 6f 72 20 61 20 70 61 72 61 6d 65 74 65 72 2c  for a parameter,
4db0: 20 69 74 20 77 6f 72 6b 73 20 69 6e 20 74 68 65   it works in the
4dc0: 20 6e 65 75 74 72 61 6c 20 6c 61 79 65 72 2e 0d   neutral layer..
4dd0: 0a 3c 2f 70 72 65 3e 0d 0a 3c 2f 64 64 3e 0d 0a  .</pre>..</dd>..
4de0: 0d 0a 0d 0a 0d 0a 3c 73 63 72 69 70 74 3e 65 78  ......<script>ex
4df0: 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77  plorer.outline.w
4e00: 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 74 72  riteEnabled = tr
4e10: 75 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c 64  ue;</script>..<d
4e20: 74 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 64  t><span class="d
4e30: 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e 20 63 6c 61  ecl">..<span cla
4e40: 73 73 3d 22 63 75 72 72 73 79 6d 62 6f 6c 22 3e  ss="currsymbol">
4e50: 4d 61 63 72 6f 20 4c 61 79 65 72 73 3c 2f 73 70  Macro Layers</sp
4e60: 61 6e 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70  an>..<script>exp
4e70: 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 61 64  lorer.outline.ad
4e80: 64 44 65 63 6c 28 27 4d 61 63 72 6f 20 4c 61 79  dDecl('Macro Lay
4e90: 65 72 73 27 29 3b 3c 2f 73 63 72 69 70 74 3e 0d  ers');</script>.
4ea0: 0a 0d 0a 3c 2f 73 70 61 6e 3e 3c 2f 64 74 3e 0d  ...</span></dt>.
4eb0: 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f 72 65  .<script>explore
4ec0: 72 2e 6f 75 74 6c 69 6e 65 2e 77 72 69 74 65 45  r.outline.writeE
4ed0: 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 3c  nabled = false;<
4ee0: 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 20 3c 64 64  /script>.... <dd
4ef0: 3e 3c 70 3e 0d 0a 50 6f 6c 65 6d 79 20 e8 a8 80  ><p>..Polemy ...
4f00: e8 aa 9e e7 b5 84 e3 81 bf e8 be bc e3 81 bf e3  ................
4f10: 81 ae e3 83 ac e3 82 a4 e3 83 a4 e3 81 af 20 3c  .............. <
4f20: 63 6f 64 65 3e 40 76 61 6c 75 65 3c 2f 63 6f 64  code>@value</cod
4f30: 65 3e 20 e3 81 a8 20 3c 63 6f 64 65 3e 40 6d 61  e> ... <code>@ma
4f40: 63 72 6f 3c 2f 63 6f 64 65 3e 20 e3 81 ae e4 ba  cro</code> .....
4f50: 8c e3 81 a4 e3 81 a7 e3 81 99 e3 80 82 0d 0a ef  ................
4f60: bc 88 e5 86 85 e9 83 a8 e7 9a 84 e3 81 ab e3 81  ................
4f70: af e3 82 82 e3 81 86 e3 81 84 e3 81 8f e3 81 a4  ................
4f80: e3 81 8b e3 81 82 e3 82 8a e3 81 be e3 81 99 e3  ................
4f90: 81 8c e3 80 81 e3 83 a6 e3 83 bc e3 82 b6 e3 81  ................
4fa0: 8b e3 82 89 e7 9b b4 e6 8e a5 e3 81 af e4 bd bf  ................
4fb0: e3 81 88 e3 81 be e3 81 9b e3 82 93 e3 80 82 ef  ................
4fc0: bc 89 0d 0a 3c 63 6f 64 65 3e 40 76 61 6c 75 65  ....<code>@value
4fd0: 3c 2f 63 6f 64 65 3e 20 e3 81 af e3 80 81 e3 80  </code> ........
4fe0: 8c e6 99 ae e9 80 9a e3 81 ab e3 80 8d e6 99 ae  ................
4ff0: e9 80 9a e3 81 ae e3 82 bb e3 83 9e e3 83 b3 e3  ................
5000: 83 86 e3 82 a3 e3 82 af e3 82 b9 e3 81 a7 e3 83  ................
5010: 97 e3 83 ad e3 82 b0 e3 83 a9 e3 83 a0 e3 82 92  ................
5020: e5 ae 9f e8 a1 8c e3 81 99 e3 82 8b e3 83 ac e3  ................
5030: 82 a4 e3 83 a4 e3 81 a7 e3 81 97 e3 81 9f e3 80  ................
5040: 82 0d 0a 3c 63 6f 64 65 3e 40 6d 61 63 72 6f 3c  ...<code>@macro<
5050: 2f 63 6f 64 65 3e 20 e3 81 af e3 80 81 e5 ae 9f  /code> .........
5060: e3 81 af e3 80 81 3c 63 6f 64 65 3e 40 76 61 6c  ......<code>@val
5070: 75 65 3c 2f 63 6f 64 65 3e 20 e3 82 88 e3 82 8a  ue</code> ......
5080: e3 82 82 e5 89 8d e3 81 ab e5 ae 9f e8 a1 8c e3  ................
5090: 81 95 e3 82 8c e3 82 8b e3 83 ac e3 82 a4 e3 83  ................
50a0: a4 e3 81 a7 e3 80 81 0d 0a e3 80 8c e3 83 97 e3  ................
50b0: 83 ad e3 82 b0 e3 83 a9 e3 83 a0 e3 82 92 e5 ae  ................
50c0: 9f e8 a1 8c e3 81 99 e3 82 8b e3 81 a8 e3 81 9d  ................
50d0: e3 81 ae e6 a7 8b e6 96 87 e6 9c a8 e3 82 92 e8  ................
50e0: bf 94 e3 81 99 e3 80 8d e3 81 a8 e3 81 84 e3 81  ................
50f0: 86 e3 82 bb e3 83 9e e3 83 b3 e3 83 86 e3 82 a3  ................
5100: e3 82 af e3 82 b9 e3 81 a7 e5 8b 95 e3 81 8d e3  ................
5110: 81 be e3 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a  ..........</p>..
5120: 3c 70 72 65 3e 0d 0a 20 20 20 20 28 e3 81 93 e3  <pre>..    (....
5130: 81 93 e3 81 ab e4 be 8b 29 0d 0a 3c 2f 70 72 65  ........)..</pre
5140: 3e 0d 0a 3c 70 3e 0d 0a e5 8b 95 e3 81 8d e3 81  >..<p>..........
5150: a8 e3 81 97 e3 81 a6 e3 81 af e3 81 93 e3 81 86  ................
5160: e3 81 a7 e3 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d  ...........</p>.
5170: 0a 3c 6f 6c 3e 0d 0a 3c 6c 69 3e e9 96 a2 e6 95  .<ol>..<li>.....
5180: b0 e5 91 bc e3 81 b3 e5 87 ba e3 81 97 e6 99 82  ................
5190: ef bc 88 e3 81 a8 e3 83 88 e3 83 83 e3 83 97 e3  ................
51a0: 83 ac e3 83 99 e3 83 ab e7 92 b0 e5 a2 83 e3 81  ................
51b0: ae e5 ae 9f e8 a1 8c e9 96 8b e5 a7 8b e6 99 82  ................
51c0: ef bc 89 e3 81 ab e3 80 81 0d 0a 09 e3 81 be e3  ................
51d0: 81 9a e3 80 81 3c 63 6f 64 65 3e 40 6d 61 63 72  .....<code>@macr
51e0: 6f 3c 2f 63 6f 64 65 3e 20 e3 83 ac e3 82 a4 e3  o</code> .......
51f0: 83 a4 e3 81 a7 e3 82 b3 e3 83 bc e3 83 89 e3 82  ................
5200: 92 e5 ae 9f e8 a1 8c e3 80 82 3c 2f 6c 69 3e 0d  ..........</li>.
5210: 0a 3c 6c 69 3e e8 bf 94 e3 81 a3 e3 81 a6 e3 81  .<li>...........
5220: 8d e3 81 9f e6 a7 8b e6 96 87 e6 9c a8 e3 82 92  ................
5230: e3 80 81 3c 63 6f 64 65 3e 40 76 61 6c 75 65 3c  ...<code>@value<
5240: 2f 63 6f 64 65 3e 20 e3 83 ac e3 82 a4 e3 83 a4  /code> .........
5250: e3 80 81 0d 0a 09 e3 81 be e3 81 9f e3 81 af e3  ................
5260: 81 9d e3 81 ae e9 96 a2 e6 95 b0 e3 82 92 e5 91  ................
5270: bc e3 81 b3 e5 87 ba e3 81 97 e3 81 9f e3 81 a8  ................
5280: e3 81 8d e3 81 ae e3 83 ac e3 82 a4 e3 83 a4 e3  ................
5290: 81 a7 e5 ae 9f e8 a1 8c e3 80 82 3c 2f 6c 69 3e  ...........</li>
52a0: 0d 0a 3c 2f 6f 6c 3e 0d 0a 3c 70 3e 0d 0a 3c 63  ..</ol>..<p>..<c
52b0: 6f 64 65 3e 40 6d 61 63 72 6f 3c 2f 63 6f 64 65  ode>@macro</code
52c0: 3e 20 e3 83 ac e3 82 a4 e3 83 a4 e3 82 82 e6 89  > ..............
52d0: 80 e8 a9 ae e3 81 9f e3 81 a0 e3 81 ae e3 83 ac  ................
52e0: e3 82 a4 e3 83 a4 e3 81 a7 e3 81 99 e3 81 ae e3  ................
52f0: 81 a7 e3 80 81 0d 0a e4 b8 8a e3 81 a7 e8 aa ac  ................
5300: e6 98 8e e3 81 97 e3 81 9f e6 96 b9 e6 b3 95 e3  ................
5310: 81 a7 20 3c 63 6f 64 65 3e 40 6d 61 63 72 6f 3c  .. <code>@macro<
5320: 2f 63 6f 64 65 3e 20 e3 83 ac e3 82 a4 e3 83 a4  /code> .........
5330: e3 81 ab e9 96 a2 e6 95 b0 e3 81 aa e3 81 a9 e3  ................
5340: 82 92 e7 99 bb e9 8c b2 e3 81 97 e3 81 a6 e3 81  ................
5350: 8a e3 81 8f e3 81 93 e3 81 a8 e3 81 a7 e3 80 81  ................
5360: 0d 0a e6 a7 8b e6 96 87 e6 9c a8 e3 81 ae e7 94  ................
5370: 9f e6 88 90 e3 82 92 e3 81 84 e3 81 98 e3 82 8b  ................
5380: e3 81 93 e3 81 a8 e3 81 8c e5 8f af e8 83 bd e3  ................
5390: 81 a7 e3 81 99 e3 80 82 e3 81 be e3 81 95 e3 81  ................
53a0: ab e3 83 9e e3 82 af e3 83 ad e3 80 82 0d 0a 3c  ...............<
53b0: 2f 70 3e 0d 0a 0d 0a 0d 0a 3c 73 63 72 69 70 74  /p>......<script
53c0: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
53d0: 65 2e 69 6e 63 53 79 6d 62 6f 6c 4c 65 76 65 6c  e.incSymbolLevel
53e0: 28 29 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c 64  ();</script>..<d
53f0: 6c 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c  l>..<script>expl
5400: 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77 72 69  orer.outline.wri
5410: 74 65 45 6e 61 62 6c 65 64 20 3d 20 74 72 75 65  teEnabled = true
5420: 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c 64 74 3e  ;</script>..<dt>
5430: 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 64 65 63  <span class="dec
5440: 6c 22 3e 0d 0a 3c 73 70 61 6e 20 63 6c 61 73 73  l">..<span class
5450: 3d 22 63 75 72 72 73 79 6d 62 6f 6c 22 3e e6 a6  ="currsymbol">..
5460: 82 e8 a6 81 3c 2f 73 70 61 6e 3e 0d 0a 3c 73 63  ....</span>..<sc
5470: 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75  ript>explorer.ou
5480: 74 6c 69 6e 65 2e 61 64 64 44 65 63 6c 28 27 e6  tline.addDecl('.
5490: a6 82 e8 a6 81 27 29 3b 3c 2f 73 63 72 69 70 74  .....');</script
54a0: 3e 0d 0a 0d 0a 3c 2f 73 70 61 6e 3e 3c 2f 64 74  >....</span></dt
54b0: 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f  >..<script>explo
54c0: 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77 72 69 74  rer.outline.writ
54d0: 65 45 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65  eEnabled = false
54e0: 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 20 3c  ;</script>.... <
54f0: 64 64 3e 3c 70 3e 0d 0a 73 61 6d 70 6c 65 73 2f  dd><p>..samples/
5500: 6d 61 63 72 6f 2e 70 6d 79 20 e3 81 ab e3 81 84  macro.pmy ......
5510: e3 81 8f e3 81 a4 e3 81 8b e4 bd bf e3 81 84 e6  ................
5520: 96 b9 e3 82 b5 e3 83 b3 e3 83 97 e3 83 ab e3 81  ................
5530: 8c e7 bd ae e3 81 84 e3 81 a6 e3 81 82 e3 82 8a  ................
5540: e3 81 be e3 81 99 e3 81 ae e3 81 a7 e3 80 81 e8  ................
5550: a9 b3 e3 81 97 e3 81 8f e3 81 af e3 81 9d e3 81  ................
5560: a1 e3 82 89 e3 82 92 e3 81 a9 e3 81 86 e3 81 9e  ................
5570: e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e  .....</p>..<pre>
5580: 0d 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20 40  ..    &gt;&gt; @
5590: 6d 61 63 72 6f 28 20 74 77 69 63 65 28 70 72 69  macro( twice(pri
55a0: 6e 74 28 22 48 65 6c 6c 6f 22 29 29 20 29 0d 0a  nt("Hello")) )..
55b0: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 70 6f 73      {..      pos
55c0: 3a 20 7b 6c 69 6e 65 6e 6f 3a 31 2c 20 63 6f 6c  : {lineno:1, col
55d0: 75 6d 6e 3a 39 2c 20 66 69 6c 65 6e 61 6d 65 3a  umn:9, filename:
55e0: 3c 52 45 50 4c 3e 7d 2c 0d 0a 20 20 20 20 20 61  <REPL>},..     a
55f0: 72 67 73 3a 20 5b 20 7b 20 70 6f 73 3a 20 7b 6c  rgs: [ { pos: {l
5600: 69 6e 65 6e 6f 3a 31 2c 20 63 6f 6c 75 6d 6e 3a  ineno:1, column:
5610: 31 35 2c 20 66 69 6c 65 6e 61 6d 65 3a 3c 52 45  15, filename:<RE
5620: 50 4c 3e 7d 2c 0d 0a 20 20 20 20 20 20 20 20 20  PL>},..         
5630: 20 20 20 20 20 61 72 67 73 3a 20 5b 7b 70 6f 73       args: [{pos
5640: 3a 7b 6c 69 6e 65 6e 6f 3a 31 2c 20 63 6f 6c 75  :{lineno:1, colu
5650: 6d 6e 3a 32 31 2c 20 66 69 6c 65 6e 61 6d 65 3a  mn:21, filename:
5660: 3c 52 45 50 4c 3e 7d 2c 0d 0a 20 20 20 20 20 20  <REPL>},..      
5670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
5680: 20 69 73 3a 53 74 72 2c 0d 0a 20 20 20 20 20 20   is:Str,..      
5690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64                 d
56a0: 61 74 61 3a 48 65 6c 6c 6f 7d 5d 2c 0d 0a 20 20  ata:Hello}],..  
56b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73                is
56c0: 3a 20 41 70 70 2c 0d 0a 20 20 20 20 20 20 20 20  : App,..        
56d0: 20 20 20 20 20 20 20 66 75 6e 3a 20 7b 70 6f 73         fun: {pos
56e0: 3a 7b 6c 69 6e 65 6e 6f 3a 31 2c 20 63 6f 6c 75  :{lineno:1, colu
56f0: 6d 6e 3a 31 35 2c 20 66 69 6c 65 6e 61 6d 65 3a  mn:15, filename:
5700: 3c 52 45 50 4c 3e 7d 2c 20 69 73 3a 56 61 72 2c  <REPL>}, is:Var,
5710: 20 6e 61 6d 65 3a 70 72 69 6e 74 7d 7d 0d 0a 20   name:print}}.. 
5720: 20 20 20 20 20 20 20 20 20 20 5d 2c 0d 0a 20 20            ],..  
5730: 20 20 20 20 20 69 73 3a 20 41 70 70 2c 0d 0a 20       is: App,.. 
5740: 20 20 20 20 20 66 75 6e 3a 20 7b 70 6f 73 3a 7b       fun: {pos:{
5750: 6c 69 6e 65 6e 6f 3a 31 2c 20 63 6f 6c 75 6d 6e  lineno:1, column
5760: 3a 39 2c 20 66 69 6c 65 6e 61 6d 65 3a 3c 52 45  :9, filename:<RE
5770: 50 4c 3e 7d 2c 20 69 73 3a 56 61 72 2c 20 6e 61  PL>}, is:Var, na
5780: 6d 65 3a 74 77 69 63 65 7d 0d 0a 20 20 20 20 7d  me:twice}..    }
5790: 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 70 3e 0d 0a e8  ..</pre>..<p>...
57a0: a9 b3 e7 b4 b0 e3 81 af e6 b0 97 e3 81 ab e3 81  ................
57b0: 97 e3 81 aa e3 81 8f e3 81 a6 e6 a7 8b e3 81 84  ................
57c0: e3 81 be e3 81 9b e3 82 93 e3 81 8c e3 80 81 e3  ................
57d0: 81 a8 e3 81 ab e3 81 8b e3 81 8f e3 80 81 3c 74  ..............<t
57e0: 74 3e 40 6d 61 63 72 6f 3c 2f 74 74 3e 20 e3 83  t>@macro</tt> ..
57f0: ac e3 82 a4 e3 83 a4 e3 81 a7 e3 81 af e3 80 81  ................
5800: 0d 0a e5 9f ba e6 9c ac e7 9a 84 e3 81 ab e3 81  ................
5810: af e3 80 81 e3 82 b3 e3 83 bc e3 83 89 e3 82 92  ................
5820: e5 ae 9f e8 a1 8c e3 81 99 e3 82 8b e3 81 a8 e3  ................
5830: 81 9d e3 81 ae e3 82 b3 e3 83 bc e3 83 89 e3 81  ................
5840: ae e6 a7 8b e6 96 87 e6 9c a8 e3 81 8c e3 81 a7  ................
5850: e3 81 a6 e3 81 8d e3 81 be e3 81 99 e3 80 82 0d  ................
5860: 0a e3 81 93 e3 81 ae e6 8c 99 e5 8b 95 e3 81 af  ................
5870: 20 3c 74 74 3e 40 6d 61 63 72 6f 3c 2f 74 74 3e   <tt>@macro</tt>
5880: 20 e3 83 ac e3 82 a4 e3 83 a4 e3 81 ae e5 a4 89   ...............
5890: e6 95 b0 e3 82 92 e3 82 bb e3 83 83 e3 83 88 e3  ................
58a0: 81 99 e3 82 8b e3 81 93 e3 81 a8 e3 81 a7 e3 80  ................
58b0: 81 e3 82 ab e3 82 b9 e3 82 bf e3 83 9e e3 82 a4  ................
58c0: e3 82 ba e3 81 a7 e3 81 8d e3 81 be e3 81 99 e3  ................
58d0: 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e 0d  ....</p>..<pre>.
58e0: 0a 20 20 20 20 26 67 74 3b 26 67 74 3b 20 40 6d  .    &gt;&gt; @m
58f0: 61 63 72 6f 20 74 77 69 63 65 28 78 29 20 7b 20  acro twice(x) { 
5900: 78 3b 20 78 20 7d 20 69 6e 20 74 77 69 63 65 28  x; x } in twice(
5910: 70 72 69 6e 74 28 22 48 65 6c 6c 6f 22 29 29 0d  print("Hello")).
5920: 0a 20 20 20 20 48 65 6c 6c 6f 0d 0a 20 20 20 20  .    Hello..    
5930: 48 65 6c 6c 6f 0d 0a 20 20 20 20 48 65 6c 6c 6f  Hello..    Hello
5940: 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 70 3e 0d 0a ef  ..</pre>..<p>...
5950: bc 88 ef bc 93 e5 9b 9e e5 87 ba e5 8a 9b e3 81  ................
5960: 95 e3 82 8c e3 81 a6 e3 81 be e3 81 99 e3 81 8c  ................
5970: e3 80 81 ef bc 93 e5 80 8b e7 9b ae e3 81 af 20  ............... 
5980: 3c 74 74 3e 70 72 69 6e 74 28 78 29 3c 2f 74 74  <tt>print(x)</tt
5990: 3e 20 e3 81 ae e8 bf 94 e5 80 a4 e3 81 af 20 3c  > ............ <
59a0: 74 74 3e 78 3c 2f 74 74 3e 20 e3 81 aa e3 81 ae  tt>x</tt> ......
59b0: e3 81 a7 e3 80 81 0d 0a e3 81 9d e3 82 8c e3 81  ................
59c0: 8c 52 45 50 4c e3 81 ab e3 82 88 e3 81 a3 e3 81  .REPL...........
59d0: a6 e5 8d b0 e5 ad 97 e3 81 95 e3 82 8c e3 81 a6  ................
59e0: e3 81 84 e3 82 8b e3 81 a0 e3 81 91 e3 81 a7 e3  ................
59f0: 81 99 e3 80 82 ef bc 89 0d 0a 3c 74 74 3e 40 6d  ..........<tt>@m
5a00: 61 63 72 6f 3c 2f 74 74 3e 20 e3 83 ac e3 82 a4  acro</tt> ......
5a10: e3 83 a4 e3 81 a7 20 3c 74 74 3e 69 6e 3c 2f 74  ...... <tt>in</t
5a20: 74 3e 20 e4 bb a5 e9 99 8d e3 82 92 e5 ae 9f e8  t> .............
5a30: a1 8c e3 81 99 e3 82 8b e3 81 a8 e3 80 81 3c 74  ..............<t
5a40: 74 3e 70 72 69 6e 74 28 22 48 65 6c 6c 6f 22 29  t>print("Hello")
5a50: 3c 2f 74 74 3e 20 e3 81 a8 e3 81 84 e3 81 86 e5  </tt> ..........
5a60: bc 8f e3 82 92 e8 a1 a8 e3 81 99 e6 a7 8b e6 96  ................
5a70: 87 e6 9c a8 e3 81 8c e4 bd 9c e3 82 89 e3 82 8c  ................
5a80: e3 80 81 0d 0a e3 81 9d e3 82 8c e3 81 8c 20 3c  .............. <
5a90: 74 74 3e 74 77 69 63 65 3c 2f 74 74 3e 20 e9 96  tt>twice</tt> ..
5aa0: a2 e6 95 b0 e3 81 ab e6 b8 a1 e3 81 95 e3 82 8c  ................
5ab0: e3 81 be e3 81 99 e3 80 82 3c 74 74 3e 74 77 69  .........<tt>twi
5ac0: 63 65 3c 2f 74 74 3e 20 e3 81 ae e4 b8 ad e8 ba  ce</tt> ........
5ad0: ab e3 82 82 20 3c 74 74 3e 40 6d 61 63 72 6f 3c  .... <tt>@macro<
5ae0: 2f 74 74 3e 20 e3 83 ac e3 82 a4 e3 83 a4 e3 81  /tt> ...........
5af0: a7 e5 ae 9f e8 a1 8c e3 81 95 e3 82 8c e3 82 8b  ................
5b00: e3 81 ae e3 81 a7 e3 80 81 0d 0a e6 a7 8b e6 96  ................
5b10: 87 e6 9c a8 e3 82 92 e4 bd 9c e3 82 8d e3 81 86  ................
5b20: e3 81 a8 e3 81 97 e3 81 be e3 81 99 e3 81 8c e3  ................
5b30: 80 81 e5 a4 89 e6 95 b0 20 3c 74 74 3e 78 3c 2f  ........ <tt>x</
5b40: 74 74 3e 20 e3 81 ab e3 81 af 20 3c 74 74 3e 40  tt> ...... <tt>@
5b50: 6d 61 63 72 6f 3c 2f 74 74 3e 20 e3 83 ac e3 82  macro</tt> .....
5b60: a4 e3 83 a4 e3 81 a7 e5 80 a4 e3 81 8c e5 85 a5  ................
5b70: e3 81 a3 e3 81 a6 e3 81 84 e3 82 8b e3 81 ae e3  ................
5b80: 81 a7 e3 80 81 0d 0a e3 81 9d e3 81 ae e5 80 a4  ................
5b90: e3 82 92 e8 aa ad e3 81 bf e5 8f 96 e3 81 a3 e3  ................
5ba0: 81 a6 e6 a7 8b e6 96 87 e6 9c a8 e3 82 92 e4 bd  ................
5bb0: 9c e6 88 90 e3 81 97 e3 81 be e3 81 99 e3 80 82  ................
5bc0: 0d 0a e7 b5 90 e6 9e 9c e3 81 a8 e3 81 97 e3 81  ................
5bd0: a6 e3 80 81 ef bc 92 e5 9b 9e 20 3c 74 74 3e 70  .......... <tt>p
5be0: 72 69 6e 74 28 22 48 65 6c 6c 6f 22 29 3c 2f 74  rint("Hello")</t
5bf0: 74 3e 20 e3 81 99 e3 82 8b e6 a7 8b e6 96 87 e6  t> .............
5c00: 9c a8 e3 81 8c e4 bd 9c e3 82 89 e3 82 8c e3 81  ................
5c10: a6 e3 80 81 0d 0a e3 81 9d e3 81 ae e5 be 8c e3  ................
5c20: 81 a7 e3 80 81 e3 81 9d e3 82 8c e3 81 8c 20 3c  .............. <
5c30: 74 74 3e 40 76 61 6c 75 65 3c 2f 74 74 3e 20 e3  tt>@value</tt> .
5c40: 83 ac e3 82 a4 e3 83 a4 e3 81 a7 e5 ae 9f e8 a1  ................
5c50: 8c e3 81 95 e3 82 8c e3 81 a6 e3 81 84 e3 81 be  ................
5c60: e3 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c 70  ........</p>..<p
5c70: 3e 0d 0a e6 9c ac e5 bd 93 e3 81 ab e3 83 99 e3  >...............
5c80: 82 bf e3 81 ab e6 a7 8b e6 96 87 e6 9c a8 e3 82  ................
5c90: 92 e4 bd 9c e3 82 8b e3 81 a0 e3 81 91 e3 81 aa  ................
5ca0: e3 81 ae e3 81 a7 e3 80 81 e5 a4 89 e6 95 b0 e5  ................
5cb0: 90 8d e3 81 ae e8 a1 9d e7 aa 81 e3 81 aa e3 81  ................
5cc0: a9 e3 81 aa e3 81 a9 e3 81 af e6 b0 97 e3 81 ab  ................
5cd0: e3 81 97 e3 81 be e3 81 9b e3 82 93 e3 80 82 e3  ................
5ce0: 80 8c e8 a1 9b e7 94 9f e7 9a 84 e3 81 a7 e3 81  ................
5cf0: aa e3 81 84 e3 80 8d e3 83 9e e3 82 af e3 83 ad  ................
5d00: e3 81 a7 e3 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d  ...........</p>.
5d10: 0a 3c 70 72 65 3e 0d 0a 20 20 20 20 40 6d 61 63  .<pre>..    @mac
5d20: 72 6f 20 4c 65 74 49 74 42 65 28 78 2c 20 79 29  ro LetItBe(x, y)
5d30: 20 7b 20 76 61 72 20 3c 62 3e 69 74 3c 2f 62 3e   { var <b>it</b>
5d40: 20 3d 20 78 3b 20 79 20 7d 3b 20 20 3c 66 6f 6e   = x; y };  <fon
5d50: 74 20 63 6f 6c 6f 72 3d 67 72 65 65 6e 3e 23 20  t color=green># 
5d60: 79 20 e3 81 ae e4 b8 ad e3 81 a7 e5 a4 89 e6 95  y ..............
5d70: b0 20 69 74 20 e3 81 8c e4 bd bf e3 81 88 e3 82  . it ...........
5d80: 8b 3c 2f 66 6f 6e 74 3e 0d 0a 20 20 20 20 70 72  .</font>..    pr
5d90: 69 6e 74 28 20 4c 65 74 49 74 42 65 28 22 6d 79  int( LetItBe("my
5da0: 73 65 6c 66 22 2c 20 20 22 77 68 65 6e 20 49 20  self",  "when I 
5db0: 66 69 6e 64 20 22 20 7e 20 3c 62 3e 69 74 3c 2f  find " ~ <b>it</
5dc0: 62 3e 20 7e 20 22 20 69 6e 20 74 69 6d 65 73 20  b> ~ " in times 
5dd0: 6f 66 20 74 72 6f 75 62 6c 65 22 29 20 29 3b 0d  of trouble") );.
5de0: 0a 3c 2f 70 72 65 3e 0d 0a 3c 70 3e 0d 0a e5 a4  .</pre>..<p>....
5df0: 89 e6 95 b0 e5 90 8d e3 81 ab e6 b0 97 e3 82 92  ................
5e00: e3 81 a4 e3 81 91 e3 82 8b e3 81 ab e3 81 af e3  ................
5e10: 80 81 e7 b5 84 e3 81 bf e8 be bc e3 81 bf e9 96  ................
5e20: a2 e6 95 b0 20 3c 74 74 3e 67 65 6e 73 79 6d 28  .... <tt>gensym(
5e30: 29 3c 2f 74 74 3e 20 e3 82 92 e4 bd bf e3 81 a3  )</tt> .........
5e40: e3 81 a6 e9 a0 91 e5 bc b5 e3 81 a3 e3 81 a6 e4  ................
5e50: b8 8b e3 81 95 e3 81 84 e3 80 82 0d 0a 3c 2f 70  .............</p
5e60: 3e 0d 0a 3c 2f 64 64 3e 0d 0a 0d 0a 3c 73 63 72  >..</dd>....<scr
5e70: 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74  ipt>explorer.out
5e80: 6c 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65  line.writeEnable
5e90: 64 20 3d 20 74 72 75 65 3b 3c 2f 73 63 72 69 70  d = true;</scrip
5ea0: 74 3e 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20 63 6c  t>..<dt><span cl
5eb0: 61 73 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73 70  ass="decl">..<sp
5ec0: 61 6e 20 63 6c 61 73 73 3d 22 63 75 72 72 73 79  an class="currsy
5ed0: 6d 62 6f 6c 22 3e e3 83 ac e3 82 a4 e3 83 a4 e5  mbol">..........
5ee0: 88 87 e3 82 8a e6 9b bf e3 81 88 3c 2f 73 70 61  ...........</spa
5ef0: 6e 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c  n>..<script>expl
5f00: 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 61 64 64  orer.outline.add
5f10: 44 65 63 6c 28 27 e3 83 ac e3 82 a4 e3 83 a4 e5  Decl('..........
5f20: 88 87 e3 82 8a e6 9b bf e3 81 88 27 29 3b 3c 2f  ...........');</
5f30: 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61  script>....</spa
5f40: 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74  n></dt>..<script
5f50: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
5f60: 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d  e.writeEnabled =
5f70: 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e   false;</script>
5f80: 0d 0a 0d 0a 20 3c 64 64 3e 3c 70 3e 0d 0a e4 bb  .... <dd><p>....
5f90: 96 e3 81 ae e3 83 ac e3 82 a4 e3 83 a4 e5 90 8c  ................
5fa0: e6 a7 98 e3 80 81 3c 74 74 3e 40 6d 61 63 72 6f  ......<tt>@macro
5fb0: 3c 2f 74 74 3e 20 e3 83 ac e3 82 a4 e3 83 a4 e3  </tt> ..........
5fc0: 82 92 e5 ae 9f e8 a1 8c e4 b8 ad e3 81 ab 20 3c  .............. <
5fd0: 74 74 3e 40 6c 61 79 65 72 28 20 2e 2e 2e 20 29  tt>@layer( ... )
5fe0: 3c 2f 74 74 3e 20 e6 a7 8b e6 96 87 e3 82 92 e4  </tt> ..........
5ff0: bd bf e3 81 86 e3 81 93 e3 81 a8 e3 81 a7 e3 80  ................
6000: 81 0d 0a e5 88 a5 e3 81 ae e3 83 ac e3 82 a4 e3  ................
6010: 83 a4 e3 81 a7 e3 82 b3 e3 83 bc e3 83 89 e3 82  ................
6020: 92 e5 8b 95 e3 81 8b e3 81 99 e3 81 93 e3 81 a8  ................
6030: e3 82 82 e3 81 a7 e3 81 8d e3 81 be e3 81 99 e3  ................
6040: 80 82 e3 82 88 e3 81 8f e4 bd bf e3 81 86 e4 be  ................
6050: 8b e3 81 af e3 80 81 3c 74 74 3e 40 76 61 6c 75  .......<tt>@valu
6060: 65 3c 2f 74 74 3e 0d 0a e3 83 ac e3 82 a4 e3 83  e</tt>..........
6070: a4 e3 81 ab e7 a7 bb e3 82 8b e3 81 93 e3 81 a8  ................
6080: e3 81 a7 e6 a7 8b e6 96 87 e6 9c a8 e3 82 92 e6  ................
6090: 99 ae e9 80 9a e3 81 ab e8 a8 88 e7 ae 97 e3 81  ................
60a0: 97 e3 81 a6 e8 89 b2 e3 80 85 e3 83 97 e3 83 ad  ................
60b0: e3 82 b0 e3 83 a9 e3 83 a0 e7 9a 84 e3 81 ab e3  ................
60c0: 81 84 e3 81 98 e3 82 8b e7 94 a8 e9 80 94 e3 81  ................
60d0: a7 e3 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c  .........</p>..<
60e0: 70 72 65 3e 0d 0a 20 20 20 20 40 6d 61 63 72 6f  pre>..    @macro
60f0: 20 72 65 76 65 72 73 65 41 72 67 73 28 65 29 20   reverseArgs(e) 
6100: 7b 3c 62 3e 40 76 61 6c 75 65 3c 2f 62 3e 28 0d  {<b>@value</b>(.
6110: 0a 20 20 20 20 20 20 20 20 64 65 66 20 72 65 76  .        def rev
6120: 28 78 73 2c 20 61 63 63 29 20 7b 0d 0a 20 20 20  (xs, acc) {..   
6130: 20 20 20 20 20 20 20 63 61 73 65 20 78 73 20 77         case xs w
6140: 68 65 6e 20 7b 63 61 72 3a 78 2c 20 63 64 72 3a  hen {car:x, cdr:
6150: 78 73 7d 3a 20 72 65 76 28 78 73 2c 20 7b 63 61  xs}: rev(xs, {ca
6160: 72 3a 78 2c 20 63 64 72 3a 61 63 63 7d 29 20 77  r:x, cdr:acc}) w
6170: 68 65 6e 20 7b 7d 3a 20 61 63 63 0d 0a 20 20 20  hen {}: acc..   
6180: 20 20 20 20 20 7d 3b 0d 0a 20 20 20 20 20 20 20       };..       
6190: 20 63 61 73 65 20 40 6d 61 63 72 6f 28 65 29 0d   case @macro(e).
61a0: 0a 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20  .          when 
61b0: 7b 69 73 3a 22 41 70 70 22 2c 20 66 75 6e 3a 66  {is:"App", fun:f
61c0: 2c 20 61 72 67 73 3a 61 73 7d 3a 20 7b 69 73 3a  , args:as}: {is:
61d0: 22 41 70 70 22 2c 20 66 75 6e 3a 66 2c 20 61 72  "App", fun:f, ar
61e0: 67 73 3a 72 65 76 28 61 73 2c 7b 7d 29 7d 0d 0a  gs:rev(as,{})}..
61f0: 20 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 65            when e
6200: 3a 20 65 0d 0a 20 20 20 20 29 7d 3b 0d 0a 20 20  : e..    )};..  
6210: 20 20 70 72 69 6e 74 28 20 72 65 76 65 72 73 65    print( reverse
6220: 41 72 67 73 28 31 2d 32 29 20 29 3b 20 3c 66 6f  Args(1-2) ); <fo
6230: 6e 74 20 63 6f 6c 6f 72 3d 67 72 65 65 6e 3e 23  nt color=green>#
6240: 20 32 2d 31 20 3d 3d 20 31 3c 2f 66 6f 6e 74 3e   2-1 == 1</font>
6250: 0d 0a 3c 2f 70 72 65 3e 0d 0a 3c 70 3e 0d 0a 3c  ..</pre>..<p>..<
6260: 74 74 3e 72 65 76 65 72 73 65 41 72 67 73 3c 2f  tt>reverseArgs</
6270: 74 74 3e 20 e3 81 af e3 80 81 e9 96 a2 e6 95 b0  tt> ............
6280: e5 91 bc e3 81 b3 e5 87 ba e3 81 97 e3 81 ae e6  ................
6290: a7 8b e6 96 87 e6 9c a8 e3 81 ae e3 80 81 e5 bc  ................
62a0: 95 e6 95 b0 e3 81 ae e9 a0 86 e7 95 aa e3 82 92  ................
62b0: e9 80 86 e8 bb a2 e3 81 99 e3 82 8b e9 96 a2 e6  ................
62c0: 95 b0 e3 81 a7 e3 81 99 e3 80 82 0d 0a 3c 74 74  .............<tt
62d0: 3e 40 6d 61 63 72 6f 28 65 29 3c 2f 74 74 3e 20  >@macro(e)</tt> 
62e0: e3 81 ab e3 82 88 e3 81 a3 e3 81 a6 e3 83 9e e3  ................
62f0: 82 af e3 83 ad e3 83 ac e3 82 a4 e3 83 a4 e3 81  ................
6300: ab e3 82 bb e3 83 83 e3 83 88 e3 81 95 e3 82 8c  ................
6310: e3 81 a6 e3 81 84 e3 82 8b e6 a7 8b e6 96 87 e6  ................
6320: 9c a8 e5 bc 95 e6 95 b0 e3 82 92 e5 8f 96 e3 82  ................
6330: 8a e5 87 ba e3 81 97 e3 80 81 0d 0a e3 81 9d e3  ................
6340: 82 8c e3 82 92 20 3c 74 74 3e 40 76 61 6c 75 65  ..... <tt>@value
6350: 3c 2f 74 74 3e 20 e3 83 ac e3 82 a4 e3 83 a4 e3  </tt> ..........
6360: 81 ab e3 82 88 e3 82 8b e6 99 ae e9 80 9a e3 81  ................
6370: ae e8 a8 88 e7 ae 97 e3 83 97 e3 83 ad e3 82 b0  ................
6380: e3 83 a9 e3 83 a0 e3 81 a7 e6 93 8d e4 bd 9c e3  ................
6390: 81 97 e3 81 a6 e3 81 84 e3 81 be e3 81 99 e3 80  ................
63a0: 82 0d 0a e8 a6 81 e3 81 af e3 80 81 3c 74 74 3e  ............<tt>
63b0: 40 6d 61 63 72 6f 28 2e 2e 2e 29 3c 2f 74 74 3e  @macro(...)</tt>
63c0: 20 e3 81 af e3 81 84 e3 82 8f e3 82 86 e3 82 8b   ...............
63d0: e3 80 8c e6 ba 96 e3 82 af e3 82 aa e3 83 bc e3  ................
63e0: 83 88 20 28 71 75 61 73 69 71 75 6f 74 65 29 e3  .. (quasiquote).
63f0: 80 8d e3 80 81 0d 0a 3c 74 74 3e 40 76 61 6c 75  .......<tt>@valu
6400: 65 28 2e 2e 2e 29 3c 2f 74 74 3e 20 e3 81 af e3  e(...)</tt> ....
6410: 80 8c e9 80 86 e3 82 af e3 82 aa e3 83 bc e3 83  ................
6420: 88 20 28 75 6e 71 75 6f 74 65 29 e3 80 8d e3 81  . (unquote).....
6430: ab e8 bf 91 e3 81 84 e5 83 8d e3 81 8d e3 82 92  ................
6440: e3 81 97 e3 81 be e3 81 99 e3 80 82 0d 0a 3c 2f  ..............</
6450: 70 3e 0d 0a 3c 70 3e 0d 0a 3c 74 74 3e 40 6c 61  p>..<p>..<tt>@la
6460: 79 65 72 28 2e 2e 2e 29 3c 2f 74 74 3e 20 e3 81  yer(...)</tt> ..
6470: a0 e3 81 91 e3 81 a7 e3 81 aa e3 81 8f e3 80 81  ................
6480: e9 96 a2 e6 95 b0 e3 81 ae e3 83 ac e3 82 a4 e3  ................
6490: 83 a4 e6 8c 87 e5 ae 9a e5 bc 95 e6 95 b0 e3 81  ................
64a0: aa e3 81 a9 e3 82 82 e5 90 8c e6 a7 98 e3 81 ab  ................
64b0: e4 bd bf e3 81 86 e3 81 93 e3 81 a8 e3 81 8c e3  ................
64c0: 81 a7 e3 81 8d e3 82 8b e3 81 ae e3 81 a7 e3 80  ................
64d0: 81 0d 0a e4 b8 80 e9 83 a8 e3 81 ae e5 bc 95 e6  ................
64e0: 95 b0 e3 81 af 20 3c 74 74 3e 40 6d 61 63 72 6f  ..... <tt>@macro
64f0: 3c 2f 74 74 3e e3 80 81 e4 b8 80 e9 83 a8 e3 81  </tt>...........
6500: ae e5 bc 95 e6 95 b0 e3 81 af 20 3c 74 74 3e 40  .......... <tt>@
6510: 76 61 6c 75 65 3c 2f 74 74 3e 20 e3 83 ac e3 82  value</tt> .....
6520: a4 e3 83 a4 e3 81 a7 e5 8f 97 e3 81 91 e5 8f 96  ................
6530: e3 82 8b e9 96 a2 e6 95 b0 e3 82 92 e6 9b b8 e3  ................
6540: 81 8f e3 81 aa e3 81 a9 e3 80 81 0d 0a e3 81 95  ................
6550: e3 82 89 e3 81 ab e8 89 b2 e3 80 85 e9 9d a2 e7  ................
6560: 99 bd e3 81 84 e3 81 93 e3 81 a8 e3 81 8c e5 8f  ................
6570: af e8 83 bd e3 81 a7 e3 81 99 e3 80 82 0d 0a 3c  ...............<
6580: 2f 70 3e 0d 0a 3c 2f 64 64 3e 0d 0a 0d 0a 3c 73  /p>..</dd>....<s
6590: 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f  cript>explorer.o
65a0: 75 74 6c 69 6e 65 2e 77 72 69 74 65 45 6e 61 62  utline.writeEnab
65b0: 6c 65 64 20 3d 20 74 72 75 65 3b 3c 2f 73 63 72  led = true;</scr
65c0: 69 70 74 3e 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20  ipt>..<dt><span 
65d0: 63 6c 61 73 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c  class="decl">..<
65e0: 73 70 61 6e 20 63 6c 61 73 73 3d 22 63 75 72 72  span class="curr
65f0: 73 79 6d 62 6f 6c 22 3e e6 a7 8b e6 96 87 e6 9c  symbol">........
6600: a8 e3 81 ae e6 a7 8b e9 80 a0 3c 2f 73 70 61 6e  ..........</span
6610: 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f  >..<script>explo
6620: 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 61 64 64 44  rer.outline.addD
6630: 65 63 6c 28 27 e6 a7 8b e6 96 87 e6 9c a8 e3 81  ecl('...........
6640: ae e6 a7 8b e9 80 a0 27 29 3b 3c 2f 73 63 72 69  .......');</scri
6650: 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61 6e 3e 3c 2f  pt>....</span></
6660: 64 74 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70  dt>..<script>exp
6670: 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77 72  lorer.outline.wr
6680: 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 66 61 6c  iteEnabled = fal
6690: 73 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a  se;</script>....
66a0: 20 3c 64 64 3e 3c 70 3e 0d 0a e6 a7 8b e6 96 87   <dd><p>........
66b0: e6 9c a8 e3 81 8c e3 81 a9 e3 81 ae e3 82 88 e3  ................
66c0: 81 86 e3 81 aa e3 83 86 e3 83 bc e3 83 96 e3 83  ................
66d0: ab e3 81 a7 e6 b8 a1 e3 81 95 e3 82 8c e3 81 a6  ................
66e0: e3 81 8f e3 82 8b e3 81 8b e3 81 ab e3 81 a4 e3  ................
66f0: 81 84 e3 81 a6 e3 81 af e3 80 81 e3 82 bd e3 83  ................
6700: bc e3 82 b9 e3 83 89 e3 82 ad e3 83 a5 e3 83 a1  ................
6710: e3 83 b3 e3 83 88 e3 81 ae 0d 0a 3c 61 20 68 72  ...........<a hr
6720: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 6b  ef="http://www.k
6730: 6d 6f 6e 6f 73 2e 6e 65 74 2f 72 65 70 6f 73 2f  monos.net/repos/
6740: 70 6f 6c 65 6d 79 2f 64 6f 63 2f 74 69 70 2f 64  polemy/doc/tip/d
6750: 6f 63 2f 61 73 74 2e 68 74 6d 6c 22 3e 70 6f 6c  oc/ast.html">pol
6760: 65 6d 79 2e 61 73 74 3c 2f 61 3e 0d 0a e3 81 ae  emy.ast</a>.....
6770: e3 83 9a e3 83 bc e3 82 b8 e3 82 92 e3 81 94 e8  ................
6780: a6 a7 e4 b8 8b e3 81 95 e3 81 84 e3 80 82 e4 be  ................
6790: 8b e3 81 88 e3 81 b0 e5 a4 89 e6 95 b0 e5 90 8d  ................
67a0: e3 82 92 e8 a1 a8 e3 81 99 20 3c 63 6f 64 65 3e  ......... <code>
67b0: 56 61 72 3c 2f 63 6f 64 65 3e 20 e3 82 af e3 83  Var</code> .....
67c0: a9 e3 82 b9 e3 81 ab e3 81 af e3 80 81 0d 0a e7  ................
67d0: b6 99 e6 89 bf e3 81 ae e5 88 86 e3 82 82 e5 90  ................
67e0: 88 e3 82 8f e3 81 9b e3 81 a6 0d 0a 3c 74 74 3e  ............<tt>
67f0: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f  <a href="http://
6800: 77 77 77 2e 6b 6d 6f 6e 6f 73 2e 6e 65 74 2f 72  www.kmonos.net/r
6810: 65 70 6f 73 2f 70 6f 6c 65 6d 79 2f 64 6f 63 2f  epos/polemy/doc/
6820: 74 69 70 2f 64 6f 63 2f 66 61 69 6c 75 72 65 2e  tip/doc/failure.
6830: 68 74 6d 6c 22 3e 4c 65 78 50 6f 73 69 74 69 6f  html">LexPositio
6840: 6e 3c 2f 61 3e 20 70 6f 73 3b 3c 2f 74 74 3e 0d  n</a> pos;</tt>.
6850: 0a e3 81 a8 20 3c 74 74 3e 73 74 72 69 6e 67 20  .... <tt>string 
6860: 6e 61 6d 65 3b 3c 2f 74 74 3e 20 e3 81 ae ef bc  name;</tt> .....
6870: 92 e3 81 a4 e3 81 ae e3 83 a1 e3 83 b3 e3 83 90  ................
6880: e3 81 8c e3 81 82 e3 82 8b e3 81 ae e3 81 a7 0d  ................
6890: 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e 0d 0a 20 20  .</p>..<pre>..  
68a0: 20 20 7b 20 69 73 3a 20 20 20 22 56 61 72 22 2c    { is:   "Var",
68b0: 0d 0a 20 20 20 20 20 20 70 6f 73 3a 20 20 7b 66  ..      pos:  {f
68c0: 69 6c 65 6e 61 6d 65 3a 22 66 6f 6f 2e 70 6d 79  ilename:"foo.pmy
68d0: 22 2c 20 6c 69 6e 65 6e 6f 3a 31 32 33 2c 20 63  ", lineno:123, c
68e0: 6f 6c 75 6d 6e 3a 34 35 7d 2c 0d 0a 20 20 20 20  olumn:45},..    
68f0: 20 20 6e 61 6d 65 3a 20 22 78 22 20 7d 0d 0a 3c    name: "x" }..<
6900: 2f 70 72 65 3e 0d 0a 3c 70 3e 0d 0a e3 81 93 e3  /pre>..<p>......
6910: 82 93 e3 81 aa e6 84 9f e3 81 98 e3 81 ae e3 83  ................
6920: 86 e3 83 bc e3 83 96 e3 83 ab e3 81 ab e3 81 aa  ................
6930: e3 82 8a e3 81 be e3 81 99 e3 80 82 0d 0a e3 82  ................
6940: af e3 83 a9 e3 82 b9 e5 90 8d e3 81 8c 20 3c 74  ............. <t
6950: 74 3e 69 73 3c 2f 74 74 3e 20 e3 83 95 e3 82 a3  t>is</tt> ......
6960: e3 83 bc e3 83 ab e3 83 89 e3 81 ab e3 80 81 e3  ................
6970: 83 a1 e3 83 b3 e3 83 90 e5 a4 89 e6 95 b0 e3 81  ................
6980: af e3 81 9d e3 81 ae e3 81 be e3 81 be e3 81 ae  ................
6990: e5 90 8d e5 89 8d e3 81 a7 e5 85 a5 e3 82 8a e3  ................
69a0: 81 be e3 81 99 e3 80 82 0d 0a e9 85 8d e5 88 97  ................
69b0: e3 83 a1 e3 83 b3 e3 83 90 e3 81 af 20 63 6f 6e  ............ con
69c0: 73 20 e3 83 aa e3 82 b9 e3 83 88 e3 81 ab e3 81  s ..............
69d0: aa e3 81 a3 e3 81 a6 e5 85 a5 e3 81 a3 e3 81 a6  ................
69e0: e3 81 8d e3 81 be e3 81 99 e3 80 82 0d 0a e8 87  ................
69f0: aa e5 88 86 e3 81 a7 e6 a7 8b e6 96 87 e6 9c a8  ................
6a00: e3 82 92 e4 bd 9c e3 82 8b e6 99 82 e3 81 af e3  ................
6a10: 80 81 3c 74 74 3e 70 6f 73 3c 2f 74 74 3e 20 e3  ..<tt>pos</tt> .
6a20: 83 95 e3 82 a3 e3 83 bc e3 83 ab e3 83 89 e3 81  ................
6a30: a0 e3 81 91 e3 81 af e7 9c 81 e7 95 a5 e3 81 97  ................
6a40: e3 81 a6 e3 82 82 e6 a7 8b e3 81 84 e3 81 be e3  ................
6a50: 81 9b e3 82 93 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a  ..........</p>..
6a60: 3c 2f 64 64 3e 0d 0a 0d 0a 3c 73 63 72 69 70 74  </dd>....<script
6a70: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
6a80: 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d  e.writeEnabled =
6a90: 20 74 72 75 65 3b 3c 2f 73 63 72 69 70 74 3e 0d   true;</script>.
6aa0: 0a 3c 64 74 3e 3c 73 70 61 6e 20 63 6c 61 73 73  .<dt><span class
6ab0: 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e 20  ="decl">..<span 
6ac0: 63 6c 61 73 73 3d 22 63 75 72 72 73 79 6d 62 6f  class="currsymbo
6ad0: 6c 22 3e e5 be ae e5 a6 99 e3 81 aa e3 81 a8 e3  l">.............
6ae0: 81 93 e3 82 8d 3c 2f 73 70 61 6e 3e 0d 0a 3c 73  .....</span>..<s
6af0: 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f  cript>explorer.o
6b00: 75 74 6c 69 6e 65 2e 61 64 64 44 65 63 6c 28 27  utline.addDecl('
6b10: e5 be ae e5 a6 99 e3 81 aa e3 81 a8 e3 81 93 e3  ................
6b20: 82 8d 27 29 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a  ..');</script>..
6b30: 0d 0a 3c 2f 73 70 61 6e 3e 3c 2f 64 74 3e 0d 0a  ..</span></dt>..
6b40: 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72  <script>explorer
6b50: 2e 6f 75 74 6c 69 6e 65 2e 77 72 69 74 65 45 6e  .outline.writeEn
6b60: 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 3c 2f  abled = false;</
6b70: 73 63 72 69 70 74 3e 0d 0a 0d 0a 20 3c 64 64 3e  script>.... <dd>
6b80: 3c 70 3e 0d 0a e3 81 93 e3 81 93 e3 81 be e3 81  <p>.............
6b90: a7 e3 80 81 3c 74 74 3e 40 6d 61 63 72 6f 3c 2f  ....<tt>@macro</
6ba0: 74 74 3e 20 e3 81 8c e6 9c ac e5 bd 93 e3 81 ab  tt> ............
6bb0: e3 81 9f e3 81 a0 e3 81 ae ef bc 91 e3 83 ac e3  ................
6bc0: 82 a4 e3 83 a4 e3 81 a7 e3 81 82 e3 82 8b e3 81  ................
6bd0: 8b e3 81 ae e3 82 88 e3 81 86 e3 81 ab e8 aa ac  ................
6be0: e6 98 8e e3 81 97 e3 81 a6 e3 81 8d e3 81 be e3  ................
6bf0: 81 97 e3 81 9f e3 81 8c e3 80 81 0d 0a e5 ae 9f  ................
6c00: e3 81 af e3 81 a1 e3 82 87 e3 81 a3 e3 81 a8 e5  ................
6c10: b9 be e3 81 a4 e3 81 8b e3 81 ae e3 83 88 e3 83  ................
6c20: aa e3 83 83 e3 82 af e3 81 8c e6 bd 9c e3 82 93  ................
6c30: e3 81 a7 e3 81 84 e3 81 be e3 81 99 e3 80 82 0d  ................
6c40: 0a 3c 2f 70 3e 0d 0a 3c 70 72 65 3e 0d 0a 20 20  .</p>..<pre>..  
6c50: 20 20 26 67 74 3b 26 67 74 3b 20 40 6d 61 63 72    &gt;&gt; @macr
6c60: 6f 20 74 77 69 63 65 28 78 29 20 7b 78 3b 20 78  o twice(x) {x; x
6c70: 7d 20 69 6e 20 74 77 69 63 65 28 3c 62 3e 40 76  } in twice(<b>@v
6c80: 61 6c 75 65 3c 2f 62 3e 28 70 72 69 6e 74 28 22  alue</b>(print("
6c90: 48 65 6c 6c 6f 22 29 29 29 0d 0a 20 20 20 20 48  Hello")))..    H
6ca0: 65 6c 6c 6f 0d 0a 20 20 20 20 48 65 6c 6c 6f 0d  ello..    Hello.
6cb0: 0a 20 20 20 20 48 65 6c 6c 6f 0d 0a 3c 2f 70 72  .    Hello..</pr
6cc0: 65 3e 0d 0a 3c 70 3e 0d 0a e5 85 88 e3 81 bb e3  e>..<p>.........
6cd0: 81 a9 e3 81 ae e4 be 8b e3 81 ab 20 3c 74 74 3e  ........... <tt>
6ce0: 40 76 61 6c 75 65 3c 2f 74 74 3e 20 e3 82 92 e5  @value</tt> ....
6cf0: a2 97 e3 82 84 e3 81 97 e3 81 9f e3 82 82 e3 81  ................
6d00: ae e3 81 a7 e3 81 99 e3 81 8c e3 80 81 e3 81 93  ................
6d10: e3 82 8c e3 81 a7 e3 82 82 e3 82 84 e3 81 af e3  ................
6d20: 82 8a e3 80 81 48 65 6c 6c 6f 0d 0a e3 81 8c ef  .....Hello......
6d30: bc 92 e5 9b 9e 20 70 72 69 6e 74 20 e3 81 95 e3  ..... print ....
6d40: 82 8c e3 82 8b e3 82 88 e3 81 86 e3 81 ab e3 81  ................
6d50: aa e3 82 8a e3 81 be e3 81 99 e3 80 82 0d 0a 3c  ...............<
6d60: 2f 70 3e 0d 0a 3c 70 72 65 3e 0d 0a 3c 74 74 3e  /p>..<pre>..<tt>
6d70: 40 6d 61 63 72 6f 3c 2f 74 74 3e 20 e3 83 ac e3  @macro</tt> ....
6d80: 82 a4 e3 83 a4 e3 81 a8 20 3c 74 74 3e 28 72 61  ........ <tt>(ra
6d90: 77 6d 61 63 72 6f 29 3c 2f 74 74 3e 20 e3 83 ac  wmacro)</tt> ...
6da0: e3 82 a4 e3 83 a4 e3 81 a8 e3 81 84 e3 81 86 e4  ................
6db0: ba 8c e3 81 a4 e3 81 8c e5 8d 94 e8 aa bf e3 81  ................
6dc0: 97 e3 81 a6 e5 8b 95 e4 bd 9c e3 81 97 e3 81 a6  ................
6dd0: e3 81 84 e3 81 be e3 81 99 e3 80 82 0d 0a 20 20  ..............  
6de0: 20 28 72 61 77 6d 61 63 72 6f 29 20 e3 83 ac e3   (rawmacro) ....
6df0: 82 a4 e3 83 a4 e3 81 ae e8 a9 b1 0d 0a 0d 0a 20  ............... 
6e00: 20 20 20 20 20 5b 5b 6c 69 6d 69 74 61 74 69 6f       [[limitatio
6e10: 6e 73 5d 5d 0d 0a 0d 0a 20 20 20 54 68 69 73 20  ns]]....   This 
6e20: 40 6d 61 63 72 6f 20 6c 61 79 65 72 20 69 73 20  @macro layer is 
6e30: 61 20 76 65 72 79 20 70 72 69 6d 69 74 69 76 65  a very primitive
6e40: 20 6f 6e 65 2c 20 61 6e 64 20 6e 6f 74 20 61 20   one, and not a 
6e50: 70 65 72 66 65 63 74 20 6d 61 63 72 6f 20 6c 61  perfect macro la
6e60: 6e 67 75 61 67 65 2e 0d 0a 20 20 20 54 77 6f 20  nguage...   Two 
6e70: 6d 61 6a 6f 72 20 6c 69 6d 69 74 61 74 69 6f 6e  major limitation
6e80: 73 20 61 72 65 20 73 65 65 6e 20 69 6e 20 74 68  s are seen in th
6e90: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 22 69 74 22  e following "it"
6ea0: 20 65 78 61 6d 70 6c 65 2e 0d 0a 0d 0a 20 20 20   example.....   
6eb0: 20 20 26 67 74 3b 26 67 74 3b 20 40 6d 61 63 72    &gt;&gt; @macr
6ec0: 6f 20 4c 65 74 49 74 42 65 28 78 2c 20 79 29 20  o LetItBe(x, y) 
6ed0: 7b 20 6c 65 74 20 69 74 20 3d 20 78 20 69 6e 20  { let it = x in 
6ee0: 79 20 7d 3b 0d 0a 0d 0a 20 20 20 54 68 65 20 76  y };....   The v
6ef0: 61 72 69 61 62 6c 65 20 6e 61 6d 65 20 69 73 20  ariable name is 
6f00: 6e 6f 74 20 68 79 67 65 6e 69 63 2c 20 61 6e 64  not hygenic, and
6f10: 20 73 6f 20 77 69 74 68 6f 75 74 20 61 6e 79 20   so without any 
6f20: 65 66 66 6f 72 74 2c 20 74 68 65 20 73 79 6e 74  effort, the synt
6f30: 61 78 20 74 72 65 65 20 22 79 22 0d 0a 20 20 20  ax tree "y"..   
6f40: 63 61 6e 20 61 63 63 65 73 73 20 74 68 65 20 6f  can access the o
6f50: 75 74 65 72 20 76 61 72 69 61 62 6c 65 20 22 69  uter variable "i
6f60: 74 22 2e 0d 0a 0d 0a 20 20 20 20 20 26 67 74 3b  t".....     &gt;
6f70: 26 67 74 3b 20 64 65 66 20 66 6f 6f 28 29 20 7b  &gt; def foo() {
6f80: 20 4c 65 74 49 74 42 65 28 20 31 2b 32 2b 33 2c   LetItBe( 1+2+3,
6f90: 20 69 74 2a 69 74 20 29 20 7d 0d 0a 20 20 20 20   it*it ) }..    
6fa0: 20 26 67 74 3b 26 67 74 3b 20 66 6f 6f 28 29 0d   &gt;&gt; foo().
6fb0: 0a 20 20 20 20 20 33 36 0d 0a 0d 0a 20 20 20 4f  .     36....   O
6fc0: 66 20 63 6f 75 72 73 65 2c 20 74 68 69 73 20 69  f course, this i
6fd0: 73 20 6e 6f 74 20 6a 75 73 74 20 61 20 6c 69 6d  s not just a lim
6fe0: 69 74 61 74 69 6f 6e 3b 20 69 74 20 63 61 6e 20  itation; it can 
6ff0: 73 6f 6d 65 74 69 6d 65 73 20 61 6c 6c 6f 77 20  sometimes allow 
7000: 75 73 20 74 6f 20 77 72 69 74 65 0d 0a 20 20 20  us to write..   
7010: 6d 61 6e 79 20 69 6e 74 65 72 65 73 74 69 6e 67  many interesting
7020: 20 6d 61 63 72 6f 73 2e 0d 0a 0d 0a 20 20 20 54   macros.....   T
7030: 68 65 20 6f 74 68 65 72 20 70 72 6f 62 6c 65 6d  he other problem
7040: 20 69 73 20 74 68 61 74 20 74 68 65 20 6d 61 63   is that the mac
7050: 72 6f 20 65 78 70 61 6e 73 69 6f 6e 20 69 73 20  ro expansion is 
7060: 6f 6e 6c 79 20 64 6f 6e 65 20 61 74 20 66 75 6e  only done at fun
7070: 63 74 69 6f 6e 20 73 74 61 72 74 75 70 2e 0d 0a  ction startup...
7080: 20 20 20 53 6f 20 0d 0a 0d 0a 20 20 20 20 20 26     So ....     &
7090: 67 74 3b 26 67 74 3b 20 4c 65 74 49 74 42 65 28  gt;&gt; LetItBe(
70a0: 20 31 2b 32 2b 33 2c 20 69 74 2a 69 74 20 29 0d   1+2+3, it*it ).
70b0: 0a 20 20 20 20 20 2e 2e 2e 5c 76 61 6c 75 65 2e  .     ...\value.
70c0: 64 28 31 37 33 29 3a 20 5b 3c 52 45 50 4c 3e 3a  d(173): [<REPL>:
70d0: 32 34 3a 31 5d 20 76 61 72 69 61 62 6c 65 20 4c  24:1] variable L
70e0: 65 74 49 74 42 65 20 69 73 20 6e 6f 74 20 73 65  etItBe is not se
70f0: 74 20 69 6e 20 6c 61 79 65 72 20 40 76 61 6c 75  t in layer @valu
7100: 65 0d 0a 0d 0a 20 20 20 79 6f 75 20 63 61 6e 6e  e....   you cann
7110: 6f 74 20 64 69 72 65 63 74 6c 79 20 75 73 65 20  ot directly use 
7120: 74 68 65 20 6d 61 63 72 6f 20 69 6e 20 74 68 65  the macro in the
7130: 20 73 61 6d 65 20 73 63 6f 70 65 20 61 73 20 74   same scope as t
7140: 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0d 0a  he definition...
7150: 20 20 20 59 6f 75 20 6e 65 65 64 20 74 6f 20 77     You need to w
7160: 72 61 70 20 69 74 20 75 70 20 69 6e 20 61 20 66  rap it up in a f
7170: 75 6e 63 74 69 6f 6e 20 28 6c 69 6b 65 20 74 68  unction (like th
7180: 65 20 66 6f 6f 28 29 20 69 6e 20 74 68 65 20 61  e foo() in the a
7190: 62 6f 76 65 20 65 78 61 6d 70 6c 65 29 2e 0d 0a  bove example)...
71a0: 3c 2f 70 72 65 3e 0d 0a 3c 2f 64 64 3e 0d 0a 3c  </pre>..</dd>..<
71b0: 2f 64 6c 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78  /dl>..<script>ex
71c0: 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 64  plorer.outline.d
71d0: 65 63 53 79 6d 62 6f 6c 4c 65 76 65 6c 28 29 3b  ecSymbolLevel();
71e0: 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 0d 0a 3c  </script>......<
71f0: 2f 64 64 3e 0d 0a 0d 0a 0d 0a 0d 0a 3c 73 63 72  /dd>........<scr
7200: 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74  ipt>explorer.out
7210: 6c 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65  line.writeEnable
7220: 64 20 3d 20 74 72 75 65 3b 3c 2f 73 63 72 69 70  d = true;</scrip
7230: 74 3e 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20 63 6c  t>..<dt><span cl
7240: 61 73 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73 70  ass="decl">..<sp
7250: 61 6e 20 63 6c 61 73 73 3d 22 63 75 72 72 73 79  an class="currsy
7260: 6d 62 6f 6c 22 3e 42 75 69 6c 74 2d 69 6e 20 50  mbol">Built-in P
7270: 72 69 6d 69 74 69 76 65 73 3c 2f 73 70 61 6e 3e  rimitives</span>
7280: 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f 72  ..<script>explor
7290: 65 72 2e 6f 75 74 6c 69 6e 65 2e 61 64 64 44 65  er.outline.addDe
72a0: 63 6c 28 27 42 75 69 6c 74 2d 69 6e 20 50 72 69  cl('Built-in Pri
72b0: 6d 69 74 69 76 65 73 27 29 3b 3c 2f 73 63 72 69  mitives');</scri
72c0: 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61 6e 3e 3c 2f  pt>....</span></
72d0: 64 74 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70  dt>..<script>exp
72e0: 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77 72  lorer.outline.wr
72f0: 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 66 61 6c  iteEnabled = fal
7300: 73 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a  se;</script>....
7310: 20 3c 64 64 3e 3c 70 3e 0d 0a e7 b5 84 e3 81 bf   <dd><p>........
7320: e8 be bc e3 81 bf e9 96 a2 e6 95 b0 e3 83 bb e5  ................
7330: a4 89 e6 95 b0 e3 81 ae e4 b8 80 e8 a6 a7 e3 80  ................
7340: 82 0d 0a 3c 2f 70 3e 0d 0a 0d 0a 3c 73 63 72 69  ...</p>....<scri
7350: 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c  pt>explorer.outl
7360: 69 6e 65 2e 69 6e 63 53 79 6d 62 6f 6c 4c 65 76  ine.incSymbolLev
7370: 65 6c 28 29 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a  el();</script>..
7380: 3c 64 6c 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78  <dl>..<script>ex
7390: 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77  plorer.outline.w
73a0: 72 69 74 65 45 6e 61 62 6c 65 64 20 3d 20 74 72  riteEnabled = tr
73b0: 75 65 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c 64  ue;</script>..<d
73c0: 74 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 64  t><span class="d
73d0: 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e 20 63 6c 61  ecl">..<span cla
73e0: 73 73 3d 22 63 75 72 72 73 79 6d 62 6f 6c 22 3e  ss="currsymbol">
73f0: e3 83 86 e3 83 bc e3 83 96 e3 83 ab e6 93 8d e4  ................
7400: bd 9c 3c 2f 73 70 61 6e 3e 0d 0a 3c 73 63 72 69  ..</span>..<scri
7410: 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c  pt>explorer.outl
7420: 69 6e 65 2e 61 64 64 44 65 63 6c 28 27 e3 83 86  ine.addDecl('...
7430: e3 83 bc e3 83 96 e3 83 ab e6 93 8d e4 bd 9c 27  ...............'
7440: 29 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c  );</script>....<
7450: 2f 73 70 61 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63  /span></dt>..<sc
7460: 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75  ript>explorer.ou
7470: 74 6c 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c  tline.writeEnabl
7480: 65 64 20 3d 20 66 61 6c 73 65 3b 3c 2f 73 63 72  ed = false;</scr
7490: 69 70 74 3e 0d 0a 0d 0a 20 3c 64 64 3e 20 3c 74  ipt>.... <dd> <t
74a0: 61 62 6c 65 3e 20 20 20 3c 74 72 3e 3c 74 68 3e  able>   <tr><th>
74b0: 7b 7d 3c 2f 74 68 3e 20 3c 74 64 3e 28 29 3c 2f  {}</th> <td>()</
74c0: 74 64 3e 20 3c 74 64 3e e7 a9 ba e3 81 ae e3 83  td> <td>........
74d0: 86 e3 83 bc e3 83 96 e3 83 ab e3 82 92 e4 bd 9c  ................
74e0: e3 82 8b 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20  ...</td></tr>.. 
74f0: 20 20 20 3c 74 72 3e 3c 74 68 3e 2e 3c 2f 74 68     <tr><th>.</th
7500: 3e 20 3c 74 64 3e 28 74 2c 20 73 29 3c 2f 74 64  > <td>(t, s)</td
7510: 3e 20 3c 74 64 3e e3 83 86 e3 83 bc e3 83 96 e3  > <td>..........
7520: 83 ab 20 74 20 e3 81 ae e5 90 8d e5 89 8d 20 73  .. t ......... s
7530: 20 e3 81 ae e3 83 95 e3 82 a3 e3 83 bc e3 83 ab   ...............
7540: e3 83 89 e3 81 ae e5 80 a4 e3 82 92 e5 8f 96 e5  ................
7550: be 97 e3 80 82 e3 81 aa e3 81 91 e3 82 8c e3 81  ................
7560: b0 20 3c 74 74 3e 75 6e 64 65 66 69 6e 65 64 3c  . <tt>undefined<
7570: 2f 74 74 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  /tt></td></tr>..
7580: 20 20 20 20 3c 74 72 3e 3c 74 68 3e 2e 3f 3c 2f      <tr><th>.?</
7590: 74 68 3e 20 3c 74 64 3e 28 74 2c 20 73 29 3c 2f  th> <td>(t, s)</
75a0: 74 64 3e 20 3c 74 64 3e e3 83 86 e3 83 bc e3 83  td> <td>........
75b0: 96 e3 83 ab 20 74 20 e3 81 ab e5 90 8d e5 89 8d  .... t .........
75c0: 20 73 20 e3 81 ae e3 83 95 e3 82 a3 e3 83 bc e3   s .............
75d0: 83 ab e3 83 89 e3 81 8c e3 81 82 e3 82 8c e3 81  ................
75e0: b0 20 31 e3 80 81 e3 81 aa e3 81 91 e3 82 8c e3  . 1.............
75f0: 81 b0 20 30 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  .. 0</td></tr>..
7600: 20 20 20 20 3c 74 72 3e 3c 74 68 3e 2e 3d 3c 2f      <tr><th>.=</
7610: 74 68 3e 20 3c 74 64 3e 28 74 2c 20 73 2c 20 76  th> <td>(t, s, v
7620: 29 3c 2f 74 64 3e 20 3c 74 64 3e e3 83 86 e3 83  )</td> <td>.....
7630: bc e3 83 96 e3 83 ab 20 74 20 e3 82 92 e8 a6 aa  ....... t ......
7640: e3 81 ab e6 8c 81 e3 81 a1 e3 80 81 e5 90 8d e5  ................
7650: 89 8d 20 73 20 e3 81 ae e3 83 95 e3 82 a3 e3 83  .. s ...........
7660: bc e3 83 ab e3 83 89 e3 81 ab 20 76 20 e3 81 8c  .......... v ...
7670: e5 85 a5 e3 81 a3 e3 81 9f e3 83 86 e3 83 bc e3  ................
7680: 83 96 e3 83 ab e3 82 92 e4 bd 9c e3 82 8b 3c 2f  ..............</
7690: 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20 3c 2f 74 61  td></tr>..  </ta
76a0: 62 6c 65 3e 0d 0a 3c 2f 64 64 3e 0d 0a 3c 62 72  ble>..</dd>..<br
76b0: 20 2f 3e 0d 0a 0d 0a 0d 0a 3c 73 63 72 69 70 74   />......<script
76c0: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
76d0: 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d  e.writeEnabled =
76e0: 20 74 72 75 65 3b 3c 2f 73 63 72 69 70 74 3e 0d   true;</script>.
76f0: 0a 3c 64 74 3e 3c 73 70 61 6e 20 63 6c 61 73 73  .<dt><span class
7700: 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e 20  ="decl">..<span 
7710: 63 6c 61 73 73 3d 22 63 75 72 72 73 79 6d 62 6f  class="currsymbo
7720: 6c 22 3e e5 88 b6 e5 be a1 e3 83 95 e3 83 ad e3  l">.............
7730: 83 bc 3c 2f 73 70 61 6e 3e 0d 0a 3c 73 63 72 69  ..</span>..<scri
7740: 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c  pt>explorer.outl
7750: 69 6e 65 2e 61 64 64 44 65 63 6c 28 27 e5 88 b6  ine.addDecl('...
7760: e5 be a1 e3 83 95 e3 83 ad e3 83 bc 27 29 3b 3c  ............');<
7770: 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70  /script>....</sp
7780: 61 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70  an></dt>..<scrip
7790: 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69  t>explorer.outli
77a0: 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20  ne.writeEnabled 
77b0: 3d 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74  = false;</script
77c0: 3e 0d 0a 0d 0a 20 3c 64 64 3e 20 3c 74 61 62 6c  >.... <dd> <tabl
77d0: 65 3e 20 20 20 3c 74 72 3e 3c 74 68 3e 69 66 3c  e>   <tr><th>if<
77e0: 2f 74 68 3e 20 3c 74 64 3e 28 6e 2c 20 66 74 2c  /th> <td>(n, ft,
77f0: 20 66 65 29 3c 2f 74 64 3e 20 3c 74 64 3e 6e 20   fe)</td> <td>n 
7800: e3 81 8c e9 9d 9e 20 30 20 e3 81 aa e3 82 89 20  ...... 0 ...... 
7810: 3c 74 74 3e 66 74 28 29 3c 2f 74 3e e3 80 81 30  <tt>ft()</t>...0
7820: 20 e3 81 aa e3 82 89 20 3c 74 74 3e 66 65 28 29   ...... <tt>fe()
7830: 3c 2f 74 74 3e 20 e3 82 92 e5 ae 9f e8 a1 8c 3c  </tt> .........<
7840: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20 3c 2f 74  /td></tr>..  </t
7850: 61 62 6c 65 3e 0d 0a 3c 2f 64 64 3e 0d 0a 3c 62  able>..</dd>..<b
7860: 72 20 2f 3e 0d 0a 0d 0a 0d 0a 3c 73 63 72 69 70  r />......<scrip
7870: 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69  t>explorer.outli
7880: 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20  ne.writeEnabled 
7890: 3d 20 74 72 75 65 3b 3c 2f 73 63 72 69 70 74 3e  = true;</script>
78a0: 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20 63 6c 61 73  ..<dt><span clas
78b0: 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e  s="decl">..<span
78c0: 20 63 6c 61 73 73 3d 22 63 75 72 72 73 79 6d 62   class="currsymb
78d0: 6f 6c 22 3e e6 bc 94 e7 ae 97 3c 2f 73 70 61 6e  ol">......</span
78e0: 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c 6f  >..<script>explo
78f0: 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 61 64 64 44  rer.outline.addD
7900: 65 63 6c 28 27 e6 bc 94 e7 ae 97 27 29 3b 3c 2f  ecl('......');</
7910: 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73 70 61  script>....</spa
7920: 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69 70 74  n></dt>..<script
7930: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
7940: 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20 3d  e.writeEnabled =
7950: 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70 74 3e   false;</script>
7960: 0d 0a 0d 0a 20 3c 64 64 3e 20 3c 74 61 62 6c 65  .... <dd> <table
7970: 3e 20 20 20 3c 74 72 3e 3c 74 68 3e 2b 3c 2f 74  >   <tr><th>+</t
7980: 68 3e 20 3c 74 64 3e 28 6e 2c 20 6d 29 3c 2f 74  h> <td>(n, m)</t
7990: 64 3e 20 3c 74 64 3e e6 95 b4 e6 95 b0 20 6e 20  d> <td>...... n 
79a0: e3 81 a8 e6 95 b4 e6 95 b0 20 6d 20 e3 82 92 e8  ......... m ....
79b0: b6 b3 e3 81 97 e3 81 a6 e8 bf 94 e3 81 99 3c 2f  ..............</
79c0: 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20 20 20 3c 74  td></tr>..    <t
79d0: 72 3e 3c 74 68 3e 2d 3c 2f 74 68 3e 20 3c 74 64  r><th>-</th> <td
79e0: 3e 28 6e 2c 20 6d 29 3c 2f 74 64 3e 20 3c 74 64  >(n, m)</td> <td
79f0: 3e e6 95 b4 e6 95 b0 e3 81 ae e5 bc 95 e3 81 8d  >...............
7a00: e7 ae 97 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20  ...</td></tr>.. 
7a10: 20 20 20 3c 74 72 3e 3c 74 68 3e 2a 3c 2f 74 68     <tr><th>*</th
7a20: 3e 20 3c 74 64 3e 28 6e 2c 20 6d 29 3c 2f 74 64  > <td>(n, m)</td
7a30: 3e 20 3c 74 64 3e e6 95 b4 e6 95 b0 e3 81 ae e6  > <td>..........
7a40: 8e 9b e3 81 91 e7 ae 97 3c 2f 74 64 3e 3c 2f 74  ........</td></t
7a50: 72 3e 0d 0a 20 20 20 20 3c 74 72 3e 3c 74 68 3e  r>..    <tr><th>
7a60: 2f 3c 2f 74 68 3e 20 3c 74 64 3e 28 6e 2c 20 6d  /</th> <td>(n, m
7a70: 29 3c 2f 74 64 3e 20 3c 74 64 3e e6 95 b4 e6 95  )</td> <td>.....
7a80: b0 e3 81 ae e5 89 b2 e3 82 8a e7 ae 97 3c 2f 74  .............</t
7a90: 64 3e 3c 2f 74 72 3e 0d 0a 20 20 20 20 3c 74 72  d></tr>..    <tr
7aa0: 3e 3c 74 68 3e 25 3c 2f 74 68 3e 20 3c 74 64 3e  ><th>%</th> <td>
7ab0: 28 6e 2c 20 6d 29 3c 2f 74 64 3e 20 3c 74 64 3e  (n, m)</td> <td>
7ac0: e6 95 b4 e6 95 b0 e3 81 ae e5 89 b0 e4 bd 99 3c  ...............<
7ad0: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20 20 20 3c  /td></tr>..    <
7ae0: 74 72 3e 3c 74 68 3e 26 61 6d 70 3b 26 61 6d 70  tr><th>&amp;&amp
7af0: 3b 3c 2f 74 68 3e 20 3c 74 64 3e 28 6e 2c 20 6d  ;</th> <td>(n, m
7b00: 29 3c 2f 74 64 3e 20 3c 74 64 3e e6 95 b4 e6 95  )</td> <td>.....
7b10: b0 20 6e 20 e3 81 a8 20 6d 20 e3 81 8c e4 b8 a1  . n ... m ......
7b20: e6 96 b9 e9 9d 9e 20 30 20 e3 81 aa e3 82 89 20  ...... 0 ...... 
7b30: 31 e3 80 81 e3 81 9d e3 82 8c e4 bb a5 e5 a4 96  1...............
7b40: e3 81 a7 e3 81 af 20 30 3c 2f 74 64 3e 3c 2f 74  ...... 0</td></t
7b50: 72 3e 0d 0a 20 20 20 20 3c 74 72 3e 3c 74 68 3e  r>..    <tr><th>
7b60: 7c 7c 3c 2f 74 68 3e 20 3c 74 64 3e 28 6e 2c 20  ||</th> <td>(n, 
7b70: 6d 29 3c 2f 74 64 3e 20 3c 74 64 3e e6 95 b4 e6  m)</td> <td>....
7b80: 95 b0 20 6e 20 e3 81 a8 20 6d 20 e3 81 8c e3 81  .. n ... m .....
7b90: a9 e3 81 a1 e3 82 89 e3 81 8b e9 9d 9e 20 30 20  ............. 0 
7ba0: e3 81 aa e3 82 89 20 31 e3 80 81 e3 81 9d e3 82  ...... 1........
7bb0: 8c e4 bb a5 e5 a4 96 e3 81 a7 e3 81 af 20 30 3c  ............. 0<
7bc0: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20 20 20 3c  /td></tr>..    <
7bd0: 74 72 3e 3c 74 68 3e 7e 3c 2f 74 68 3e 20 3c 74  tr><th>~</th> <t
7be0: 64 3e 28 61 2c 20 62 29 3c 2f 74 64 3e 20 3c 74  d>(a, b)</td> <t
7bf0: 64 3e 61 20 e3 81 a8 20 62 20 e3 82 92 e6 96 87  d>a ... b ......
7c00: e5 ad 97 e5 88 97 e5 8c 96 e3 81 97 e3 81 a6 e7  ................
7c10: b5 90 e5 90 88 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  .....</td></tr>.
7c20: 0a 20 20 20 20 3c 74 72 3e 3c 74 68 3e 26 6c 74  .    <tr><th>&lt
7c30: 3b 3c 2f 74 68 3e 20 3c 74 64 3e 28 61 2c 20 62  ;</th> <td>(a, b
7c40: 29 3c 2f 74 64 3e 20 3c 74 64 3e 61 20 e3 81 a8  )</td> <td>a ...
7c50: 20 62 20 e3 82 92 e6 af 94 e8 bc 83 3c 2f 74 64   b .........</td
7c60: 3e 3c 2f 74 72 3e 0d 0a 20 20 20 20 3c 74 72 3e  ></tr>..    <tr>
7c70: 3c 74 68 3e 26 6c 74 3b 3d 3c 2f 74 68 3e 20 3c  <th>&lt;=</th> <
7c80: 74 64 3e 28 61 2c 20 62 29 3c 2f 74 64 3e 20 3c  td>(a, b)</td> <
7c90: 74 64 3e 61 20 e3 81 a8 20 62 20 e3 82 92 e6 af  td>a ... b .....
7ca0: 94 e8 bc 83 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  ....</td></tr>..
7cb0: 20 20 20 20 3c 74 72 3e 3c 74 68 3e 26 67 74 3b      <tr><th>&gt;
7cc0: 3c 2f 74 68 3e 20 3c 74 64 3e 28 61 2c 20 62 29  </th> <td>(a, b)
7cd0: 3c 2f 74 64 3e 20 3c 74 64 3e 61 20 e3 81 a8 20  </td> <td>a ... 
7ce0: 62 20 e3 82 92 e6 af 94 e8 bc 83 3c 2f 74 64 3e  b .........</td>
7cf0: 3c 2f 74 72 3e 0d 0a 20 20 20 20 3c 74 72 3e 3c  </tr>..    <tr><
7d00: 74 68 3e 26 67 74 3b 3d 3c 2f 74 68 3e 20 3c 74  th>&gt;=</th> <t
7d10: 64 3e 28 61 2c 20 62 29 3c 2f 74 64 3e 20 3c 74  d>(a, b)</td> <t
7d20: 64 3e 61 20 e3 81 a8 20 62 20 e3 82 92 e6 af 94  d>a ... b ......
7d30: e8 bc 83 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20  ...</td></tr>.. 
7d40: 20 20 20 3c 74 72 3e 3c 74 68 3e 3d 3d 3c 2f 74     <tr><th>==</t
7d50: 68 3e 20 3c 74 64 3e 28 61 2c 20 62 29 3c 2f 74  h> <td>(a, b)</t
7d60: 64 3e 20 3c 74 64 3e 61 20 e3 81 a8 20 62 20 e3  d> <td>a ... b .
7d70: 82 92 e6 af 94 e8 bc 83 3c 2f 74 64 3e 3c 2f 74  ........</td></t
7d80: 72 3e 0d 0a 20 20 20 20 3c 74 72 3e 3c 74 68 3e  r>..    <tr><th>
7d90: 21 3d 3c 2f 74 68 3e 20 3c 74 64 3e 28 61 2c 20  !=</th> <td>(a, 
7da0: 62 29 3c 2f 74 64 3e 20 3c 74 64 3e 61 20 e3 81  b)</td> <td>a ..
7db0: a8 20 62 20 e3 82 92 e6 af 94 e8 bc 83 3c 2f 74  . b .........</t
7dc0: 64 3e 3c 2f 74 72 3e 0d 0a 20 20 3c 2f 74 61 62  d></tr>..  </tab
7dd0: 6c 65 3e 0d 0a 3c 70 3e 0d 0a e6 b3 a8 e6 84 8f  le>..<p>........
7de0: e7 82 b9 e3 81 a8 e3 81 97 e3 81 a6 e3 80 81 e4  ................
7df0: bd 9c e8 80 85 e3 81 ae e8 b6 a3 e5 91 b3 e3 81  ................
7e00: ae e5 95 8f e9 a1 8c e3 81 a7 e3 80 81 3c 74 74  .............<tt
7e10: 3e 26 61 6d 70 3b 26 61 6d 70 3b 3c 2f 74 74 3e  >&amp;&amp;</tt>
7e20: 20 e3 81 a8 20 3c 74 74 3e 7c 7c 3c 2f 74 74 3e   ... <tt>||</tt>
7e30: 20 e3 81 af 20 73 68 6f 72 74 2d 63 69 72 63 75   ... short-circu
7e40: 69 74 20 e8 a9 95 e4 be a1 e3 82 92 e3 81 97 e3  it .............
7e50: 81 be e3 81 9b e3 82 93 e3 80 82 0d 0a e6 95 b4  ................
7e60: e6 95 b0 e6 bc 94 e7 ae 97 e3 81 ae e7 a8 ae e9  ................
7e70: a1 9e e3 81 8c e5 b0 91 e3 81 aa e3 81 84 e3 81  ................
7e80: ae e3 81 af e3 80 81 44 20 e8 a8 80 e8 aa 9e e3  .......D .......
7e90: 81 ae 20 73 74 64 2e 62 69 67 69 6e 74 20 e3 81  .. std.bigint ..
7ea0: 8c e3 83 93 e3 83 83 e3 83 88 e6 bc 94 e7 ae 97  ................
7eb0: e3 81 aa e3 81 a9 e3 82 92 e3 82 b5 e3 83 9d e3  ................
7ec0: 83 bc e3 83 88 e3 81 97 e3 81 a6 e3 81 aa e3 81  ................
7ed0: 84 e3 81 9f e3 82 81 e3 81 a7 e3 81 99 e3 80 82  ................
7ee0: 0d 0a e6 96 87 e5 ad 97 e5 88 97 e3 81 8c e7 b5  ................
7ef0: 90 e5 90 88 e3 81 97 e3 81 8b e3 81 a7 e3 81 8d  ................
7f00: e3 81 aa e3 81 84 e3 81 ae e3 81 af e3 80 81 e5  ................
7f10: 8d 98 e3 81 ab e6 89 8b e6 8a 9c e3 81 8d e3 81  ................
7f20: a7 e3 81 99 e3 80 82 0d 0a 3c 2f 70 3e 0d 0a 3c  .........</p>..<
7f30: 2f 64 64 3e 0d 0a 0d 0a 0d 0a 3c 73 63 72 69 70  /dd>......<scrip
7f40: 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69  t>explorer.outli
7f50: 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64 20  ne.writeEnabled 
7f60: 3d 20 74 72 75 65 3b 3c 2f 73 63 72 69 70 74 3e  = true;</script>
7f70: 0d 0a 3c 64 74 3e 3c 73 70 61 6e 20 63 6c 61 73  ..<dt><span clas
7f80: 73 3d 22 64 65 63 6c 22 3e 0d 0a 3c 73 70 61 6e  s="decl">..<span
7f90: 20 63 6c 61 73 73 3d 22 63 75 72 72 73 79 6d 62   class="currsymb
7fa0: 6f 6c 22 3e e5 a4 96 e9 83 a8 e3 81 a8 e3 81 ae  ol">............
7fb0: e3 82 84 e3 82 8a e3 81 a8 e3 82 8a 3c 2f 73 70  ............</sp
7fc0: 61 6e 3e 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70  an>..<script>exp
7fd0: 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 61 64  lorer.outline.ad
7fe0: 64 44 65 63 6c 28 27 e5 a4 96 e9 83 a8 e3 81 a8  dDecl('.........
7ff0: e3 81 ae e3 82 84 e3 82 8a e3 81 a8 e3 82 8a 27  ...............'
8000: 29 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c  );</script>....<
8010: 2f 73 70 61 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63  /span></dt>..<sc
8020: 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75  ript>explorer.ou
8030: 74 6c 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c  tline.writeEnabl
8040: 65 64 20 3d 20 66 61 6c 73 65 3b 3c 2f 73 63 72  ed = false;</scr
8050: 69 70 74 3e 0d 0a 0d 0a 20 3c 64 64 3e 20 3c 74  ipt>.... <dd> <t
8060: 61 62 6c 65 3e 20 20 20 3c 74 72 3e 3c 74 68 3e  able>   <tr><th>
8070: 70 72 69 6e 74 3c 2f 74 68 3e 20 3c 74 64 3e 28  print</th> <td>(
8080: 61 29 3c 2f 74 64 3e 20 3c 74 64 3e 61 20 e3 82  a)</td> <td>a ..
8090: 92 e6 96 87 e5 ad 97 e5 88 97 e5 8c 96 e6 a8 99  ................
80a0: e6 ba 96 e5 87 ba e5 8a 9b e3 81 ab e6 94 b9 e8  ................
80b0: a1 8c e4 bb 98 e3 81 8d e3 81 a7 e8 a1 a8 e7 a4  ................
80c0: ba e3 81 97 e3 81 a6 e3 80 81 61 20 e3 82 92 e8  ..........a ....
80d0: bf 94 e3 81 99 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  .....</td></tr>.
80e0: 0a 20 20 20 20 3c 74 72 3e 3c 74 68 3e 61 72 67  .    <tr><th>arg
80f0: 76 3c 2f 74 68 3e 20 3c 74 64 3e 3c 2f 74 64 3e  v</th> <td></td>
8100: 20 3c 74 64 3e e3 82 b9 e3 82 af e3 83 aa e3 83   <td>...........
8110: 97 e3 83 88 e3 81 ab e6 b8 a1 e3 81 95 e3 82 8c  ................
8120: e3 81 9f e5 bc 95 e6 95 b0 e6 96 87 e5 ad 97 e5  ................
8130: 88 97 e3 81 ae 63 6f 6e 73 e3 83 aa e3 82 b9 e3  .....cons.......
8140: 83 88 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20  ..</td></tr>..  
8150: 20 20 3c 74 72 3e 3c 74 68 3e 67 65 6e 73 79 6d    <tr><th>gensym
8160: 3c 2f 74 68 3e 20 3c 74 64 3e 28 29 3c 2f 74 64  </th> <td>()</td
8170: 3e 20 3c 74 64 3e e3 82 a8 e3 82 bb 67 65 6e 73  > <td>......gens
8180: 79 6d e3 80 82 e5 a4 89 e6 95 b0 e5 90 8d e3 81  ym..............
8190: a8 e3 81 97 e3 81 a6 e4 bb 96 e3 81 a8 e3 81 8b  ................
81a0: e3 81 b6 e3 82 89 e3 81 aa e3 81 9d e3 81 86 e3  ................
81b0: 81 aa e6 96 87 e5 ad 97 e5 88 97 e3 82 92 e8 bf  ................
81c0: 94 e3 81 97 e3 81 be e3 81 99 3c 2f 74 64 3e 3c  ..........</td><
81d0: 2f 74 72 3e 0d 0a 20 20 20 20 3c 74 72 3e 3c 74  /tr>..    <tr><t
81e0: 68 3e 72 61 6e 64 3c 2f 74 68 3e 20 3c 74 64 3e  h>rand</th> <td>
81f0: 28 6e 29 3c 2f 74 64 3e 20 3c 74 64 3e 30 20 e4  (n)</td> <td>0 .
8200: bb a5 e4 b8 8a 20 6e 20 e6 9c aa e6 ba 80 e3 81  ..... n ........
8210: ae e8 87 aa e7 84 b6 e6 95 b0 e3 82 92 33 31 62  .............31b
8220: 69 74 e4 bb a5 e5 86 85 e3 81 a7 e3 83 a9 e3 83  it..............
8230: b3 e3 83 80 e3 83 a0 e3 81 ab e7 94 9f e6 88 90  ................
8240: e3 81 97 e3 81 be e3 81 99 3c 2f 74 64 3e 3c 2f  .........</td></
8250: 74 72 3e 0d 0a 20 20 3c 2f 74 61 62 6c 65 3e 0d  tr>..  </table>.
8260: 0a 3c 2f 64 64 3e 0d 0a 3c 62 72 20 2f 3e 0d 0a  .</dd>..<br />..
8270: 0d 0a 0d 0a 3c 73 63 72 69 70 74 3e 65 78 70 6c  ....<script>expl
8280: 6f 72 65 72 2e 6f 75 74 6c 69 6e 65 2e 77 72 69  orer.outline.wri
8290: 74 65 45 6e 61 62 6c 65 64 20 3d 20 74 72 75 65  teEnabled = true
82a0: 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 3c 64 74 3e  ;</script>..<dt>
82b0: 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 64 65 63  <span class="dec
82c0: 6c 22 3e 0d 0a 3c 73 70 61 6e 20 63 6c 61 73 73  l">..<span class
82d0: 3d 22 63 75 72 72 73 79 6d 62 6f 6c 22 3e e3 83  ="currsymbol">..
82e0: 87 e3 83 bc e3 82 bf e5 9e 8b e5 88 a4 e5 ae 9a  ................
82f0: 3c 2f 73 70 61 6e 3e 0d 0a 3c 73 63 72 69 70 74  </span>..<script
8300: 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e  >explorer.outlin
8310: 65 2e 61 64 64 44 65 63 6c 28 27 e3 83 87 e3 83  e.addDecl('.....
8320: bc e3 82 bf e5 9e 8b e5 88 a4 e5 ae 9a 27 29 3b  .............');
8330: 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 3c 2f 73  </script>....</s
8340: 70 61 6e 3e 3c 2f 64 74 3e 0d 0a 3c 73 63 72 69  pan></dt>..<scri
8350: 70 74 3e 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c  pt>explorer.outl
8360: 69 6e 65 2e 77 72 69 74 65 45 6e 61 62 6c 65 64  ine.writeEnabled
8370: 20 3d 20 66 61 6c 73 65 3b 3c 2f 73 63 72 69 70   = false;</scrip
8380: 74 3e 0d 0a 0d 0a 20 3c 64 64 3e 20 3c 74 61 62  t>.... <dd> <tab
8390: 6c 65 3e 20 20 20 3c 74 72 3e 3c 74 68 3e 5f 69  le>   <tr><th>_i
83a0: 73 69 6e 74 3c 2f 74 68 3e 20 3c 74 64 3e 28 61  sint</th> <td>(a
83b0: 29 3c 2f 74 64 3e 20 3c 74 64 3e 61 20 e3 81 8c  )</td> <td>a ...
83c0: e6 95 b4 e6 95 b0 e3 81 aa e3 82 89 20 31 e3 80  ............ 1..
83d0: 81 e3 81 a7 e3 81 aa e3 81 91 e3 82 8c e3 81 b0  ................
83e0: 20 30 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20   0</td></tr>..  
83f0: 20 20 3c 74 72 3e 3c 74 68 3e 5f 69 73 73 74 72    <tr><th>_isstr
8400: 3c 2f 74 68 3e 20 3c 74 64 3e 28 61 29 3c 2f 74  </th> <td>(a)</t
8410: 64 3e 20 3c 74 64 3e 61 20 e3 81 8c e6 96 87 e5  d> <td>a .......
8420: ad 97 e5 88 97 e3 81 aa e3 82 89 20 31 e3 80 81  ........... 1...
8430: e3 81 a7 e3 81 aa e3 81 91 e3 82 8c e3 81 b0 20  ............... 
8440: 30 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20 20  0</td></tr>..   
8450: 20 3c 74 72 3e 3c 74 68 3e 5f 69 73 66 75 6e 3c   <tr><th>_isfun<
8460: 2f 74 68 3e 20 3c 74 64 3e 28 61 29 3c 2f 74 64  /th> <td>(a)</td
8470: 3e 20 3c 74 64 3e 61 20 e3 81 8c e9 96 a2 e6 95  > <td>a ........
8480: b0 e3 81 aa e3 82 89 20 31 e3 80 81 e3 81 a7 e3  ....... 1.......
8490: 81 aa e3 81 91 e3 82 8c e3 81 b0 20 30 3c 2f 74  ........... 0</t
84a0: 64 3e 3c 2f 74 72 3e 0d 0a 20 20 20 20 3c 74 72  d></tr>..    <tr
84b0: 3e 3c 74 68 3e 5f 69 73 74 61 62 6c 65 3c 2f 74  ><th>_istable</t
84c0: 68 3e 20 3c 74 64 3e 28 61 29 3c 2f 74 64 3e 20  h> <td>(a)</td> 
84d0: 3c 74 64 3e 61 20 e3 81 8c e3 83 86 e3 83 bc e3  <td>a ..........
84e0: 83 96 e3 83 ab e3 81 aa e3 82 89 20 31 e3 80 81  ........... 1...
84f0: e3 81 a7 e3 81 aa e3 81 91 e3 82 8c e3 81 b0 20  ............... 
8500: 30 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 20 20 20  0</td></tr>..   
8510: 20 3c 74 72 3e 3c 74 68 3e 5f 69 73 75 6e 64 65   <tr><th>_isunde
8520: 66 69 6e 65 64 3c 2f 74 68 3e 20 3c 74 64 3e 28  fined</th> <td>(
8530: 61 29 3c 2f 74 64 3e 20 3c 74 64 3e 61 20 e3 81  a)</td> <td>a ..
8540: 8c e6 9c aa e5 ae 9a e7 be a9 e5 80 a4 e3 81 aa  ................
8550: e3 82 89 20 31 e3 80 81 e3 81 a7 e3 81 aa e3 81  ... 1...........
8560: 91 e3 82 8c e3 81 b0 20 30 3c 2f 74 64 3e 3c 2f  ....... 0</td></
8570: 74 72 3e 0d 0a 20 20 3c 2f 74 61 62 6c 65 3e 0d  tr>..  </table>.
8580: 0a 3c 2f 64 64 3e 0d 0a 3c 2f 64 6c 3e 0d 0a 3c  .</dd>..</dl>..<
8590: 73 63 72 69 70 74 3e 65 78 70 6c 6f 72 65 72 2e  script>explorer.
85a0: 6f 75 74 6c 69 6e 65 2e 64 65 63 53 79 6d 62 6f  outline.decSymbo
85b0: 6c 4c 65 76 65 6c 28 29 3b 3c 2f 73 63 72 69 70  lLevel();</scrip
85c0: 74 3e 0d 0a 0d 0a 0d 0a 3c 2f 64 64 3e 0d 0a 0d  t>......</dd>...
85d0: 0a 3c 2f 64 6c 3e 0d 0a 3c 73 63 72 69 70 74 3e  .</dl>..<script>
85e0: 65 78 70 6c 6f 72 65 72 2e 6f 75 74 6c 69 6e 65  explorer.outline
85f0: 2e 64 65 63 53 79 6d 62 6f 6c 4c 65 76 65 6c 28  .decSymbolLevel(
8600: 29 3b 3c 2f 73 63 72 69 70 74 3e 0d 0a 0d 0a 0d  );</script>.....
8610: 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 09 09 3c  .</td></tr>....<
8620: 74 72 3e 3c 74 64 20 69 64 3d 22 64 6f 63 66 6f  tr><td id="docfo
8630: 6f 74 65 72 22 3e 0d 0a 09 09 09 50 61 67 65 20  oter">.....Page 
8640: 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 77 69  was generated wi
8650: 74 68 0d 0a 09 09 09 3c 69 6d 67 20 73 72 63 3d  th.....<img src=
8660: 22 63 61 6e 64 79 64 6f 63 2f 69 6d 67 2f 63 61  "candydoc/img/ca
8670: 6e 64 79 64 6f 63 2e 67 69 66 22 20 73 74 79 6c  ndydoc.gif" styl
8680: 65 3d 22 76 65 72 74 69 63 61 6c 2d 61 6c 69 67  e="vertical-alig
8690: 6e 3a 6d 69 64 64 6c 65 3b 20 70 6f 73 69 74 69  n:middle; positi
86a0: 6f 6e 3a 72 65 6c 61 74 69 76 65 3b 20 74 6f 70  on:relative; top
86b0: 3a 2d 31 70 78 22 3e 0d 0a 09 09 09 6f 6e 20 46  :-1px">.....on F
86c0: 72 69 20 4e 6f 76 20 32 36 20 31 36 3a 34 31 3a  ri Nov 26 16:41:
86d0: 35 32 20 32 30 31 30 0d 0a 0d 0a 09 09 3c 2f 74  52 2010......</t
86e0: 64 3e 3c 2f 74 72 3e 0d 0a 09 3c 2f 74 61 62 6c  d></tr>...</tabl
86f0: 65 3e 0d 0a 3c 2f 64 69 76 3e 0d 0a 3c 73 63 72  e>..</div>..<scr
8700: 69 70 74 3e 0d 0a 09 65 78 70 6c 6f 72 65 72 2e  ipt>...explorer.
8710: 70 61 63 6b 61 67 65 45 78 70 6c 6f 72 65 72 2e  packageExplorer.
8720: 61 64 64 4d 6f 64 75 6c 65 28 22 69 6e 64 65 78  addModule("index
8730: 22 29 3b 0d 0a 09 65 78 70 6c 6f 72 65 72 2e 70  ");...explorer.p
8740: 61 63 6b 61 67 65 45 78 70 6c 6f 72 65 72 2e 61  ackageExplorer.a
8750: 64 64 4d 6f 64 75 6c 65 28 22 6d 61 69 6e 22 29  ddModule("main")
8760: 3b 0d 0a 09 65 78 70 6c 6f 72 65 72 2e 70 61 63  ;...explorer.pac
8770: 6b 61 67 65 45 78 70 6c 6f 72 65 72 2e 61 64 64  kageExplorer.add
8780: 4d 6f 64 75 6c 65 28 22 74 72 69 63 6b 73 2e 74  Module("tricks.t
8790: 72 69 63 6b 73 22 29 3b 0d 0a 09 65 78 70 6c 6f  ricks");...explo
87a0: 72 65 72 2e 70 61 63 6b 61 67 65 45 78 70 6c 6f  rer.packageExplo
87b0: 72 65 72 2e 61 64 64 4d 6f 64 75 6c 65 28 22 74  rer.addModule("t
87c0: 72 69 63 6b 73 2e 74 65 73 74 22 29 3b 0d 0a 09  ricks.test");...
87d0: 65 78 70 6c 6f 72 65 72 2e 70 61 63 6b 61 67 65  explorer.package
87e0: 45 78 70 6c 6f 72 65 72 2e 61 64 64 4d 6f 64 75  Explorer.addModu
87f0: 6c 65 28 22 70 6f 6c 65 6d 79 2e 5f 63 6f 6d 6d  le("polemy._comm
8800: 6f 6e 22 29 3b 0d 0a 09 65 78 70 6c 6f 72 65 72  on");...explorer
8810: 2e 70 61 63 6b 61 67 65 45 78 70 6c 6f 72 65 72  .packageExplorer
8820: 2e 61 64 64 4d 6f 64 75 6c 65 28 22 70 6f 6c 65  .addModule("pole
8830: 6d 79 2e 66 61 69 6c 75 72 65 22 29 3b 0d 0a 09  my.failure");...
8840: 65 78 70 6c 6f 72 65 72 2e 70 61 63 6b 61 67 65  explorer.package
8850: 45 78 70 6c 6f 72 65 72 2e 61 64 64 4d 6f 64 75  Explorer.addModu
8860: 6c 65 28 22 70 6f 6c 65 6d 79 2e 6c 61 79 65 72  le("polemy.layer
8870: 22 29 3b 0d 0a 09 65 78 70 6c 6f 72 65 72 2e 70  ");...explorer.p
8880: 61 63 6b 61 67 65 45 78 70 6c 6f 72 65 72 2e 61  ackageExplorer.a
8890: 64 64 4d 6f 64 75 6c 65 28 22 70 6f 6c 65 6d 79  ddModule("polemy
88a0: 2e 66 72 65 73 68 22 29 3b 0d 0a 09 65 78 70 6c  .fresh");...expl
88b0: 6f 72 65 72 2e 70 61 63 6b 61 67 65 45 78 70 6c  orer.packageExpl
88c0: 6f 72 65 72 2e 61 64 64 4d 6f 64 75 6c 65 28 22  orer.addModule("
88d0: 70 6f 6c 65 6d 79 2e 6c 65 78 22 29 3b 0d 0a 09  polemy.lex");...
88e0: 65 78 70 6c 6f 72 65 72 2e 70 61 63 6b 61 67 65  explorer.package
88f0: 45 78 70 6c 6f 72 65 72 2e 61 64 64 4d 6f 64 75  Explorer.addModu
8900: 6c 65 28 22 70 6f 6c 65 6d 79 2e 70 61 72 73 65  le("polemy.parse
8910: 22 29 3b 0d 0a 09 65 78 70 6c 6f 72 65 72 2e 70  ");...explorer.p
8920: 61 63 6b 61 67 65 45 78 70 6c 6f 72 65 72 2e 61  ackageExplorer.a
8930: 64 64 4d 6f 64 75 6c 65 28 22 70 6f 6c 65 6d 79  ddModule("polemy
8940: 2e 61 73 74 22 29 3b 0d 0a 09 65 78 70 6c 6f 72  .ast");...explor
8950: 65 72 2e 70 61 63 6b 61 67 65 45 78 70 6c 6f 72  er.packageExplor
8960: 65 72 2e 61 64 64 4d 6f 64 75 6c 65 28 22 70 6f  er.addModule("po
8970: 6c 65 6d 79 2e 76 61 6c 75 65 22 29 3b 0d 0a 09  lemy.value");...
8980: 65 78 70 6c 6f 72 65 72 2e 70 61 63 6b 61 67 65  explorer.package
8990: 45 78 70 6c 6f 72 65 72 2e 61 64 64 4d 6f 64 75  Explorer.addModu
89a0: 6c 65 28 22 70 6f 6c 65 6d 79 2e 76 61 6c 75 65  le("polemy.value
89b0: 63 6f 6e 76 22 29 3b 0d 0a 09 65 78 70 6c 6f 72  conv");...explor
89c0: 65 72 2e 70 61 63 6b 61 67 65 45 78 70 6c 6f 72  er.packageExplor
89d0: 65 72 2e 61 64 64 4d 6f 64 75 6c 65 28 22 70 6f  er.addModule("po
89e0: 6c 65 6d 79 2e 65 76 61 6c 22 29 3b 0d 0a 09 65  lemy.eval");...e
89f0: 78 70 6c 6f 72 65 72 2e 70 61 63 6b 61 67 65 45  xplorer.packageE
8a00: 78 70 6c 6f 72 65 72 2e 61 64 64 4d 6f 64 75 6c  xplorer.addModul
8a10: 65 28 22 70 6f 6c 65 6d 79 2e 72 75 6e 74 69 6d  e("polemy.runtim
8a20: 65 22 29 3b 0d 0a 09 65 78 70 6c 6f 72 65 72 2e  e");...explorer.
8a30: 70 61 63 6b 61 67 65 45 78 70 6c 6f 72 65 72 2e  packageExplorer.
8a40: 61 64 64 4d 6f 64 75 6c 65 28 22 70 6f 6c 65 6d  addModule("polem
8a50: 79 2e 72 65 70 6c 22 29 3b 3c 2f 73 63 72 69 70  y.repl");</scrip
8a60: 74 3e 0d 0a 3c 2f 62 6f 64 79 3e 3c 2f 68 74 6d  t>..</body></htm
8a70: 6c 3e 0d 0a 0d 0a 0d 0a                          l>......