diff --git a/semen.scm b/semen.scm index 8d7d4a3..ed46f73 100644 --- a/semen.scm +++ b/semen.scm @@ -67,6 +67,10 @@ ((or ('defmacro . rest) ('pub 'defmacro . rest)) (defmacro rest) acc) + ((or ('typedef new-type target) + ('pub 'typedef new-type target)) + (process-typedef new-type target acc)) + (else (assert #f (fmt #f "Unknown top level form " sex-form))))) (define (semen-process-imports module-public-forms acc) @@ -111,6 +115,11 @@ old-cons (cons new-car new-cdr))) +;;; Typdef + +(define (process-typedef new-type target acc) + (cons `(typedef ,target ,new-type) acc)) + ;;; Fn processing (define (process-fn sex-fn acc)