PasteRack.org
Paste # 65578
2021-04-04 07:48:59

Fork as a new paste.

Paste viewed 181 times.


Embed:

Errored code

  1. #lang racket
  2. (define-syntax unwrap
  3.   (syntax-rules ()
  4.     [(_ f ... (w ...))
  5.      (f ... w ...)]))
  6.  
  7. (define-syntax helper
  8.   (syntax-rules ()
  9.     [(_ x up f g ...)
  10.      (map (lambda (v)
  11.             (helper v f g ...))
  12.           x)]
  13.     [(_ x f)
  14.      (f x)]
  15.     [(_ x f ... up g . r)
  16.      (f ... (unwrap helper x up g r))]))
  17.  
  18. (define-syntax leverage
  19.   (syntax-rules ()
  20.     [(_ f ... x)
  21.      (helper x f ...)]))
  22.  
  23. (define (norm mat)
  24.   (leverage apply max up apply + up abs mat))
  25.  
  26. (norm '((1 2 3) (4 5 6) (7 8 9)))

=>

map: contract violation

  expected: list?

  given: 1