GNU Prolog (chiamato anche gprolog) è un compilatore sviluppato dal progetto GNU con un ambiente interattivo di debugging per il Prolog, disponibile per Unix e Microsoft Windows. Supporta anche diverse estensioni al Prolog, includendo la programmazione a vincoli su un insieme finito, parsing usando la grammatica a clausole definite, ed altre features.
Il compilatore converte il codice sorgente in bytecode che sarà poi interpretato da una Warren abstract machine (WAM), e sarà infine convertito in un eseguibile stand-alone.