From 1fb1330efe171fd7ecbb94f901a3c43592b0a2d5 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 7 Feb 2023 08:58:57 -0500 Subject: Allow multi-dimensional arrays. --- chickadee/graphics/seagull.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/chickadee/graphics/seagull.scm b/chickadee/graphics/seagull.scm index 4488c04..a1adb1d 100644 --- a/chickadee/graphics/seagull.scm +++ b/chickadee/graphics/seagull.scm @@ -1947,8 +1947,13 @@ ('mat3 type:mat3) ('mat4 type:mat4) ('sampler-2d type:sampler-2d) - (('array desc* (? exact-integer? length)) - (array-type (type-descriptor->type desc*) length)))) + (('array desc* (? exact-integer? length) (? exact-integer? rest) ...) + (let loop ((rest rest) + (prev (array-type (type-descriptor->type desc*) length))) + (match rest + (() prev) + ((length . rest) + (loop rest (array-type prev length)))))))) (define-syntax-rule (a+b->c (ta tb tc) ...) (let ((a (fresh-variable-type)) -- cgit v1.2.3