Author: chromatic
Date: Mon Apr 24 23:56:45 2006
New Revision: 12422

Added:
   trunk/languages/pheme/t/phemer/
   trunk/languages/pheme/t/phemer/chapter_1.t   (contents, props changed)
Modified:
   trunk/MANIFEST
   trunk/config/gen/makefiles/pheme.in
   trunk/languages/LANGUAGES.STATUS.pod

Log:
Added first set of The Tiny Phemer tests.
Probably just shy of fair use here; may have to adjust atom names to be fairer.
Updated languages/LANGUAGES.STATUS.

Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST      (original)
+++ trunk/MANIFEST      Mon Apr 24 23:56:45 2006
@@ -1542,6 +1542,7 @@
 languages/pheme/t/car.t                           [pheme]
 languages/pheme/t/cdr.t                           [pheme]
 languages/pheme/t/write.t                         [pheme]
+languages/pheme/t/phemer/chapter_1.t              [pheme]
 languages/pheme/lib/past2post.tg                  [pheme]
 languages/pheme/lib/PAST.pir                      [pheme]
 languages/pheme/lib/PhemeCompiler.pir             [pheme]

Modified: trunk/config/gen/makefiles/pheme.in
==============================================================================
--- trunk/config/gen/makefiles/pheme.in (original)
+++ trunk/config/gen/makefiles/pheme.in Mon Apr 24 23:56:45 2006
@@ -53,7 +53,7 @@
        @echo ""
 
 test: all
-       $(PERL) -Ilib t/harness t/*.t
+       $(PERL) -Ilib t/harness t/*.t t/phemer/*.t
 
 testclean:
        $(RM_F) "t/*.out"

Modified: trunk/languages/LANGUAGES.STATUS.pod
==============================================================================
--- trunk/languages/LANGUAGES.STATUS.pod        (original)
+++ trunk/languages/LANGUAGES.STATUS.pod        Mon Apr 24 23:56:45 2006
@@ -742,6 +742,36 @@
 =back
 
 
+=head2 Pheme
+
+=over 4
+
+=item Author
+
+chromatic
+
+=item Description
+
+It's not Scheme, it's Pheme!  Pheme is a cleaned-up, partially implemented
+Lisp-2 compiler inspired by Scheme and built with TGE and PGE. 
+
+=item Status
+
+Pheme handles function calls, a few built-in-PIR primitives, and atoms and
+lists.  It also runs its tests written in pure Pheme.  It is nearly to the
+point of being able to define the rest of the standard library in terms of its
+builtins. 
+
+=item Last verified with Parrot version
+
+0.4.3
+
+=item Location
+
+C<languages/pheme>
+
+=back
+
 =head2 Python
 
 =over 4

Added: trunk/languages/pheme/t/phemer/chapter_1.t
==============================================================================
--- (empty file)
+++ trunk/languages/pheme/t/phemer/chapter_1.t  Mon Apr 24 23:56:45 2006
@@ -0,0 +1,27 @@
+(include_file lib/PhemeTest.pir)
+
+(plan 5)
+
+(is (car (a b c)) a "car of (a b c) should be a")
+
+(is
+       (car
+               ((a b c) x y z))
+       (a b c)
+       "car of ((a b c) x y z) should be (a b c)")
+
+(is_deeply (car ()) () "car of empty list should be empty list")
+
+; fails because Test::More does not handle nested strings
+;(is_deeply
+;      (car
+;              (((hotdogs)) (and) (pickle) relish))
+;      ((hotdogs))
+;      "car of list of double-nested lists should be double-nested list")
+
+ (is_deeply
+       (cdr ((a b c) x y z))
+       (x y z)
+       "cdr of list of lists should be second part" )
+
+(is_deeply (cdr (hamburger)) () "cdr of one-element list should be empty list")

Reply via email to