http://mirror.us-midwest-1.nexcess.net/gnu/emacs/windows/emacs-27/ http://www.sbcl.org/platform-table.html https://www.quicklisp.org/beta/ To get started with the Quicklisp beta, download and load https://beta.quicklisp.org/quicklisp.lisp C:\Users\maart>cd c:\home c:\home>sbcl --load quicklisp.lisp ==== quicklisp quickstart 2015-01-28 loaded ==== To continue with installation, evaluate: 0] (quicklisp-quickstart:install) ==== quicklisp installed ==== To load a system, use: (ql:quickload "system-name") To find systems, use: (ql:system-apropos "term") To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file) For more information, see http://www.quicklisp.org/beta/ NIL 0] (ql:add-to-init-file) I will append the following lines to #P"C:/home/.sbclrc": ;;; 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))) Press Enter to continue. 0] (ql:quickload "quicklisp-slime-helper") To use, add this to your ~/.emacs: (load (expand-file-name "~/quicklisp/slime-helper.el")) ;; Replace "sbcl" with the path to your implementation (setq inferior-lisp-program "sbcl") ("quicklisp-slime-helper") 0] PS C:\Users\maart\2020-IT> Get-Content C:\home\.emacs (load (expand-file-name "~/quicklisp/slime-helper.el")) ;; Replace "sbcl" with the path to your implementation (setq inferior-lisp-program "sbcl")
Alternative Installation from Linux (Widnows-Subsystem)
1. Open PowerShell as Administrator and run: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 2. Restart your computer when prompted.
Installation on Fedora
[maarten@localhost ~]$ wget https://beta.quicklisp.org/quicklisp.lisp --2020-10-15 14:47:55-- https://beta.quicklisp.org/quicklisp.lisp Resolving beta.quicklisp.org (beta.quicklisp.org)... 13.225.78.17, 13.225.78.33, 13.225.78.81, ... Connecting to beta.quicklisp.org (beta.quicklisp.org)|13.225.78.17|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 57144 (56K) [text/plain] Saving to: ‘quicklisp.lisp’ quicklisp.lisp 100%[===================>] 55.80K --.-KB/s in 0.06s 2020-10-15 14:47:57 (869 KB/s) - ‘quicklisp.lisp’ saved [57144/57144] [maarten@localhost ~]$ sbcl --load quicklisp.lisp This is SBCL 1.4.6-1.fc28, an implementation of ANSI Common Lisp. More information about SBCL is available at <http://www.sbcl.org/>. SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. ==== quicklisp quickstart 2015-01-28 loaded ==== To continue with installation, evaluate: (quicklisp-quickstart:install) For installation options, evaluate: (quicklisp-quickstart:help) * (quicklisp-quickstart:install) ; Fetching #<URL "http://beta.quicklisp.org/client/quicklisp.sexp"> ; 0.82KB ================================================== 838 bytes in 0.00 seconds (0.00KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/client/2020-01-04/quicklisp.tar"> ; 250.00KB ================================================== 256,000 bytes in 0.18 seconds (1404.49KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/client/2015-09-24/setup.lisp"> ; 4.94KB ================================================== 5,054 bytes in 0.00 seconds (4935.55KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/asdf/2.26/asdf.lisp"> ; 194.07KB ================================================== 198,729 bytes in 0.16 seconds (1228.30KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp.txt"> ; 0.40KB ================================================== 408 bytes in 0.00 seconds (398.44KB/sec) Installing dist "quicklisp" version "2020-09-25". ; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp/2020-09-25/releases.txt"> ; 465.71KB ================================================== 476,886 bytes in 0.25 seconds (1826.31KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp/2020-09-25/systems.txt"> ; 339.84KB ================================================== 347,992 bytes in 0.21 seconds (1626.01KB/sec) ==== quicklisp installed ==== To load a system, use: (ql:quickload "system-name") To find systems, use: (ql:system-apropos "term") To load Quicklisp every time you start Lisp, use: (ql:add-to-init-file) For more information, see http://www.quicklisp.org/beta/ NIL * (ql:add-to-init-file) I will append the following lines to #P"/home/maarten/.sbclrc": ;;; 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))) Press Enter to continue. #P"/home/maarten/.sbclrc" * (ql:quickload "quicklisp-slime-helper") To load "quicklisp-slime-helper": Load 1 ASDF system: asdf Install 3 Quicklisp releases: alexandria quicklisp-slime-helper slime ; Fetching #<URL "http://beta.quicklisp.org/archive/slime/2020-09-25/slime-v2.26.tgz"> ; 802.88KB ================================================== 822,146 bytes in 0.38 seconds (2141.01KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/alexandria/2020-09-25/alexandria-20200925-git.tgz"> ; 53.45KB ================================================== 54,730 bytes in 0.07 seconds (752.78KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/quicklisp-slime-helper/2015-07-09/quicklisp-slime-helper-20150709-git.tgz"> ; 2.16KB ================================================== 2,211 bytes in 0.00 seconds (0.00KB/sec) ; Loading "quicklisp-slime-helper" [package swank-loader]............................ [package swank/backend].......................... [package swank/rpc]............................... [package swank/match]............................. [package swank-mop].............................. [package swank].................................. [package swank/source-path-parser]................ [package swank/source-file-cache]................. [package swank/sbcl]............................. [package swank/gray].............................. ......... ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-util.lisp" (written 15 OCT 2020 02:50:13 PM): . ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-util.fasl written ; compilation finished in 0:00:00.024 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-repl.lisp" (written 15 OCT 2020 02:50:13 PM): ....................................... [package swank-repl].. ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-repl.fasl written ; compilation finished in 0:00:00.083 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-c-p-c.lisp" (written 15 OCT 2020 02:50:13 PM): . ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-c-p-c.fasl written ; compilation finished in 0:00:00.062 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-arglists.lisp" (written 15 OCT 2020 02:50:13 PM): ................ ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-arglists.fasl written ; compilation finished in 0:00:00.712 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-fuzzy.lisp" (written 15 OCT 2020 02:50:13 PM): ... ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-fuzzy.fasl written ; compilation finished in 0:00:00.145 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-fancy-inspector.lisp" (written 15 OCT 2020 02:50:13 PM): ........ ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-fancy-inspector.fasl written ; compilation finished in 0:00:00.322 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-presentations.lisp" (written 15 OCT 2020 02:50:13 PM): . ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-presentations.fasl written ; compilation finished in 0:00:00.051 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-presentation-streams.lisp" (written 15 OCT 2020 02:50:13 PM): . ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-presentation-streams.fasl written ; compilation finished in 0:00:00.048 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-asdf.lisp" (written 15 OCT 2020 02:50:13 PM): .... ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-asdf.fasl written ; compilation finished in 0:00:00.166 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-package-fu.lisp" (written 15 OCT 2020 02:50:13 PM): . ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-package-fu.fasl written ; compilation finished in 0:00:00.011 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-hyperdoc.lisp" (written 15 OCT 2020 02:50:13 PM): ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-hyperdoc.fasl written ; compilation finished in 0:00:00.003 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-sbcl-exts.lisp" (written 15 OCT 2020 02:50:13 PM): ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-sbcl-exts.fasl written ; compilation finished in 0:00:00.022 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-mrepl.lisp" (written 15 OCT 2020 02:50:13 PM): ......................................... [package swank-api].............................. [package swank-mrepl]. ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-mrepl.fasl written ; compilation finished in 0:00:00.044 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-trace-dialog.lisp" (written 15 OCT 2020 02:50:13 PM): ........................... [package swank-trace-dialog].. ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-trace-dialog.fasl written ; compilation finished in 0:00:00.056 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-macrostep.lisp" (written 15 OCT 2020 02:50:13 PM): .................... [package swank-macrostep]. ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-macrostep.fasl written ; compilation finished in 0:00:00.051 ; compiling file "/home/maarten/quicklisp/dists/quicklisp/software/slime-v2.26/contrib/swank-quicklisp.lisp" (written 15 OCT 2020 02:50:13 PM): ; /home/maarten/.slime/fasl/2.26/sbcl-1.4.6-1.fc28-linux-x86-64/contrib/swank-quicklisp.fasl written ; compilation finished in 0:00:00.004 ........................ [package alexandria].............................. [package alexandria-2]........................... [package quicklisp-slime-helper] slime-helper.el installed in "/home/maarten/quicklisp/slime-helper.el" To use, add this to your ~/.emacs: (load (expand-file-name "~/quicklisp/slime-helper.el")) ;; Replace "sbcl" with the path to your implementation (setq inferior-lisp-program "sbcl") ("quicklisp-slime-helper") *
One variant of the Fermat test that cannot be fooled is called the Miller-Rabin test (Miller 1976; Rabin 1980). This starts from an alternate form of Fermat’s Little Theorem, which states that if n is a prime number and a is any positive integer less than n, then a raised to the (n − 1)-st power is congruent to 1 modulo n. To test the primality of a number n by the Miller-Rabin test, we pick a random number a and raise a to the (n − 1)-st power modulo n using the expmod procedure. However, whenever we perform the squaring step in expmod, we check to see if we have discovered a “nontrivial square root of 1 modulo n,” that is, a number not equal to 1 or n−1 whose square is equal to 1 modulo n. It is possible to prove that if such a nontrivial square root of 1 exists, then n is not prime. It is also possible to prove that if n is an odd number that is not prime, then, for at least half the numbers a, computing a to n − 1 this way will reveal a nontrivial square root of 1 modulo n. (This is why the Miller-Rabin test cannot be fooled.) Modify the expmod procedure to signal if it discovers a nontrivial square root of 1, and use this to implement the Miller-Rabin test with a procedure analogous to fermat-test. Check your procedure by testing various known primes and non-primes. Hint: One convenient way to make expmod signal is to have it return 0.
Presidential Candidates Debates: >>> Check the website: http://www.presidency.ucsb.edu/debates.php