The examples look like normal Scheme to me. There is nothing odd going on with custom macros.
They have broken some argument lists into currying, that's all.
(define line (lambda (x)
(lambda (w b)
(+ (* w x) b))))
Firstly, it's not full currying; the w and b parameters are not separated from each other into different lambdas.
These kinds of nested lambdas are not unheard of in Lisp and Scheme programming.
Lisps do not have automatic partial application. If you have a (f x y z) function,
you cannot just call it (f 42) to partially apply it, to obtain a function which
takes the y and z arguments. You have to do a clumsy thing with an explicit
lambda like this: (lambda (y z) (f 42 y z)). There are
macros for that, which can make it look like (op f 42) or what have you.
If you need partial application regularly over some functions, it may behave
you to write the function in the curried style. Passing all the parameters
becomes a bit less convenient:
((line 1) 2 3) ;; versus just (line 1 2 3)
but the partial application you want is a lot less verbose:
(line 1) ;; versus (lambda (w b) (line 1 w b)).
So basically it looks like the authors may be after low-verbosity partial
application without macro assistance.