Aller au contenu

Homoiconicité

Un article de Wikipédia, l'encyclopédie libre.
Ceci est la version actuelle de cette page, en date du 11 décembre 2018 à 06:12 et modifiée en dernier par 192.222.158.99 (discuter). L'URL présente est un lien permanent vers cette version.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

En programmation informatique, l'homoiconicité (de homo- : semblable, et icône : image) est une propriété de certains langages dans lesquels la principale représentation des programmes est aussi une structure de données d'un type primitif du langage.

Les langages homoiconiques rassemblent la plupart des membres de la famille Lisp mais aussi APL, Prolog, REBOL, SNOBOL, XSLT, TRAC, Tcl, Io, Julia et Red.

Cette propriété s'apparente à la réflexion dans les langages informatiques.

Cette propriété permet de développer des programmes évolutifs, susceptibles de se développer ou de s'optimiser par eux-mêmes[réf. nécessaire]. Ce genre de programmes se rencontre par exemple en intelligence artificielle et pour la simulation de systèmes sociaux, de système vivants, ou de robots.

Il devient également plus simple d'étendre le langage, puisque les données représentant du code peuvent être échangées entre le niveau de base et le niveau meta du langage[réf. nécessaire].