▁P OP - 2 , ▁P OP - 1 1 , ▁For th , ▁some ▁versions ▁of ▁L isp , ▁e . g . ▁Mac l isp ▁and ▁at ▁least ▁one ▁version ▁of ▁the ▁ML ▁programming ▁language ▁( Pop log ▁ML ). ▁This ▁requires ▁the ▁compiler ▁for ▁the ▁programming ▁language ▁to ▁be ▁part ▁of ▁the ▁runtime ▁system . ▁In ▁consequence , ▁source ▁code ▁can ▁be ▁read ▁in ▁at ▁any ▁time , ▁from ▁the ▁terminal , ▁from ▁a ▁file , ▁or ▁possibly ▁from ▁a ▁data - structure ▁constructed ▁by ▁the ▁running ▁program , ▁and ▁translated ▁into ▁a ▁machine ▁code ▁block ▁or ▁function ▁( which ▁may ▁replace ▁a ▁previous ▁function ▁of ▁the ▁same ▁name ), ▁which ▁is ▁then ▁immediately ▁available ▁for ▁use ▁by ▁the ▁program . ▁Because ▁of ▁the ▁need ▁for ▁speed ▁of ▁compilation ▁during ▁interactive ▁development ▁and ▁testing , ▁the ▁compiled ▁code ▁is ▁likely ▁not ▁to ▁be ▁as ▁heavily ▁optim ised ▁as ▁code ▁produced ▁by ▁a ▁standard ▁' batch ▁compiler ', ▁which ▁reads ▁in ▁source ▁code ▁and ▁produces ▁object ▁files ▁that ▁can ▁subsequently ▁be ▁linked ▁and ▁run . ▁However ▁an ▁increment ally ▁compiled ▁program ▁will ▁typically ▁run ▁much ▁faster ▁than ▁an ▁interpreted ▁version ▁of ▁the ▁same ▁program . ▁In crement al ▁compilation ▁thus ▁provides ▁a ▁mixture ▁of ▁the ▁benefits ▁of ▁interpreted ▁and ▁compiled ▁languages . ▁To ▁aid ▁port ability ▁it ▁is ▁generally ▁des irable ▁for ▁the ▁increment al ▁compiler ▁to ▁operate ▁in ▁two ▁stages , ▁namely ▁first ▁compiling ▁to ▁some ▁intermediate ▁platform - in dependent ▁language , ▁and ▁then ▁compiling ▁from ▁that ▁to ▁machine