(define-record-type integral-literal :integral-literal (make-integral-literal text value unsigned? long?) integral-literal? (text integral-literal-text) (value integral-literal-value) (unsigned? integral-literal-unsigned?) (long? integral-literal-long?)) (define-record-type floating-literal :floating-literal (make-floating-literal text) floating-literal? (text floating-literal-text)) (define-record-discloser :integral-literal (lambda (i) (list 'integral-literal (integral-literal-text i)))) (define-record-discloser :floating-literal (lambda (f) (list 'floating-literal (floating-literal-text f))))