P r o g e C A D  ~ L I S P
programming JAVA sundials sun dials
ProgeCAD ~ LISP      

free 2D system
programmable using LISP
several dial programs here

The ProgeCAD CAD system is around 90mb, is free for non commercial use, and like AutoCAD, it supports LISP.

http://www.progesoft.com/en/products/progecad-smart/

While this is a free CAD system, please note the desire of the providers to solicit donations.

This LISP program should also work in AutoCAD, since no special quirks were used in writing the h-dial, v-dial, and v-dec programs,
and since ProgeCAD is stated as being compatible with AutoCAD.

Dial programs in LISP specifically for ProgeCAD ~ ~ ~ Download this file which has the data input panels (they need to go to the
CAD's Program Files folder), programs (which can go anywhere), and some notes you should read if you want to get things up and
running.  LISP also uses Polish notation in its programming. This LISP trigonometry support is such that hours below the dial plate
line can be wrapped to an opposite quadrant, one reason for only showing usually 0700 to 1700, another reason being that as the
hour line angle approaches 90 degrees, the TAN function provided, fails. I have put code in to handle tan(90) and tan(0), but have not
put in the code to ensure extreme hours go to the correct quadrant, see DeltaCAD programs for how I did that.  I use DeltaCAD for my
programmed dialling, TurboCAD for my other drafting and 3d work, these programs are here for you to get the best out of ProgeCAD.  It
is free, works well, and is programmable. These programs can help get you on the road to programmability with CAD.

I added a vertical (non declining dial) also in LISP and tested in ProgeCAD. It is in the zip file above.      
I changed
atoi to atof function, better notes, and fixed up line sense for vdial                                         
I added a vertical declining dial in LISP and tested in ProgeCAD. It is in the zip file above.              
I improved the notes on ProgeCAD and its TOOL panel. And the horizontal dial                           

There is a non CAD free LISP system by       
http://www.franz.com/newtolisp/index.lhtml      
Allegro CL 8.1     which is some 80mb, however it has the usual project build process, great for large applications, but less helpful for
simple projects. I have not done anything with it.

I am not inclined to pursue LISP any further. Back in 1967, Bryan Higman in "A Comparative Study of Programming Languages" wrote
of LISP that its time had past, that was some 50 years ago, and expresses a point I felt in my early days in computer programming as
much as it expresses my thoughts today. Biased though they may be.  BUT to be fair to ProgeCAD from ProgeSOFT, they also support
Visual Basic in their purchased version, and a number of other features.
                                                        ___________________________________________________________________

PBE model of programming  ~ ~ ~ (programming by example).

This section continues the "PBE" philosophy, namely "Programming By Example". Having started programming in 1966, and having
written code for BAL, PL/I, RPG, COBOL, ALGOL, APL, FORTRAN, C, BASIC, C++, LISP, and for operating systems from mainframe
DOS, MFT, MVT, VS1, MVS, GCP (under VM), UNIX, and various PC operating systems, I have become jaded enough to wade right in
and see what works, rather than read several hundred pages of text that mix the language with the object oriented concepts with the
development system.

The major problems with current computer languages are:-

1.     Manuals and HELP systems are designed for those who already know the system
2.     They seldom if ever provide simple programs stipped to bare bones that take input,
do something, display graphical output
3.      They often have complex build processes, or, very large libraries. ProgeCAD does not,
which is in its favor.

So, these web pages are intended to show practical solutions using systems other than the common ones, and to provide a basis for
you to develop further. These examples, give you that leg up.
Also, check NanoCAD and
FreeCAD and PowerDRAW all of
which are free and programmable
download Programming Shadows,
it is free, and has many hints to get
you up to speed on many languages