Calendar - for "REAL" programmers: Difference between revisions

Added PicoLisp
(→‎Tcl: Omit, with explanation)
(Added PicoLisp)
Line 157:
31 30
</pre>
 
=={{header|PicoLisp}}==
The "CALENDAR.L" source file:
<lang PicoLisp>(DE CAL (YEAR)
(PRINL "====== " YEAR " ======")
(FOR DAT (RANGE (DATE YEAR 1 1) (DATE YEAR 12 31))
(LET D (DATE DAT)
(TAB (3 3 4 8)
(WHEN (= 1 (CADDR D))
(GET `(INTERN (PACK (MAPCAR CHAR (42 77 111 110)))) (CADR D)) )
(CADDR D)
(DAY DAT `(INTERN (PACK (MAPCAR CHAR (42 68 97 121)))))
(WHEN (=0 (% (INC DAT) 7))
(PACK (CHAR 87) "EEk " (WEEK DAT)) ) ) ) ) )
 
(CAL 1969)
(BYE)</lang>
Then it can be executed with this command line:
<pre>$ pil -'load (list "awk" "{print tolower($0)}" "CALENDAR.L")'</pre>
Output:
<pre>====== 1969 ======
Jan 1 Wed
2 Thu
3 Fri
4 Sat
5 Sun
6 Mon Week 2
7 Tue
....
28 Sat
29 Sun
30 Mon Week 27
Jul 1 Tue
2 Wed
3 Thu
4 Fri
....
25 Thu
26 Fri
27 Sat
28 Sun
29 Mon Week 53
30 Tue
31 Wed</pre>
 
{{omit from|Tcl|Real Tcl programmers use lower case! To be exact, a preamble could be written which would transform a Tcl interpreter into using upper case, but that would have to be part of this task's solution and would itself be in lower case, at least initially.}}
Anonymous user