AoC problems often benefit from knowledge of lexers, parsers, and other text processing gymnastics.

People who’ve made compilers and interpreters are both attracted to the problem solving element of AoC and good at solving those problems.

Beyond that, making your own compiler or language is fun — more people should try it.

These are great starting points:

https://craftinginterpreters.com/

https://compilerbook.com/

You just need Lisp then, and you can have all your DSLs you want for the problem at hand, instead of writing a new tokenizer, lexer, parser, interpreter every time. ;-)

Coalton is a good option to explore if you fancy trying AoC with Lisp:

https://github.com/coalton-lang/coalton