22 lines
482 B
Plaintext
22 lines
482 B
Plaintext
(define balanced-brackets-0
|
|
[] 0 -> true
|
|
[] _ -> false
|
|
[#\[|R] Sum -> (balanced-brackets-0 R (+ Sum 1))
|
|
_ 0 -> false
|
|
[_ |R] Sum -> (balanced-brackets-0 R (- Sum 1)))
|
|
|
|
|
|
(define balanced-brackets
|
|
"" -> true
|
|
S -> (balanced-brackets-0 (explode (INTERN S)) 0))
|
|
|
|
(balanced-brackets "")
|
|
|
|
(balanced-brackets "[]")
|
|
(balanced-brackets "[][]")
|
|
(balanced-brackets "[[][]]")
|
|
|
|
(balanced-brackets "][")
|
|
(balanced-brackets "][][")
|
|
(balanced-brackets "[]][[]")
|