11 lines
374 B
Racket
11 lines
374 B
Racket
(define (quibbling words)
|
|
(define (sub-quibbling words)
|
|
(match words
|
|
['() ""]
|
|
[(list a) a]
|
|
[(list a b) (format "~a and ~a" a b)]
|
|
[(list a b ___) (format "~a, ~a" a (sub-quibbling b))]))
|
|
(format "{~a}" (sub-quibbling words)))
|
|
|
|
(for ((input '([] ["ABC"] ["ABC" "DEF"] ["ABC" "DEF" "G" "H"])))
|
|
(printf "~s\t->\t~a~%" input (quibbling input)))
|