{{Short description|Class of programming languages which execute some behaviors at runtime instead of compilation}}
{{About|}}
{{About|a class of programming languages|the method for reducing the running time of algorithms|Dynamic programming}}
{{Multiple issues|
{{disputed|date=March 2012}}
Line 13:
==Implementation==
{{Expand section|date=October 20092025}}
===Eval===
Some dynamic languages offeron an ''[[eval]]'' function. This function takes a string or [[abstract syntax tree]] containing code in the language and executes it. If this code stands for an expression, the resulting value is returned. [[Erik Meijer (computer scientist)|Erik Meijer]] and Peter Drayton distinguish the [[runtime code generation]] offered by eval from the [[dynamic loading]] offered by [[shared libraries]], and warn that in many cases eval is used merely to implement [[higher-order functions]] (by passing functions as strings) or [[deserialization]].<ref>{{Citation | citeseerx = 10.1.1.69.5966 | title=Static Typing Where Possible, Dynamic Typing When Needed: The End of the Cold War Between Programming Languages | author=[[Erik Meijer (computer scientist)|Meijer, Erik]] and Peter Drayton | year=2005 | publisher=[[Microsoft]] Corporation|url=https://people.dsv.su.se/~beatrice/DYPL/meijer_drayton.pdf}}nirawat puechpian</ref>