Skip to content

Instantly share code, notes, and snippets.

#lang typed/racket
(require typed/rackunit)
;; an S-expression is one of:
;; a number
;; a string
;; a boolean
;; a symbol, or
;; (list S-expression ...)
#lang typed/racket
(require typed/rackunit)
;; an S-expression is one of:
;; a number
;; a string
;; a boolean
;; a symbol, or
;; (list S-expression ...)
#lang typed/racket
(require typed/rackunit)
;; an S-expression is one of:
;; a number
;; a string
;; a boolean
;; a symbol, or
;; (list S-expression ...)
#lang typed/racket
(require typed/rackunit)
;; an S-expression is one of:
;; a number
;; a string
;; a boolean
;; a symbol, or
;; (list S-expression ...)
#lang typed/racket
(require typed/rackunit)
;; an S-expression is one of:
;; a number
;; a string
;; a boolean
;; a symbol, or
;; (list S-expression ...)
#lang typed/racket
(require typed/rackunit)
;; an S-expression is one of:
;; a number
;; a string
;; a boolean
;; a symbol, or
;; (list S-expression ...)
#lang typed/racket
(require typed/rackunit)
;; an S-expression is one of:
;; a number
;; a string
;; a boolean
;; a symbol, or
;; (list S-expression ...)
#lang typed/racket
(require typed/rackunit)
(define-type PyExprC (U StrC StrAppC)) ;; imagine a bunch more stuff here...
(struct StrC ([s : String]) #:transparent)
(struct StrAppC ([l : PyExprC] [r : PyExprC]))
(define-type PyStmtC (U ReturnC)) ;; imagine a bunch more stuff here too...
(struct ReturnC ([val : PyExprC]) #:transparent)
#lang typed/racket
(require typed/rackunit)
;; an Sexp is one of
;; - a number,
;; - a symbol,
;; - a string,
;; - a boolean, or
;; - a list of zero or more Sexps
#lang typed/racket
(require typed/rackunit)
;; an S-expression is one of:
;; a number
;; a string
;; a boolean
;; a symbol, or
;; (list S-expression ...)