iitalics/iotapass

Better template metaterm error messages

iitalics opened this issue · 0 comments

Examples of bad error messages:

  • 1.
> (template (L e) 3)
; stdin::17-18: ?: bad syntax
;   in: 3
  • 2.
> (template (L e) (let))
; stdin::36-41: ?: expected 2 arguments, got 0
;   at: ()
;   in: ()
  • 3.
> (template (L e) (1))
; stdin::584-587: ?: expected identifier or expected the literal symbol `unquote'
;   at: 1
;   in: (1)
  • 4.
> (template (L e) (let ([,'(x y) (num . ,'(1 2 3))] ...) (num . 0)))
; map: all lists must have same size