Т.е. есть как минимум два способа: 1) вначале написать свой парсер регэкспов, и использовать его как ридер. Потом поверх этого ридера взгромоздить скаловский матчер и вуаля. 2) с самого начала парсить поток токенов, считая за разделители пробелы и скобки (выполняющие двойную роль — и разделителя, и регулятора вложенности)
Пойду вначале по второму пути, как по более Ъ.
Отдельное направление развития — написать для Scala такой DSL, чтобы средствами Scala можно было писать лисповыражения, не применяя как хранилище строки.
Вот такие мысли приходят в пятницу вечером. Страшный день!