acro @c (a | d) + r no raquete
Gostaria de saber se é possível escrever uma macro no Racket que traduza todas as formas de forma (c (a | d) + r xs), em que c (a | d) + r é uma expressão regular que combina car, cdr, caar , cadr, ... etc, na composição correspondente de primeiro e resto.
Por exemplo, esta macro deve pegar (caadr '(1 2 3 4 5)) e transformá-la em (primeiro (primeiro (resto' (1 2 3 4 5))))
Algo assim em Shen (a nova linguagem de programação de Mark Tarver):https: //groups.google.com/group/qilang/browse_thread/thread/131eda1cf60d9094? hl = en