Kontynuacje Kolejną cechą niektórych języków dynamicznych jest mechanizm kontynuacji. Konstrukcje kontynuacyjne pozwalają odzwierciedlić stan wykonywania się programu, który może być potem ponownie wywołany. Na przykład parser może zwracać wynik pośredni i kontynuację, która po wywołaniu sprawi, że przetwarzanie danych wejściowych będzie dalej prowadzone. Kontynuacje wpływają na to, jak traktowane są zasięgi zmiennych, funkcji i metod, ze szczególnym naciskiem na tzw. domknięcia. Ich użycie wymaga czujności programisty i ostrożności podczas implementowania przez twórców języka. Z tego powodu wiele języków dynamicznych nie obsługuje kontynuacji.

Mechanizm refleksji Refleksja jest cechą wielu dynamicznych języków i zazwyczaj wiąże się z ogólnym procesem analizy typów i metadanych lub polimorfizmem danych. Może ona również oznaczać pełną ewaluację i modyfikację kodu programu reprezentowanego w strukturach danych, tak jak to ma miejsce w wyrażeniach symbolicznych języka Lisp.