aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-07-03 18:56:49 -0400
committerGravatar Peter McGoron 2025-07-03 18:56:49 -0400
commit89371cdb2e9308025a5b2e48e23711e0108bf442 (patch)
tree7a47560ec08b805598dc87a6d3d238f369c3912c /test
parentadd inject-primitive (diff)
debruijnize converts functions to curry form
Diffstat (limited to '')
-rw-r--r--test/examples/untyped-lambda-calculus.scm17
-rw-r--r--test/run.scm11
2 files changed, 16 insertions, 12 deletions
diff --git a/test/examples/untyped-lambda-calculus.scm b/test/examples/untyped-lambda-calculus.scm
index a2f308e..c7baedf 100644
--- a/test/examples/untyped-lambda-calculus.scm
+++ b/test/examples/untyped-lambda-calculus.scm
@@ -13,6 +13,21 @@
| limitations under the License.
|#
+(define (curry-form form)
+ (cond
+ ((and (pair? form)
+ (eq? (car form) 'lambda))
+ (list 'lambda (curry-form (cadr form))))
+ ((and (pair? form)
+ (> (length form) 2))
+ (curry-form (cons (list (list-ref form 0)
+ (list-ref form 1))
+ (list-tail form 2))))
+ ((pair? form)
+ (list (curry-form (list-ref form 0))
+ (curry-form (list-ref form 1))))
+ (else form)))
+
(define-syntax test-alpha
(syntax-rules ()
((test-alpha name (inputs ...) output)
@@ -21,7 +36,7 @@
(expand initial-environment
(list (empty-wrap (quote inputs)) ...))))
(test-equal name
- (quote output)
+ (map curry-form (quote output))
(map (lambda (term)
(debruijnize global-map term '()))
expanded-list))))))
diff --git a/test/run.scm b/test/run.scm
index e6055c0..ff3f2ce 100644
--- a/test/run.scm
+++ b/test/run.scm
@@ -31,14 +31,3 @@
(load "examples/untyped-lambda-calculus.sld")
(import (multisyntax examples untyped-lambda-calculus test))
(test-untyped-lambda-calculus)
-
-#;(let-values (((global-map expanded-list)
- (expand initial-environment
- (list (empty-wrap '(define I (lambda x x)))
- (empty-wrap '(I (lambda I I)))))))
- (display (alpha expanded-list)) (newline))
-
-#;(begin
- (load "examples/untyped-lambda-calculus.sld")
- (import (multisyntax examples untyped-lambda-calculus test))
- (test-untyped-lambda-calculus))
>1-1/+2 2003-07-13Update Debian changelog.Gravatar bencollins 1-0/+8 2003-07-13File doesn't really seem needed. The NEWS file gives a good overview, andGravatar bencollins 1-4/+0 2003-07-13Fix compiler warnings.Gravatar bencollins 4-12/+22 2003-07-13Updates from 0.10.0 release.Gravatar bencollins 4-5/+14 2003-04-23add libtoolize to bootstrapGravatar ddennedy 1-1/+10 2003-04-21added Dan Maas' rawiso docsGravatar ddennedy 1-32/+295 2003-04-07new_handle_on_port() error path fix from Jim RadfordGravatar dmaas 1-1/+3 2003-03-26add raw1394_new_handle_on_port() convenience functionGravatar dmaas 2-1/+41 2003-02-22Updates for new rawiso ioctl interface.Gravatar bencollins 3-37/+125 2003-01-15add iso_xmit_sync() and iso_xmit_write(); clean up iso handling a bitGravatar dmaas 5-39/+161 2003-01-15implement tag matching for rawiso receptionGravatar dmaas 3-4/+12 2003-01-06back out previous commit - don't drop the legacy API just yetGravatar dmaas 6-173/+130 2003-01-05emulate legacy ISO reception API on top of new rawiso APIGravatar dmaas 7-131/+174 2002-12-24update iso API for multi-channel reception and new packet buffer layoutGravatar dmaas 4-123/+236 2002-12-20oops, irq_interval needs to be signedGravatar anonymous 1-1/+1 2002-12-20dmaas - renamed exported arm definitions into the raw1394_ namespace; brought...Gravatar anonymous 3-124/+48 2002-12-16rawiso updates:Gravatar dmaas 3-18/+25 2002-11-18fix cplusplus extern C blockGravatar ddennedy 1-4/+4 2002-11-18merged rawiso branchGravatar ddennedy 7-6/+488