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")