Permalink
Browse files

Last round of spelling fixes

  • Loading branch information...
1 parent a08d5d7 commit 5b6b7ae532fcbc49f1b474a15187314c9871b983 @RafeKettler RafeKettler committed Feb 22, 2011
@@ -14,4 +14,4 @@ It assumes that the reader can get a clean install of Ubuntu GNU/Linux up and ru
How This Book Teaches eLisp
---------------------------
-This book teaches eLisp throught the medium of Emacs. Emacs has a *scratch* window in which arbitrary eLisp expressions can be evaluated. Initial lessons will use the *scratch* window. Later lessons will move on to creating external lisp files and loading them into Emacs to use them.
+This book teaches eLisp through the medium of Emacs. Emacs has a *scratch* window in which arbitrary eLisp expressions can be evaluated. Initial lessons will use the *scratch* window. Later lessons will move on to creating external lisp files and loading them into Emacs to use them.
@@ -2,7 +2,7 @@
Lesson 2-2 - Primitive Data Types (1)
=====================================
-**Prerequesite:** This lesson presumes you know how to invoke eLisp expression as shown in Lesson 2-1.
+**Prerequisite:** This lesson presumes you know how to invoke eLisp expression as shown in Lesson 2-1.
-------
Context
@@ -80,7 +80,7 @@ You build a lists with ``cons`` like this:
``cons`` adds a new value to the start or *head* of a list. Note that the list to which you are adding it has to be quoted.
-You can split a list into two parts - the first value (the *head*) and the remaning ones (the *tail*). The head is extracted with ``car``:
+You can split a list into two parts - the first value (the *head*) and the remaining ones (the *tail*). The head is extracted with ``car``:
:You Type: ``(car '(1 2 3))``
:Result: ``1``
@@ -2,7 +2,7 @@
Lesson 2-4 - Symbols And Variables
==================================
-**Prerequesite:** This lesson presumes you know how to invoke eLisp expression as shown in Lesson 2-1.
+**Prerequisite:** This lesson presumes you know how to invoke eLisp expression as shown in Lesson 2-1.
----------------
Symbols Overview
@@ -79,7 +79,7 @@ We can now use this variable in an expression:
:You Type: ``(+ do_tell 33)``
:Return: ``55``
-There is a variant on ``set`` and ``setq`` called ``defvar`` that defines a variable. It is different from them in that it only applies to unitialised variables. If a variable is already defined it won't overwrite it.
+There is a variant on ``set`` and ``setq`` called ``defvar`` that defines a variable. It is different from them in that it only applies to uninitialised variables. If a variable is already defined it won't overwrite it.
:You Type: ``(defvar farmer_dell 123)``
:Return: ``farmer_dell``
@@ -34,7 +34,7 @@ The Extra Activities section will cover functions that operate on sequences.
Why Arrays And Not Lists?
-------------------------
-The difference betweeen arrays and lists is that arrays have fixed lengths and lists have variable length. This gives them different performance characteristics - array elements are accessible in constant time, whereas the access time for lists is proportional to their length.
+The difference between arrays and lists is that arrays have fixed lengths and lists have variable length. This gives them different performance characteristics - array elements are accessible in constant time, whereas the access time for lists is proportional to their length.
--------------------------------------
Difference Between Strings And Vectors
@@ -52,7 +52,7 @@ Arrays are 1 dimensional only. Given that the elements of a vector can consist o
Creating Arrays
---------------
-A array is delimied by square brackets (``[`` and ``]``). You can create them inline:
+A array is delimited by square brackets (``[`` and ``]``). You can create them inline:
:You Type: ``[1 2 3]``
:Return: ``[1 2 3]``
@@ -43,7 +43,7 @@ On executing this file the output will be:
Bonjour Tout Le Monde
-Lets understand what we are seeing. Consider the first line - the operator ``defun`` indicates that we are defining a function. Here it is taking 3 parameters:
+Let's understand what we are seeing. Consider the first line - the operator ``defun`` indicates that we are defining a function. Here it is taking 3 parameters:
| *1* ``bonjour`` which is the name of the function
| *2* ``()`` which is a list of the parameters that the function will take
@@ -55,7 +55,7 @@ The second line simply executes the fuction ``bonjour``. The function definition
Defining A More Complex Function
--------------------------------
-Lets create a function that takes multiple arguments:
+Let's create a function that takes multiple arguments:
::
@@ -2,7 +2,7 @@
Lesson 3-2 - More Functions
===========================
-**Prerequesite:** This lesson presumes you know how to invoke eLisp expression as scripts as shown in Lesson 3-1.
+**Prerequisite:** This lesson presumes you know how to invoke eLisp expression as scripts as shown in Lesson 3-1.
------------
Introduction
@@ -6,11 +6,11 @@ Lesson 4-1 - Writing eLisp In Emacs
Introduction
------------
-Emacs as an editor provides a host of specific tools to help software developers in a wide range of languages. Not suprisingly the support for the eLisp language in Emacs is very good.
+Emacs as an editor provides a host of specific tools to help software developers in a wide range of languages. Not surprisingly the support for the eLisp language in Emacs is very good.
This lesson will explore Emacs as an editor for eLisp.
-Emacs switches into a special mode for a particular programming language by looking at the extension on the filename - the exension for eLisp is ``.el``. If you create a file called *something*.el and open it with Emacs you will see that the editor has changed itself.
+Emacs switches into a special mode for a particular programming language by looking at the extension on the filename - the extension for eLisp is ``.el``. If you create a file called *something*.el and open it with Emacs you will see that the editor has changed itself.
.. image :: /images/emacs-lisp.png
@@ -20,7 +20,7 @@ A new menu has appeared. Lets look at some of the commands on it. There are inde
There are menu commands for evaluating expressions and the contents of the buffer as well as various profiling and tracing tools.
-If you execute expressions now, the operator ``message`` will now ouput to the *minibuffer* at the bottom of Emacs.
+If you execute expressions now, the operator ``message`` will now output to the *minibuffer* at the bottom of Emacs.
One of the most important features in the debugger - which is triggered when you instrument a function for debugging using the menu command *Instrument Functions for Debugger*.
@@ -64,7 +64,7 @@ When you run this version of the function with *[Alt][x]doodlebug* it will offer
As you type in a string at each prompt (ending with *[Return]*) each of the strings wll be bound to the variables ``a``, ``b`` and ``c`` in turn.
-This behaviour in enabled by the new form of the *interactive* expresion. The string which has been added to that expression consists of 6 seperate components:
+This behaviour in enabled by the new form of the *interactive* expression. The string which has been added to that expression consists of 6 separate components:
::
@@ -121,7 +121,7 @@ What You Have Learned
You have learned:
* a way to load a new function into emacs
-* how to make the function take interactive paramters
+* how to make the function take interactive paramaters
* how to invoke that command - via the command line and via a custom key
------------------
@@ -2,7 +2,7 @@
Lesson 4-3 - Emacs Menus
========================
-**Prerequesite:** this lesson presumes you know how to use the ``.emacs`` file as outlined in Lessons 4-1 and 4-2.
+**Prerequisite:** this lesson presumes you know how to use the ``.emacs`` file as outlined in Lessons 4-1 and 4-2.
------------
Introduction
@@ -102,7 +102,7 @@ Lets bind the two nonce functions to an existing menu. Clear out the menu defini
(define-key menu-bar-edit-menu [omar]
(list 'menu-item "Omar Menu" menu-bar-omar-menu))
-Lets step through it line by line. The first line defines a new variable ``menu-bar-omar-menu``. Note that it has a conventional name. It is part of the *menu* system so it has the prefix ``menu-bar-``. The value of this variable is set to a *sparse keymap*. The entire input management system is built around datatypes called *keymaps*. A *sparse* keymap is just an empty unitialised one.
+Lets step through it line by line. The first line defines a new variable ``menu-bar-omar-menu``. Note that it has a conventional name. It is part of the *menu* system so it has the prefix ``menu-bar-``. The value of this variable is set to a *sparse keymap*. The entire input management system is built around datatypes called *keymaps*. A *sparse* keymap is just an empty uninitialised one.
The next three lines add elements to the sparse keymap. The first and third items are normal menu items, the second is a separator.
@@ -124,13 +124,13 @@ Notice how we built this menu in a different way - creating a new keymap, adding
Keyboard Shortcuts
------------------
-Keyboard shortcuts are automatically added to menus if they exist. To try this out bind one of the functions to a key combination. Add a key binding to ``.emacs`` and revaluate the buffer.
+Keyboard shortcuts are automatically added to menus if they exist. To try this out bind one of the functions to a key combination. Add a key binding to ``.emacs`` and reevaluate the buffer.
::
(global-set-key [f5] 'omar-hip)
-When you look at the menu now you should see the keyboard shortcut ``<f5>`` alonside the menu item *Hip*.
+When you look at the menu now you should see the keyboard shortcut ``<f5>`` alongside the menu item *Hip*.
---------------------
What You Have Learned
@@ -2,7 +2,7 @@
Lesson 4-4 - Adding Buttons To The Tool-bar
===========================================
-**Prerequesite:** this lesson presumes you know how to use the ``.emacs`` file as outlined in Lessons 4-1 and 4-2.
+**Prerequisite:** this lesson presumes you know how to use the ``.emacs`` file as outlined in Lessons 4-1 and 4-2.
------------
Introduction
@@ -97,6 +97,6 @@ You have learned:
Additional Reading
------------------
-There is a slightly more to loading code in eLisp which is descriped in the `Loading Code`_ section of the eLisp Reference Manual.
+There is a slightly more to loading code in eLisp which is described in the `Loading Code`_ section of the eLisp Reference Manual.
.. _Loading Code: http://www.gnu.org/software/emacs/emacs-lisp-intro/elisp/How-Programs-Do-Loading.html#How-Programs-Do-Loading
@@ -176,7 +176,7 @@ What You Have Learned
You have learned:
* how to build and plumb in a function from end-to-end
-* how to interograte source code in eLisp to try and work out what things do
+* how to interrogate source code in eLisp to try and work out what things do
* some basic cursor operations
* how to restore the users state once you have manipulated it
@@ -6,7 +6,7 @@ The Learn eLisp For Emacs Community
License
-------
-When this book is finished it will be released under a Creative Commons License. At the moment is remain copyright Gordon Guthrie (2010). Until it has been finsihed you MAY NOT redistribute it but may participate in the community development of the text by forking the git repository.
+When this book is finished it will be released under a Creative Commons License. At the moment is remain copyright Gordon Guthrie (2010). Until it has been finished you MAY NOT redistribute it but may participate in the community development of the text by forking the git repository.
-----------
eMail Group
@@ -24,15 +24,15 @@ I have chosen to use a format based on *Learn X The Hard Way*. That format is sp
I have not called the book *Learn eLisp The Hard Way* because this slightly hybrid formula would confuse that core brand.
-I occassionally have to dip into eLisp in the form of .emacs files which are executed on startup and are how you configure Emacs to do specific stuff for your particular requirements.
+I occasionally have to dip into eLisp in the form of .emacs files which are executed on startup and are how you configure Emacs to do specific stuff for your particular requirements.
One of the reasons why the *Learn X The Hard Way* books work is that the format of forcing people to type in code is a great way to teach them how to read the syntax. eLisp still looks like line noise to me and I have been programming since the late 70s in languages as diverse as Fortran, VB, C++, Java, Perl, Python, PHP, Ruby and Erlang. Writing this book has been a good way to learn how to *read* eLisp for me, and I hope it will work for the readers.
The transition from Fortran to the Obect Orientated paradigm of C++ was enormously painful. The shift from the OO paradigm (Ruby was my language *de jour* then) to functional programming in the form of Erlang was also horrendous.
I may be wrong, but I think that many experienced programmers who have no previous exposure to functional programming would benefit from a pretty brutal beginners style book about eLisp.
-I have copies of `On Lisp`_ by Paul Graham and `Common Lisp A Gentle Introduction To Symbolic Computing`_ but have never been able to learn Lisp because of the very basic problem that Zed Shaw identified in `his article`_ on *How To Write A LxTHW* - I could never work out how to get to a basic working shell to type the code examples into. It's not that I didn't try, its just that after a summer of trying to start learning Lisp I had gotten nowhere. If you think that that's my fault, then it falls to you to explain how I managed to learn a bazillian other languages succesfully.
+I have copies of `On Lisp`_ by Paul Graham and `Common Lisp A Gentle Introduction To Symbolic Computing`_ but have never been able to learn Lisp because of the very basic problem that Zed Shaw identified in `his article`_ on *How To Write A LxTHW* - I could never work out how to get to a basic working shell to type the code examples into. It's not that I didn't try, its just that after a summer of trying to start learning Lisp I had gotten nowhere. If you think that that's my fault, then it falls to you to explain how I managed to learn a Brazilian other languages successfully.
The other appealing part of this format is that it isn't a reference book. To make clear just how unsuited I am to write a reference book about Lisp, let me enumerate ATTIDNK (All The Things I Do Not Know):

0 comments on commit 5b6b7ae

Please sign in to comment.