-
Notifications
You must be signed in to change notification settings - Fork 9
Installing IDyOM on Windows
mtpearce edited this page Jul 9, 2026
·
7 revisions
-
Download the Steel Bank Common Lisp (SBCL) .msi file [X86 Windows install, v2.3.2 used] and install SBCL via the installation wizard - Provide admin permissions for the installation program to run
-
Download Emacs [Windows emacs-29.4-installer.exe, or most recent version] and again, install the program via the installation wizard
-
Install Quicklisp, using the full series of instructions below:
- Create a new folder titled “quicklisp” in your home directory (e.g., "C:\Users\AdamA\quicklisp")
- Download the file http://beta.quicklisp.org/quicklisp.lisp and place it into the new folder you created in Step (a)
- Open the command prompt (type “cmd” in the start menu on Windows)
- Type “sbcl” to start SBCL, which will run the lisp commands you will type next
- Type each of these commands individually in order (using the file path for quicklisp.lisp) – the commands below use the example file/folder path (NB: If the paths are not read properly by SBCL when you paste/type them into the command prompt, try entering them with either double backslashes (“\”) or single forward slashes (“/”)):
(load "C:\Users\AdamA\quicklisp\quicklisp.lisp") (quicklisp-quickstart:install :path "C:\Users\AdamA\quicklisp") (ql:add-to-init-file) (ql:quickload "quicklisp-slime-helper")- Where prompted, the command line will output text to copy and paste into the emacs configuration file called “.emacs” (on Windows, this file should be in the following path, assuming an installation with all the default parameters: "C:\Users\AdamA\AppData\Roaming.emacs"). The text should look something like this:
(load (expand-file-name "C:/Users/AdamA/quicklisp/slime-helper.el")) ;; Replace "sbcl" with the path to your implementation (setq inferior-lisp-program "sbcl")- You can copy and paste the text by opening “.emacs” with Notepad. If you can’t see the AppData folder on your Windows device, in File Explorer, select View > Show, then select Hidden items to view hidden files and folders.
- If the above copied and pasted text (using your own directory name for where quicklisp.lisp is saved) doesn’t work, specify the install location of sbcl on your device as follows:
(load (expand-file-name "C:/Users/AdamA/quicklisp/slime-helper.el")) ;; Replace "sbcl" with the path to your implementation (setq inferior-lisp-program "C:/Program Files (x86)/Steel Bank Common Lisp/sbcl.exe")- Check the installation has been successful by opening Emacs, pressing Alt-x on your keyboard, and type “slime” in the terminal. Slime should confirm it has booted; you are now running SBCL in Emacs and can now type lisp commands to execute. For example, typing “(+ 2 3) to sum two numbers should give you an output of 5 when you press Enter.
-
Download Sqlite3 on Windows from this repository (https://www.sqlite.org/download.html) and select the 32-bit DLL (x86) for SQLite zip file [version 3.49.0 used]. Create a folder in which to extract the zip file that you can locate later. For example, you might use "C:_tools\sqlite"
- Extract the zip file in your desired location – you should see two files in your new folder: “sqlite3.def” and “sqlite3.dll” which will be used by IDyOM to store compositions in your own database
-
Install IDyOM
- Download the latest release [used 1.7.1] from the following repo (https://github.com/mtpearce/idyom/releases)
- Unzip the file in the “local-projects” folder, a subfolder within the “quicklisp” folder (in our example, you’ll find this folder at "C:\Users\AdamA\quicklisp\local-projects")
- Create a folder in your home directory called “idyom” (location in our example: "C:\Users\AdamA\idyom"). Within that folder make two further folders, one called “db”, the other called “data”. Within the “data” folder make three further folders called “cache”, “models” and “resampling”.
- Locate the “.sbclrc” file which should appear in your home directory (in our example: "C:\Users\AdamA.sbclrc" and open it with Notepad or a text editor of your choice.
- Place the following text into the .sbclrc file (using Notepad, Emacs, or a text editor of your choice), ensuring the locations of the relevant folders and files reflect where they exist on your Windows device:
(pushnew :windows *features*) ;;; The following lines added by ql:add-to-init-file: #-quicklisp (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init))) ;;; Load CLSQL by default (ql:quickload "clsql") ;;; IDyOM (defun start-idyom () (defvar *idyom-root* "c:/Users/AdamA/idyom/") (defvar *idyom-message-detail-level* 1) (ql:quickload "idyom") ;tell clsql where to search for mysql libs (push #p"c:/_tools/sqlite/" CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*) ;add mysql libs to clsql library path [apparent from code :] (clsql:push-library-path "c:/_tools/sqlite/") ;directly tell uffi to load mysqlclient shared library (uffi:load-foreign-library "c:/_tools/sqlite/sqlite3.dll") (clsql:connect '("c:/Users/AdamA/idyom/db/database.sqlite") :if-exists :old :database-type :sqlite3))- (Re)start Emacs, run slime again (Alt-x and type “slime” in the terminal), and type “(start-idyom)” which loads IDyOM and if it’s your first run will download the required third-party lisp libraries
- Upon starting IDyOM for the first time only, type (db:initialise-database) to connect IDyOM to the location of your chosen database
-
User documentation
- Installation
- Database management
- Multiple Viewpoints
- Running IDyOM
- Applying IDyOM beyond prediction
- Related software
- Troubleshooting
-
Developer documentation