diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..44c0ece --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +Copyright (c)2011-2013 Chris Pressey, Cat's Eye Technologies. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright + notices, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notices, this list of conditions, and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + 3. Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/README.markdown b/README.markdown new file mode 100644 index 0000000..c971d59 --- /dev/null +++ b/README.markdown @@ -0,0 +1,21 @@ +Pail +==== + +Pail is a programming language based on pairs; just as Lisp stands for +*LIS*t *P*rocessing, Pail stands for *PAI*r *L*anguage. + +This is the reference distribution for Pail. + +The Pail programming language is documented in the literate source code +of its reference interpreter, `Pail.lhs`, which can be found in the `src` +subdirectory. Some tests, in Falderal format, which might clarify the +intended behaviour can also be found in `Pail.markdown` in the `tests` +subdirectory. + +These files are distributed under a 3-clause BSD license. See the file +`LICENSE` for the license text. + +For more information on the language, see the [Pail][] entry at +Cat's Eye Technologies. + +[Pail]: http://catseye.tc/node/Pail diff --git a/src/Pail.lhs b/src/Pail.lhs index acb4514..d301d70 100644 --- a/src/Pail.lhs +++ b/src/Pail.lhs @@ -1,36 +1,4 @@ > module Pail where - -> -- -> -- Pail.lhs -- reference implementation of the Pail programming language -> -- Copyright (c)2011 Cat's Eye Technologies. All rights reserved. -> -- -> -- Redistribution and use in source and binary forms, with or without -> -- modification, are permitted provided that the following conditions -> -- are met: -> -- -> -- 1. Redistributions of source code must retain the above copyright -> -- notices, this list of conditions and the following disclaimer. -> -- 2. Redistributions in binary form must reproduce the above copyright -> -- notices, this list of conditions, and the following disclaimer in -> -- the documentation and/or other materials provided with the -> -- distribution. -> -- 3. Neither the names of the copyright holders nor the names of their -> -- contributors may be used to endorse or promote products derived -> -- from this software without specific prior written permission. -> -- -> -- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -> -- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -> -- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -> -- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -> -- COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -> -- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -> -- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -> -- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -> -- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -> -- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -> -- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -> -- POSSIBILITY OF SUCH DAMAGE. -> -- Pail ==== @@ -110,6 +78,9 @@ I didn't ever really figure out how to program in Rho, and I really haven't figured out how to program in Pail. But maybe someone else will, and maybe that will shed some more light on Rho. + +What follows is `Pail.lhs`, the reference implementation of the Pail +programming language. > import Text.ParserCombinators.Parsec > import qualified Data.Map as Map