A Limbo program taszkok végrehajtása céljából együttműködő modulok halmaza.
A forrásszövegben a modul deklarációs és implementációs részből áll.
A deklarációs rész határozza meg a publikus interfészt: függvényeket, absztrakt adattípusokat, mások számára is elérhető konstansokat tartalmaz..
Az implementációs rész tartalmazza az aktuális kódot.
Konvenciók szerint a deklarációs rész egy külön, .m kiterjesztésű fájlban helyeszkedik el, így importálhatják más modulok. Az implementációs rész egy
.b kiterjesztésű fájlban tárolódik. Egy modulnak több implementációja is lehet, ezeket külön fájlokban tároljuk.
Futási időben a modulok dinamikusan töltődnek be, a load utasítás tölti be a kódot, és elvégzi a futás idejű típus- ellenőrzést. A modul egyszeri betöltődése után hívhatók a függvényei.
A Limbo erősen típusos nyelv, a programok ellenőrzése fordításkor és a modul betöltésekor is végrehajtódik. A Limbo fordító minden forrásfájlt egy gépfüggő byte kódú
.dis kiterjesztésű fájlra fordít le, mely futás időben betölthető.
Példa:
Inferno shell promptból a Limbo fordítót a limbo utasítással hívhatjuk meg.
Például:
Gépeljük be a fordító által generát futtatható fájl nevét (a .dis kiterjesztést is ki kell írni) a shell promptba. Például: