As you have probably already noticed, Scheme's syntax is Lisp-like.
All function applications are in fully-parenthesized prefix form.
While some find this sort of syntax unwieldy, it has the advantage that Scheme forms are actually lists which can be easily manipulated with standard list primitives. The libscheme library supports the defmacro special form that can be used by end users to create new special forms. A special form is a form that is evaluated by special rules.