Homoikoničnost

U računalnom programiranju, homoikoničnost je svojstvo nekih programskih jezika, u kojima je primarna reprezentacija programa također struktura podataka u primitivnom tipu samog jezika, etimologija od čega dolazi od homo što znači isti i icon što znači reprezentacija, predstavljanje.

Primjeri uredi

Jezici koji se smatraju homoikoničnima uključuju većinu članova Lisp porodice, Prolog, Smalltalk, REBOL, SNOBOL, XSLT, TRAC, Tcl, Io i Joy.

Jedna je prednost homoikoničnosti ta što proširenje jezika novim konceptima tipično postaje mnogo jednostavnije, s obzirom na to da podatci koji predstavljaju kod mogu biti proslijeđeni između meta i baznog sloja programa. Tipična demonstracija homoikoničnosti jest metacirkularni interpreter.