From 23dec612ce2acdbbb06d05f499b89ef73dc0d182 Mon Sep 17 00:00:00 2001 From: Mark Simpson Date: Fri, 27 Aug 2021 16:10:54 -0400 Subject: [PATCH 1/6] Fixing dead links. (found via lychee tool.) --- README.md | 2 +- docs/RESOURCES.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1785b70d..4faab1f5 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ To run the build "manually" execute the following from the root directory of the [asdf-registry-config]: https://common-lisp.net/project/asdf/asdf/Configuring-ASDF-to-find-your-systems.html [asdf]: https://common-lisp.net/project/asdf/ [common-lisp-analyzer]: https://github.com/exercism/common-lisp-analyzer -[common-lisp-representer]: https://github.com/exercism/common-lisp-representer. +[common-lisp-representer]: https://github.com/exercism/common-lisp-representer [common-lisp-test-runner]: https://github.com/exercism/common-lisp-test-runner [common-lisp]: https://common-lisp.net [concept-exercise]: https://github.com/exercism/docs/blob/main/building/tracks/concept-exercises.md diff --git a/docs/RESOURCES.md b/docs/RESOURCES.md index f78dd4c0..a22c94e2 100644 --- a/docs/RESOURCES.md +++ b/docs/RESOURCES.md @@ -40,7 +40,8 @@ Quick-guides / cheat sheets for Common Lisp: [cl-cookbook]: http://lispcookbook.github.io/cl-cookbook/ [cl-quickref]: http://clqr.boundp.org/ [cliki]: http://www.cliki.net/ -[common-lisp-gentle-introduction]: http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html +[common-lisp-gentle-introduction]: +https://www.cs.cmu.edu/~dst/LispBook/ [common-lisp-interactive]: http://www.cse.buffalo.edu/~shapiro/Commonlisp/ [common-lisp-net]: http://common-lisp.net/ [hyperspec]: http://www.lispworks.com/documentation/common-lisp.html From b9e55ff6ff1b3a4eb724fd5739545b592d92e713 Mon Sep 17 00:00:00 2001 From: Mark Simpson Date: Fri, 27 Aug 2021 16:42:56 -0400 Subject: [PATCH 2/6] Remove old generator template files. The generator is gone but these template files remained. --- docs/template-production.lisp | 9 --------- docs/template-test.lisp | 17 ----------------- 2 files changed, 26 deletions(-) delete mode 100644 docs/template-production.lisp delete mode 100644 docs/template-test.lisp diff --git a/docs/template-production.lisp b/docs/template-production.lisp deleted file mode 100644 index f8c0122d..00000000 --- a/docs/template-production.lisp +++ /dev/null @@ -1,9 +0,0 @@ -(in-package :cl-user) -(defpackage :exercise - (:use :cl) - (:shadow :list) - (:export :function-under-test)) - -(in-package :exercise) - -(defun function-under-test (args)) diff --git a/docs/template-test.lisp b/docs/template-test.lisp deleted file mode 100644 index cc776273..00000000 --- a/docs/template-test.lisp +++ /dev/null @@ -1,17 +0,0 @@ -(ql:quickload "lisp-unit") -#-xlisp-test (load "exercise") - -(defpackage :exercise-test - (:use :cl :lisp-unit)) - -(in-package :exercise-test) - -;;; -;;; tests go here... -;;; /e.g./ (define-test a-test (assert-equal 1 2)) -;;; - -#-xlisp-test -(let ((*print-errors* t) - (*print-failures* t)) - (run-tests :all :exercise)) From 0aa00303c9250b9412faef6321ba594a00ef2f8a Mon Sep 17 00:00:00 2001 From: Mark Simpson Date: Fri, 27 Aug 2021 16:48:04 -0400 Subject: [PATCH 3/6] Perform small markdown cleanups in docs directory. --- docs/ABOUT.md | 4 +++- docs/INSTALLATION.md | 3 +-- docs/LEARNING.md | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/ABOUT.md b/docs/ABOUT.md index ee139f99..467b6b8e 100644 --- a/docs/ABOUT.md +++ b/docs/ABOUT.md @@ -6,4 +6,6 @@ It's a multi-paradigm programming language that allows you to choose the approac Common Lisp has fast prototyping capabilities, and exceptional support for object oriented programming. It also boasts a macro system which allows you to adapt the language to your needs, and a run-time environment which allows modification of running applications. -To learn more about Common Lisp, take a look at [the Common Lisp homepage](https://common-lisp.net/). +To learn more about Common Lisp, take a look at [the Common Lisp homepage][common-lisp-net] + +[common-lisp-net]: https://common-lisp.net/ diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 892bfffe..14a43f1c 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -24,13 +24,12 @@ Everything comes already configured out of the box. Install Portacle by download Note: Emacs (text editor) can be disorienting at first, if you're not accustomed to it. Fortunately there are many primers on Emacs and SLIME available online. - ## Traditional Start If you prefer installing the needed tools separately you will need to install and set up: - a Lisp-aware text editor: [Emacs][emacs] with the [Slime][slime] or [Sly][sly] package is a common choice but [VIM][vim] with [SLIMV][slimv], [Atom][atom] with [SLIMA][slima] or [VSCode][vscode] with a [Common Lisp plugin][vscode-plugin] are also good. -- a Common Lisp implementation: [SBCL][sbcl] is a "safe" choice which works across Linux, MacOS and Windows. Since the language is based upon a standard other (conforming implementations)[awesome-cl-implementations] will work as well. +- a Common Lisp implementation: [SBCL][sbcl] is a "safe" choice which works across Linux, MacOS and Windows. Since the language is based upon a standard other [conforming implementations][awesome-cl-implementations] will work as well. - [Quicklisp][quicklisp] for library management. After downloading it, follow the [instructions][quicklisp-install] to ensure it is properly integrated with your Common Lisp implementation. [atom]: https://atom.io diff --git a/docs/LEARNING.md b/docs/LEARNING.md index 03d3a56d..d3776389 100644 --- a/docs/LEARNING.md +++ b/docs/LEARNING.md @@ -11,11 +11,12 @@ These resources can help you get started: by various contributors * [Awesome Common Lisp Learning][awesome-cl] -See also, within this Exercism Common Lisp track: [Important Resources](http://exercism.io/languages/common-lisp/resources) +See also, within this Exercism Common Lisp track: [Important Resources][track-resources] [awesome-cl]: https://github.com/GustavBertram/awesome-common-lisp-learning [cl-cookbook]: https://lispcookbook.github.io/cl-cookbook/ [cliki-getting-started]: http://cliki.net/Getting%20Started [practical-cl]: http://www.gigamonkeys.com/book/ [road-to-cl]: http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/ +[track-resources]: http://exercism.io/languages/common-lisp/resources [wikibooks-cl-first-steps]: http://en.wikibooks.org/wiki/Common_Lisp/First_steps From 9bae8bb5b6e6251ef346d88209eb84c4be3bc47f Mon Sep 17 00:00:00 2001 From: Mark Simpson Date: Fri, 27 Aug 2021 16:50:50 -0400 Subject: [PATCH 4/6] Perform small markdown cleanups in exercises/shared/.docs directory. --- exercises/shared/.docs/debug.md | 4 +++- exercises/shared/.docs/help.md | 16 +++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/exercises/shared/.docs/debug.md b/exercises/shared/.docs/debug.md index 125b1fd7..ea187ee5 100644 --- a/exercises/shared/.docs/debug.md +++ b/exercises/shared/.docs/debug.md @@ -1,8 +1,10 @@ # Debug -To help with debugging, you can use [`print` or similar functions](http://www.lispworks.com/documentation/HyperSpec/Body/f_wr_pr.htm) to write to standard output which will be visible in the test output. +To help with debugging, you can use [`print` or similar functions][cl-print] to write to standard output which will be visible in the test output. For example adding `(print "hello there")` into the function you are writing will cause it to be visible in the test runs (given that the test executes that function). One "trick": if you have several things to print out is to collect them together in a list and then print that: `(print (list :this "that" 'the-other))`. +[cl-print]: http://www.lispworks.com/documentation/HyperSpec/Body/f_wr_pr.htm + diff --git a/exercises/shared/.docs/help.md b/exercises/shared/.docs/help.md index a3d16694..d6b37e39 100644 --- a/exercises/shared/.docs/help.md +++ b/exercises/shared/.docs/help.md @@ -1,15 +1,15 @@ ## Setup Check out [Installing Common -Lisp](https://exercism.lol/docs/tracks/common-lisp/installation) for +Lisp][track-install] for instructions to get started or take a look at the guides available in -the [track's documentation pages](https://exercism.lol/docs/tracks/common-lisp). +the [track's documentation pages][track-docs]. ## Where to look for help -Any of the resources listed in the list of [Useful Common Lisp Resources](https://exercism.lol/docs/tracks/common-lisp/resources) are good places to look for information. +Any of the resources listed in the list of [Useful Common Lisp Resources][track-resources] are good places to look for information. -There are also some [Online Communities](https://github.com/GustavBertram/awesome-common-lisp-learning#online-community) which may be good places to go for help. +There are also some [Online Communities][awesome-cl-communities] which may be good places to go for help. ## Formatting @@ -48,8 +48,14 @@ This can be placed in your `~/.emacs` (or `~/.emacs.d/init.el`) in order to have it set whenever Emacs is launched. One suggested add-on for Emacs and Common Lisp is -[SLIME](https://github.com/slime/slime) which offers tight integration +[SLIME][slime] which offers tight integration with the REPL; making iterative coding and testing very easy. ## Submitting Incomplete Solutions It's possible to submit an incomplete solution so you can see how others have completed the exercise. + +[awesome-cl-communities]: https://github.com/GustavBertram/awesome-common-lisp-learning#online-community +[slime]: https://github.com/slime/slime +[track-docs]: https://exercism.lol/docs/tracks/common-lisp +[track-install]: https://exercism.lol/docs/tracks/common-lisp/installation +[track-resources]: https://exercism.lol/docs/tracks/common-lisp/resources From a227547158238f0d3aec8093b0b8181b594bd5d2 Mon Sep 17 00:00:00 2001 From: Mark Simpson Date: Fri, 27 Aug 2021 16:53:15 -0400 Subject: [PATCH 5/6] Change all https?://exercism.(io|lol) links to internal links At present these may not be *correct*. Will check that next. --- docs/LEARNING.md | 2 +- exercises/shared/.docs/help.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/LEARNING.md b/docs/LEARNING.md index d3776389..8f524229 100644 --- a/docs/LEARNING.md +++ b/docs/LEARNING.md @@ -18,5 +18,5 @@ See also, within this Exercism Common Lisp track: [Important Resources][track-re [cliki-getting-started]: http://cliki.net/Getting%20Started [practical-cl]: http://www.gigamonkeys.com/book/ [road-to-cl]: http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/ -[track-resources]: http://exercism.io/languages/common-lisp/resources +[track-resources]: /languages/common-lisp/resources [wikibooks-cl-first-steps]: http://en.wikibooks.org/wiki/Common_Lisp/First_steps diff --git a/exercises/shared/.docs/help.md b/exercises/shared/.docs/help.md index d6b37e39..59fb9a6e 100644 --- a/exercises/shared/.docs/help.md +++ b/exercises/shared/.docs/help.md @@ -56,6 +56,6 @@ It's possible to submit an incomplete solution so you can see how others have co [awesome-cl-communities]: https://github.com/GustavBertram/awesome-common-lisp-learning#online-community [slime]: https://github.com/slime/slime -[track-docs]: https://exercism.lol/docs/tracks/common-lisp -[track-install]: https://exercism.lol/docs/tracks/common-lisp/installation -[track-resources]: https://exercism.lol/docs/tracks/common-lisp/resources +[track-docs]: /docs/tracks/common-lisp +[track-install]: /docs/tracks/common-lisp/installation +[track-resources]: /docs/tracks/common-lisp/resources From 76609c89fbd2ec86027df7711cf48fec6d347e40 Mon Sep 17 00:00:00 2001 From: Mark Simpson Date: Fri, 27 Aug 2021 22:26:11 -0400 Subject: [PATCH 6/6] Fix relative links to exercism and github. --- docs/LEARNING.md | 4 ++-- reference/implementing-a-concept-exercise.md | 12 ++---------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/docs/LEARNING.md b/docs/LEARNING.md index 8f524229..e3019d80 100644 --- a/docs/LEARNING.md +++ b/docs/LEARNING.md @@ -11,12 +11,12 @@ These resources can help you get started: by various contributors * [Awesome Common Lisp Learning][awesome-cl] -See also, within this Exercism Common Lisp track: [Important Resources][track-resources] +See also, within this Exercism Common Lisp track: [Important Resources][track-resources]. [awesome-cl]: https://github.com/GustavBertram/awesome-common-lisp-learning [cl-cookbook]: https://lispcookbook.github.io/cl-cookbook/ [cliki-getting-started]: http://cliki.net/Getting%20Started [practical-cl]: http://www.gigamonkeys.com/book/ [road-to-cl]: http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/ -[track-resources]: /languages/common-lisp/resources +[track-resources]: /docs/tracks/common-lisp [wikibooks-cl-first-steps]: http://en.wikibooks.org/wiki/Common_Lisp/First_steps diff --git a/reference/implementing-a-concept-exercise.md b/reference/implementing-a-concept-exercise.md index 135a57b7..6d42533f 100644 --- a/reference/implementing-a-concept-exercise.md +++ b/reference/implementing-a-concept-exercise.md @@ -21,9 +21,7 @@ placeholders are used: Before implementing the exercise, please make sure you have a good understanding of what the exercise should be teaching (and what not). -This information can be found in the exercise's GitHub issue. Having -done this, please read the [Common Lisp concept exercises -introduction][concept-exercises]. +This information can be found in the exercise's GitHub issue. To implement a concept exercise, the following files must be added: @@ -50,10 +48,6 @@ languages └── <SLUG>-test.lisp -**IMPORTANT NOTE:** To create these files, you should use the -`generate-scaffolding` tool in the `bin/` directory. See [this -document][scaffolder] to get started. - ## Step 1: Add code files The code files are track-specific and should be designed to help the student learn the exercise's concepts. The following Common Lisp code files must be added (not necessarily in this order): @@ -103,12 +97,10 @@ post them as comments in the exercise's GitHub issue. [analyzer]: https://github.com/exercism/common-lisp-analyzer [representer]: https://github.com/exercism/common-lisp-representer -[concept-exercises]: ../exercises/concept/README.md [how-to-implement-a-concept-exercise]: https://github.com/exercism/v3/blob/main/docs/maintainers/generic-how-to-implement-a-concept-exercise.md [docs-concept-exercises]: https://github.com/exercism/v3/blob/main/docs/concept-exercises.md [docs-rationale-for-v3]: https://github.com/exercism/v3/blob/main/docs/rationale-for-v3.md [docs-features-of-v3]: https://github.com/exercism/v3/blob/main/docs/features-of-v3.md [anatomy-of-a-concept-exercise]: https://www.youtube.com/watch?v=gkbBqd7hPrA [reference]: https://github.com/exercism/v3/blob/main/reference -[socks-and-sexprs]: ../exercises/concept/socks-and-sexprs -[scaffolder]: ../bin/generate-scaffolding/README.md +[socks-and-sexprs]: https://github.com/exercism/common-lisp/exercises/concept/socks-and-sexprs