69 lines
2.3 KiB
Markdown
69 lines
2.3 KiB
Markdown
|
# Hello World
|
||
|
|
||
|
The classical introductory exercise. Just say "Hello, World!".
|
||
|
|
||
|
["Hello, World!"](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program) is
|
||
|
the traditional first program for beginning programming in a new language
|
||
|
or environment.
|
||
|
|
||
|
The objectives are simple:
|
||
|
|
||
|
- Write a function that returns the string "Hello, World!".
|
||
|
- Run the test suite and make sure that it succeeds.
|
||
|
- Submit your solution and check it at the website.
|
||
|
|
||
|
If everything goes well, you will be ready to fetch your first real exercise.
|
||
|
|
||
|
## Setup
|
||
|
|
||
|
Check out [Exercism Help](http://exercism.io/languages/common-lisp) for instructions to
|
||
|
get started writing Common Lisp. That page will explain how to install and setup
|
||
|
a Lisp implementation and how to run the tests.
|
||
|
|
||
|
## Formatting
|
||
|
|
||
|
While Common Lisp doesn't care about indentation and layout of code,
|
||
|
nor whether you use spaces or tabs, this is an important consideration
|
||
|
for submissions to exercism.io. Excercism.io's code widget cannot
|
||
|
handle mixing of tab and space characters well so using only spaces is recommended to make
|
||
|
the code more readable to the human reviewers. Please review your
|
||
|
editors settings on how to accomplish this. Below are instructions for
|
||
|
popular editors for Common Lisp.
|
||
|
|
||
|
### VIM
|
||
|
|
||
|
Use the following commands to ensure VIM uses only spaces for
|
||
|
indentation:
|
||
|
|
||
|
```vimscript
|
||
|
:set tabstop=2
|
||
|
:set shiftwidth=2
|
||
|
:set expandtab
|
||
|
```
|
||
|
|
||
|
(or as a oneliner `:set tabstop=2 shiftwidth=2 expandtab`). This can
|
||
|
be added to your `~/.vimrc` file to use it all the time.
|
||
|
|
||
|
### Emacs
|
||
|
|
||
|
Emacs is very well suited for editing Common Lisp and has many
|
||
|
powerful add-on packages available. The only thing that one needs to
|
||
|
do with a stock emacs to make it work well with exercism.io is to
|
||
|
evaluate the following code:
|
||
|
|
||
|
`(setq indent-tab-mode nil)`
|
||
|
|
||
|
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
|
||
|
with the REPL; making iterative coding and testing very easy.
|
||
|
|
||
|
## Source
|
||
|
|
||
|
This is an exercise to introduce users to using Exercism [http://en.wikipedia.org/wiki/%22Hello,_world!%22_program](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program)
|
||
|
|
||
|
## Submitting Incomplete Solutions
|
||
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|