VeLisp is AutoLISP interpreter with DCL support. The idea is to treat AutoLISP as a general purpose programming language. The goal is to run AutoLISP programs outside of AutoCAD. Why? To learn basic AutoLISP and DCL programming, to write shell scripts, to run DCL dialogs just like regular applications on Windows, MacOS and Linux.
- Windows
- MacOS
- Linux
- Implemented functions
- Known issues and limitations
- Versioning
- Contributing
- License
- See also
You can find the latest release here.
- Download https://github.com/ten0s/velisp/releases/download/0.7.10/velisp-0.7.10-win-x64-setup.zip
- Open Downloads folder
- Double-click on velisp-0.7.10-win-x64-setup.zip to open the archive
- Run velisp-0.7.10-win-x64-setup.exe
- Follow the installation wizard. Default options are ok for most users
- Download https://github.com/ten0s/velisp/releases/download/0.7.10/velisp-0.7.10-win-x64.zip
- Open Downloads folder
- Select velisp-0.7.10-win-x64.zip
- Press the right mouse button
- Click 'Extract All...'
- Enter 'C:'
- Click 'Extract'
- Press 'Windows + Break' to open the System Info
- Click 'Advanced system settings'
- Click 'Environment Variables...'
- Select 'Path' inside the User variables block
- Click 'Edit...'
- Click 'New...'
- Enter 'C:\velisp-0.7.10-win-x64'
- Click 'OK'
- Click 'OK'
If you installed VeLisp via automatic setup go to 'Start' -> 'VeLisp' -> 'VeLisp Command Prompt'.
If you installed Velisp via binary archive run the Command Prompt (cmd.exe) and move to the extraction directory:
> cd C:\velisp-0.7.10-win-x64
> velisp
VeLisp 0.7.10 on Windows
Type ".license" or ".help" for more information
_$ (+ 1 2)
3
_$ (defun add (a b) (+ a b))
ADD
_$ (mapcar '(lambda (x y) (itoa (add x y))) '(1 2 3) '(9 8 7))
("10" "10" "10")
_$ (quit)
Calculate 10th (by default) Fibonacci number
> velisp examples\fib.lsp
55
Calculate 11th Fibonacci number
> velisp examples\fib.lsp 11
89
Run the Calculator example
> velisp examples\calc.lsp
Run the Minesweeper example
> velisp examples\mines.lsp
Run the Fifteen Puzzle example
> velisp examples\fifteen.lsp
Run the Demo example
> velisp examples\demo.lsp
Run the Slides example
> velisp examples\slides.lsp
> type examples\fib.lsp | velisp
55
> type examples\fib.lsp | velisp -- 11
89
> echo (alert "Hello from VeLisp!") | velisp
> echo (alert (strcat "Hello from " (argv 2) "!")) | velisp -- Arg
> velisp --no-dcl examples\fib.lsp
55
- Click 'Tools' -> 'Options...'
- Click 'Files' -> 'Support File Search Path'
- Click 'Add...'
- Click 'Browse...'
- Select appropriately C:\Program Files\VeLisp\examples or C:\velisp-0.7.10-win-x64\examples
- Click 'OK'
- Click 'Apply'
- Click 'OK'
- Click 'Tools' -> 'AutoLISP' -> 'Visual LISP Editor'
- Run in Visual LISP Console
_$ (load "calc")
_$ (load "mines")
_$ (load "fifteen")
_$ (load "demo")
_$ (load "slides")
How to create self-extracting archive https://ten0s.github.io/blog/2024/10/05/velisp-self-extracting-archive-en
You can find the latest release here.
Warning: Do not use Safari to download the archive, do not use Finder to extract the archive and, most importantly, do not use Finder to start VeLisp for the first time. Since VeLisp is not signed you will not be able to start it this way due to Apple's Gatekeeper. Instead, start the Terminal application (Finder -> Go -> Utilities -> Terminal) and run:
% cd $HOME
% curl -LJO https://github.com/ten0s/velisp/releases/download/0.7.10/velisp-0.7.10-macos-x64.tar.xz
% tar xfJ velisp-0.7.10-macos-x64.tar.xz
export PATH=<PATH_TO>/velisp-0.7.10-macos-x64:$PATH
% cd velisp-0.7.10-macos-x64
% ./velisp
VeLisp 0.7.10 on MacOS
Type ".license" or ".help" for more information
_$ (+ 1 2)
3
_$ (defun add (a b) (+ a b))
ADD
_$ (mapcar '(lambda (x y) (itoa (add x y))) '(1 2 3) '(9 8 7))
("10" "10" "10")
_$ (quit)
Calculate 10th (by default) Fibonacci number
% ./velisp examples/fib.lsp
55
Calculate 11th Fibonacci number
% ./velisp examples/fib.lsp 11
89
Run the Calculator example
% ./velisp examples/calc.lsp
Run the Minesweeper example
% ./velisp examples/mines.lsp
Run the Fifteen Puzzle example
% ./velisp examples/fifteen.lsp
Run the Demo example
% ./velisp examples/demo.lsp
Run the Slides example
> ./velisp examples/slides.lsp
% cat examples/fib.lsp | ./velisp
55
% cat examples/fib.lsp | ./velisp -- 11
89
% echo '(alert "Hello from VeLisp!")' | ./velisp
% echo '(alert (strcat "Hello from " (argv 2) "!"))' | ./velisp -- Arg
% ./velisp --no-dcl examples/fib.lsp
55
You can find the latest release here.
$ curl -LJO https://github.com/ten0s/velisp/releases/download/0.7.10/velisp-0.7.10-linux-x64.tar.xz
$ tar xfJ velisp-0.7.10-linux-x64.tar.xz
export PATH=<PATH_TO>/velisp-0.7.10-linux-x64:$PATH
$ cd velisp-0.7.10-linux-x64
$ ./velisp
VeLisp 0.7.10 on Linux
Type ".license" or ".help" for more information
_$ (+ 1 2)
3
_$ (defun add (a b) (+ a b))
ADD
_$ (mapcar '(lambda (x y) (itoa (add x y))) '(1 2 3) '(9 8 7))
("10" "10" "10")
_$ (quit)
Calculate 10th (by default) Fibonacci number
$ ./velisp examples/fib.lsp
55
Calculate 11th Fibonacci number
$ ./velisp examples/fib.lsp 11
89
Run the Calculator example
$ ./velisp examples/calc.lsp
Run the Minesweeper example
$ ./velisp examples/mines.lsp
Run the Fifteen Puzzle example
$ ./velisp examples/fifteen.lsp
Run the Demo example
$ ./velisp examples/demo.lsp
Run the Slides example
> ./velisp examples/slides.lsp
$ cat examples/fib.lsp | ./velisp
55
$ cat examples/fib.lsp | ./velisp -- 11
89
$ echo '(alert "Hello from VeLisp!")' | ./velisp
$ echo '(alert (strcat "Hello from " (argv 2) "!"))' | ./velisp -- Arg
$ ./velisp --no-dcl examples/fib.lsp
55
- Integers are signed numbers with values ranging from -9,007,199,254,740,991 (-253+1) to +9,007,199,254,740,991 (+253-1)
The version reflects subjective percentage of completeness. For example, the version 0.7.3 should be read as VeLisp is 73% (0.73) ready.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as below, without any additional terms or conditions.
The project is licensed under the GNU General Public License v3.0 or later with the exception below. See LICENSE or https://spdx.org/licenses/GPL-3.0-or-later.html for full license information.
The files in the examples/ and lib/ directories are licensed under the BSD Zero Clause License. See LICENSE or LICENSE or https://spdx.org/licenses/0BSD.html for full license information.