Homoikoniczność

Homoikoniczność (łac. homo - ten sam, icon - przedstawienie) - to cecha języków programowania, w których reprezentacja programu jest jednocześnie podstawową strukturą danych wykorzystywaną w języku.

Wykorzystanie i zalety

Zaletą homoikoniczności jest prostsze rozszerzenie języka o nowe koncepcje programistyczne, ponieważ dane reprezentujące kod, mogą być przekazywane między meta a podstawowymi układami programu. Homoikoniczność pozwala także na pisanie programów, które piszą programy.

Przykłady

Języki programowania uważane za homoikoniczne to rodzina Lisp a także Nemerle, Curl, REBOL, SNOBOL, XSLT, XQuery, TRAC, Tcl, Io, Ioke, Joy, Factor, Pico, PostScript, Prolog, R, Mathematica oraz V.

W systemie architektury von Neumanna cechę tę ma również surowy kod maszynowy a istotą typu danychbajty w pamięci.

Zobacz też

Linki zewnętrzne