Read a Tcl/Tk script and convert it to a Common Lisp script.
- A Common Lisp compiler (SBCL preferred)
- I am trying to write this in a portable way (as this is mostly a DSL), so any compiler may work.
- ASDF (Another System Definition Facility)
- This is the build tool
- It does *NOT* download dependencies for you!
- Quicklisp
- This is the package management tool for Common Lisp.
- Quicklisp plugs into ASDF to download and load/build the source for you.
- UIOP (Utilities for Implementation and OS Portability)
- Alexandria
- Log4CL
- Provides structured logging facilities.
- ~lisp-unit2~
- Only needed for testing!
- TCL 8.6
- Only needed for testing. This is used to ensure the scripts that Tcl2CL produces are roughly equivalent to what TCL would output.
Tcl2CL builds using the standard ASDF build system.
Make sure ASDF is capable of finding your copy of Tcl2CL.
(asdf:compile-system :tcl2cl)
If you want to force a rebuild, ASDF supports that too.
(asdf:compile-system :tcl2cl :force t)
.
Tcl2CL uses lisp-unit2 for its unit testing system.
Make sure ASDF if capable of finding your copy of Tcl2CL and lisp-unit2.
(asdf:test-system :tcl2cl)
(lisp-unit2:run-tests :package :tcl2cl/tests)
I personally felt this when specialty connection operators were required to be defined as experimental in chisel3; operators which I needed to connect hardware together.