L'INTERCAL Woods–Lyon original était très limité dans ses capacités d'entrée/sortie : les seules entrées acceptables étaient des nombres épelés en toutes lettres, et la seule sortie possible était une version étendue des chiffres romains. Un peu plus tard, il y eut une 'implémentation Atari', au sujet de laquelle des notes sont fournies dans le manuel de référence d'INTERCAL ; elle "diffère de la version originelle de Princeton principalement dans l'utilisation de l'ASCII plutôt que de l'EBCDIC'.
La réimplémentation C-INTERCAL, disponible sur Internet, a rendu le langage plus populaire parmi les dévots de la programmation ésotérique. Le dialecte C-INTERCAL possède quelques différences par-rapport à l'INTERCAL original et introduit quelques nouvelles fonctionnalités, comme une commande COME FROM
("arrive de") et un moyen de réaliser de l'E/S de texte basé sur le Modèle de Texte de Turing.
Les auteurs du C-INTERCAL ont également créé la variante TriINTERCAL, basée sur le système trinaire et en généralisant les jeux d'opérateurs d'INTERCAL.
Une variante plus récente est Threaded Intercal, qui étend la fonctionnalité de COME FROM pour supporter le multithreading.
Dans l'article "A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics", INTERCAL est décrit sous le titre "Abandonnez toute santé d'esprit, vous qui entrez ici: INTERCAL". Le compilateur et la stratégie de commentaire sont parmi les fonctionnalités "étranges" décrites :
« Le compilateur, adéquatement nommé "ick," continue la parodie. Tout ce que le compilateur ne peut pas comprendre, ce qui dans un langage de compilation normal résulterait en une erreur de compilation, est simplement ignoré. Cette fonctionnalité de "pardon" rend le fait de trouver des bugs très difficile ; elle introduit aussi un système unique d'ajout de commentaires de programme. Le programmeur n'a en gros qu'à insérer du texte non compilable n'importe où dans le programme, en faisant attention à ne pas inclure accidentellement une portion de code valide au milieu de son commentaire. »
Le programme "Hello, world!" traditionnel démontre combien INTERCAL est différent des langages de programmation standard. En C, il ressemble à ceci :
#includeint main() { puts("Hello, world!"); return 0; }
Le programme équivalent en C-INTERCAL est plus long et plus difficile à lire:
DO ,1 <- #13 PLEASE DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #108 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #194 DO ,1 SUB #7 <- #48 PLEASE DO ,1 SUB #8 <- #22 DO ,1 SUB #9 <- #248 DO ,1 SUB #10 <- #168 DO ,1 SUB #11 <- #24 DO ,1 SUB #12 <- #16 DO ,1 SUB #13 <- #162 PLEASE READ OUT ,1 PLEASE GIVE UP
En INTERCAL-72, le programme équivalent n'est pas possible étant donné que cette version du langage ne peut produire de sortie qu'en chiffres romains.