ebergman@isis.cs.du.edu (Eric Bergman-Terrell) (11/18/90)
The following is a list of all programs in alphabetical order:
***** CD *****
\<< 2299238.5 - 1 1
1583 PKD SWAP DATE+
\>>
***** DIM *****
\<< \-> M Y
\<< M 1 Y PKD
IF M 12 <
THEN M 1 + 1 Y
ELSE 1 1 Y 1 +
END PKD DDAYS
\>>
\>>
***** DOW *****
\<< JD 1.5 + 7 MOD 1
+
\>>
***** DST *****
\<< 0 0 \-> Y D
\<< DATE 100 * FP
10000 * 'Y' STO 4 1
Y PKD 'D' STO
WHILE D DOW 1 \=/
REPEAT D 1
DATE+ 'D' STO
END
IF DATE D <
THEN D 2
\<< 1 CAL
SETCLK
\>> 0 4 \->LIST
STOALARM DROP
END 10 31 Y PKD
'D' STO
WHILE D DOW 1 \=/
REPEAT D -1
DATE+ 'D' STO
END
IF DATE D <
THEN D 2
\<< -1 CAL
SETCLK
\>> 0 4 \->LIST
STOALARM DROP
END 1 1 Y 1 +
PKD 1
\<< CAL DST 0 CAL
SETCLK
\>> 0 4 \->LIST
STOALARM DROP
\>>
\>>
- 2 -
***** DSTK *****
\<< { } \-> P L
\<< CLLCD -37 CF
DEPTH \->LIST 'L' STO
1 L SIZE
FOR I L I GET I
DISP
IF P
THEN L I GET
PR1 CR DROP
END
NEXT
IF P NOT
THEN 0 WAIT
DROP
END
\>>
\>>
***** EASTER *****
\<< 0 0 0 0 0 0 0 0 0
0 0 0 0 \-> Y A B C D
E F G H I K L M N
\<< Y 19 MOD 'A'
STO Y 100 / IP 'B'
STO Y 100 MOD 'C'
STO B 4 / 'D' STO B
4 MOD 'E' STO B 8 +
25 / IP 'F' STO B F
- 1 + 3 / IP 'G'
STO 19 A * B + D -
G - 15 + 30 MOD 'H'
STO C 4 / IP 'I'
STO C 4 MOD 'K' STO
32 2 E * + 2 I * +
H - K - 7 MOD 'L'
STO A 11 H * + 22 L
* + 451 / IP 'M'
STO H L + 7 M * -
114 + DUP SWAP 31 /
IP 'N' STO 31 MOD 1
+ N SWAP Y PKD
\>>
\>>
***** JD *****
\<< 1 1 1583 PKD SWAP
DDAYS 2299238.5 +
\>>
- 3 -
***** MCAL *****
\<< "" 0 \-> M Y P S B
\<< STD
" SU M TU W TH F SA"
M 1 Y PKD 'B' STO
"" B DOW 1 - 3 *
PAD 'S' STO 1 M Y
DIM
START S B UPKD
DROP SWAP DROP \->STR
3 PAD + 'S' STO
IF B DOW 7 ==
THEN S "" 'S'
STO
END B 1 DATE+
'B' STO
NEXT S P DSTK
\>>
\>>
***** PAD *****
\<< \-> S W
\<< S
WHILE DUP SIZE
W <
REPEAT " " SWAP
+
END
\>>
\>>
***** PKD *****
\<< \-> M D Y
\<< Y 1000000 /
IF -42 FC?
THEN D 100 / M
ELSE M 100 / D
END + +
\>>
\>>
***** SETCLK *****
\<< 8192 * 3600 *
CLKADJ DATE
FINDALARM DELALARM
\>>
- 4 -
***** UPKD *****
\<< \-> D
\<< D
IF -42 FC?
THEN IP D FP
100 *
ELSE FP 100 *
IP D
END IP D 100 *
FP 10000 *
\>>
\>>
***** YCAL *****
\<< \-> Y
\<< 1 12
FOR M M \->STR
"/" + Y \->STR + PR1
CR DROP M Y 1 MCAL
CR CR
NEXT
\>>
\>>
- 5 -