1664:
29:
1561:
1356:
When
Whitespace source code is displayed in some browsers, the horizontal spacing produced by a tab character is not fixed, but depends on its location in the text relative to the next
1686:
1701:
1706:
1554:
1691:
1667:
1547:
1430:
1641:
1447:
1502:
1385:
1581:
1360:. Depending on the software, tab characters may also get replaced by the corresponding variable number of space characters.
1570:
56:
1631:
139:
1636:
1616:
179:
A command is written as an instruction modification parameter (IMP) followed by an operation and then any parameters.
112:
104:
116:
92:
can be contained within the whitespace of code written in a language that ignores whitespace – making the text a
123:
100:
70:
143:
93:
59:
1696:
655:
151:
33:
603:
for negative. Subsequent characters before the terminator represent the binary digits of a value.
1509:
592:
1426:
162:
379:
85:) have meaning – contrasting typical languages that largely ignore whitespace characters.
74:
1680:
78:
22:
21:
For syntactically significant whitespace in non-esoteric programming languages, see
1606:
1393:
631:
173:
Whitespace defines a command as a sequences of whitespace characters. For example,
28:
1539:
1532:
module that rewrites the body of your module to a whitespace-only encoding ("for
283:
Copy the nth item on the stack (given by the argument) onto the top of the stack
1418:
89:
1520:
1473:
1591:
525:
Read a character and place it in the location given by the top of the stack
1525:
1646:
1626:
1601:
1596:
537:
Read a number and place it in the location given by the top of the stack
147:
82:
1621:
1586:
1357:
646:
characters. As there is only one namespace, all labels must be unique.
127:
108:
1611:
63:
1517:
A collection of interpreters, compilers, and programs for
Whitespace
1514:
587:
characters that represent 0 and 1 respectively and terminated by a
176:
performs arithmetic addition of the top two elements on the stack.
158:
27:
1521:
Collection of
Whitespace interpreters in various script languages
1529:
1543:
161:
language had been facetiously suggested five years earlier by
138:
Edwin Brady and Chris Morris, who also developed the Kaya and
157:
The idea of using whitespace characters as operators for the
621:
and represents -110010 in binary which is −50 in decimal.
614:
and represents 1001011 in binary, which is 75 in decimal.
477:
End a subroutine and transfer control back to the caller
130:
source code, is provided by the
Whitespace creators.
465:
Jump to a label if the top of the stack is negative
107:language. The programmer can push arbitrary-width
319:Slide n items off the stack, keeping the top item
1353::Output_'!';_L
L
L:End_the_program
579:A numeric value is represented as a sequence of
571:are ignored and thus can be used for comments.
453:Jump to a label if the top of the stack is zero
232:Operator sequences, organized by IMP, include:
654:The following source code is for a Whitespace
1555:
610:(STSSTSTTL) is positive since it starts with
501:Output the character at the top of the stack
142:languages, created Whitespace in 2002 at the
8:
1380:
1378:
1376:
1374:
1372:
781:L:Push_+1100101=101='e'_onto_the_stack
T
617:(TTTSSTSL) is negative since it starts with
729:L:Push_+1001000=72='H'_onto_the_stack
T
658:program. For clarity, it is annotated with
88:As a consequence of its syntax, Whitespace
1562:
1548:
1540:
1448:"New Whitespace-Only Programming Language"
513:Output the number at the top of the stack
551:operations were added in Whitespace 0.3.
1413:
1411:
234:
184:
1687:Non-English-based programming languages
1368:
1479:. Florham Park, NJ, USA: AT&T Labs
1474:"Generalizing Overloading for C++2000"
1702:Programming languages created in 2002
591:. The first character represents the
7:
1707:Stack-oriented programming languages
295:Swap the top two items on the stack
271:Duplicate the top item on the stack
1423:Humble Pi: a comedy of maths errors
307:Discard the top item on the stack
14:
1663:
1662:
1642:Shakespeare Programming Language
1510:Release announcement on Slashdot
417:Mark a location in the program
259:Push the number onto the stack
1692:Esoteric programming languages
1571:Esoteric programming languages
1:
16:Esoteric programming language
1632:One-instruction set computer
1723:
1425:. Allen Lane. p. 21.
20:
1660:
1577:
36:with syntax highlighting
1446:Timothy (1 April 2003).
1293:L=+1100100=100='d'
T
1241:L:+1101100=108='l'
T
1189:L:+1110010=114='r'
T
1137:L:+1101111=111='o'
T
1085:L:+1110111=119='w'
T
1033:L:+100000=32=Space
T
937:L:+1101111=111='o'
T
885:L:+1101100=108='l'
T
833:L:+1101100=108='l'
T
638:-terminated sequence of
182:IMP sequences include:
1341:L:+100001=33='!'
T
985:L:+101100=44=','
T
559:Characters other than
150:published a review on
49:
1515:The Whitespace Corpus
71:whitespace characters
31:
1472:Stroustrup, Bjarne.
630:A label is used for
144:University of Durham
60:programming language
1358:horizontal tab stop
405:Retrieve from heap
198:Stack Manipulation
34:hello world program
429:Call a subroutine
50:
1674:
1673:
1536:clean programs").
1432:978-0-241-36023-1
599:for positive and
541:
540:
367:Integer Division
230:
229:
163:Bjarne Stroustrup
126:, along with its
99:Whitespace is an
1714:
1666:
1665:
1564:
1557:
1550:
1541:
1506:
1505:
1503:Official website
1489:
1488:
1486:
1484:
1478:
1469:
1463:
1462:
1460:
1458:
1443:
1437:
1436:
1415:
1406:
1405:
1403:
1401:
1392:. Archived from
1382:
1352:
1348:
1344:
1340:
1336:
1332:
1328:
1324:
1320:
1316:
1312:
1308:
1304:
1300:
1296:
1292:
1288:
1284:
1280:
1276:
1272:
1268:
1264:
1260:
1256:
1252:
1248:
1244:
1240:
1236:
1232:
1228:
1224:
1220:
1216:
1212:
1208:
1204:
1200:
1196:
1192:
1188:
1184:
1180:
1176:
1172:
1168:
1164:
1160:
1156:
1152:
1148:
1144:
1140:
1136:
1132:
1128:
1124:
1120:
1116:
1112:
1108:
1104:
1100:
1096:
1092:
1088:
1084:
1080:
1076:
1072:
1068:
1064:
1060:
1056:
1052:
1048:
1044:
1040:
1036:
1032:
1028:
1024:
1020:
1016:
1012:
1008:
1004:
1000:
996:
992:
988:
984:
980:
976:
972:
968:
964:
960:
956:
952:
948:
944:
940:
936:
932:
928:
924:
920:
916:
912:
908:
904:
900:
896:
892:
888:
884:
880:
876:
872:
868:
864:
860:
856:
852:
848:
844:
840:
836:
832:
828:
824:
820:
816:
812:
808:
804:
800:
796:
792:
788:
784:
780:
776:
772:
768:
764:
760:
756:
752:
748:
744:
740:
736:
732:
728:
724:
720:
716:
712:
708:
704:
700:
696:
692:
685:
681:
680:
675:
674:
669:
665:
661:
645:
641:
637:
620:
613:
602:
598:
590:
586:
582:
570:
566:
562:
489:End the program
441:Jump to a label
235:
185:
175:
152:April Fool's Day
46:
40:
1722:
1721:
1717:
1716:
1715:
1713:
1712:
1711:
1677:
1676:
1675:
1670:
1656:
1573:
1568:
1501:
1500:
1497:
1492:
1482:
1480:
1476:
1471:
1470:
1466:
1456:
1454:
1445:
1444:
1440:
1433:
1417:
1416:
1409:
1399:
1397:
1396:on 18 June 2015
1384:
1383:
1370:
1366:
1354:
1350:
1346:
1342:
1338:
1334:
1330:
1326:
1322:
1318:
1314:
1310:
1306:
1302:
1298:
1294:
1290:
1286:
1282:
1278:
1274:
1270:
1266:
1262:
1258:
1254:
1250:
1246:
1242:
1238:
1234:
1230:
1226:
1222:
1218:
1214:
1210:
1206:
1202:
1198:
1194:
1190:
1186:
1182:
1178:
1174:
1170:
1166:
1162:
1158:
1154:
1150:
1146:
1142:
1138:
1134:
1130:
1126:
1122:
1118:
1114:
1110:
1106:
1102:
1098:
1094:
1090:
1086:
1082:
1078:
1074:
1070:
1066:
1062:
1058:
1054:
1050:
1046:
1042:
1038:
1034:
1030:
1026:
1022:
1018:
1014:
1010:
1006:
1002:
998:
994:
990:
986:
982:
978:
974:
970:
966:
962:
958:
954:
950:
946:
942:
938:
934:
930:
926:
922:
918:
914:
910:
906:
902:
898:
894:
890:
886:
882:
878:
874:
870:
866:
862:
858:
854:
850:
846:
842:
838:
834:
830:
826:
822:
818:
814:
810:
806:
802:
798:
794:
790:
786:
782:
778:
774:
770:
766:
762:
758:
754:
750:
746:
742:
738:
734:
730:
726:
722:
718:
714:
710:
706:
702:
698:
694:
690:
683:
678:
677:
672:
671:
667:
663:
659:
656:"Hello, world!"
652:
643:
639:
635:
628:
618:
611:
600:
596:
595:of the value –
588:
584:
580:
577:
568:
564:
560:
557:
355:Multiplication
174:
171:
136:
119:to store data.
48:
44:
42:
38:
26:
17:
12:
11:
5:
1720:
1718:
1710:
1709:
1704:
1699:
1694:
1689:
1679:
1678:
1672:
1671:
1661:
1658:
1657:
1655:
1654:
1649:
1644:
1639:
1634:
1629:
1624:
1619:
1614:
1609:
1604:
1599:
1594:
1589:
1584:
1578:
1575:
1574:
1569:
1567:
1566:
1559:
1552:
1544:
1538:
1537:
1523:
1518:
1512:
1507:
1496:
1495:External links
1493:
1491:
1490:
1464:
1438:
1431:
1407:
1367:
1365:
1362:
793::Output_'e';_S
741::Output_'H';_S
688:
651:
648:
627:
624:
623:
622:
615:
576:
573:
556:
553:
539:
538:
535:
532:
530:
527:
526:
523:
520:
518:
515:
514:
511:
508:
506:
503:
502:
499:
496:
494:
491:
490:
487:
484:
482:
479:
478:
475:
472:
470:
467:
466:
463:
460:
458:
455:
454:
451:
448:
446:
443:
442:
439:
436:
434:
431:
430:
427:
424:
422:
419:
418:
415:
412:
410:
407:
406:
403:
400:
398:
395:
394:
393:Store in heap
391:
388:
386:
383:
382:
377:
374:
372:
369:
368:
365:
362:
360:
357:
356:
353:
350:
348:
345:
344:
341:
338:
336:
333:
332:
329:
326:
324:
321:
320:
317:
314:
312:
309:
308:
305:
302:
300:
297:
296:
293:
290:
288:
285:
284:
281:
278:
276:
273:
272:
269:
266:
264:
261:
260:
257:
254:
252:
249:
248:
245:
242:
239:
228:
227:
224:
221:
220:
217:
214:
213:
210:
207:
206:
203:
200:
199:
196:
193:
192:
189:
170:
167:
135:
132:
111:values onto a
43:
37:
15:
13:
10:
9:
6:
4:
3:
2:
1719:
1708:
1705:
1703:
1700:
1698:
1695:
1693:
1690:
1688:
1685:
1684:
1682:
1669:
1659:
1653:
1650:
1648:
1645:
1643:
1640:
1638:
1635:
1633:
1630:
1628:
1625:
1623:
1620:
1618:
1615:
1613:
1610:
1608:
1605:
1603:
1600:
1598:
1595:
1593:
1590:
1588:
1585:
1583:
1580:
1579:
1576:
1572:
1565:
1560:
1558:
1553:
1551:
1546:
1545:
1542:
1535:
1531:
1527:
1524:
1522:
1519:
1516:
1513:
1511:
1508:
1504:
1499:
1498:
1494:
1475:
1468:
1465:
1453:
1449:
1442:
1439:
1434:
1428:
1424:
1420:
1414:
1412:
1408:
1395:
1391:
1387:
1381:
1379:
1377:
1375:
1373:
1369:
1363:
1361:
1359:
687:
657:
649:
647:
633:
625:
616:
609:
608:
607:
606:For example:
604:
594:
574:
572:
554:
552:
550:
546:
536:
533:
531:
529:
528:
524:
521:
519:
517:
516:
512:
509:
507:
505:
504:
500:
497:
495:
493:
492:
488:
485:
483:
481:
480:
476:
473:
471:
469:
468:
464:
461:
459:
457:
456:
452:
449:
447:
445:
444:
440:
437:
435:
433:
432:
428:
425:
423:
421:
420:
416:
413:
411:
409:
408:
404:
401:
399:
397:
396:
392:
389:
387:
385:
384:
381:
378:
375:
373:
371:
370:
366:
363:
361:
359:
358:
354:
351:
349:
347:
346:
342:
339:
337:
335:
334:
330:
327:
325:
323:
322:
318:
315:
313:
311:
310:
306:
303:
301:
299:
298:
294:
291:
289:
287:
286:
282:
279:
277:
275:
274:
270:
267:
265:
263:
262:
258:
255:
253:
251:
250:
246:
243:
240:
237:
236:
233:
225:
223:
222:
219:Flow Control
218:
216:
215:
211:
209:
208:
204:
202:
201:
197:
195:
194:
190:
187:
186:
183:
180:
177:
168:
166:
164:
160:
155:
153:
149:
145:
141:
133:
131:
129:
125:
120:
118:
115:and access a
114:
110:
106:
102:
97:
95:
91:
86:
84:
80:
76:
72:
69:
65:
61:
58:
54:
35:
30:
24:
23:Off-side rule
19:
1651:
1607:Iota and Jot
1533:
1526:Acme::Bleach
1481:. Retrieved
1467:
1455:. Retrieved
1451:
1441:
1422:
1419:Parker, Matt
1398:. Retrieved
1394:the original
1389:
1386:"Whitespace"
1355:
670:before each
653:
632:control flow
629:
605:
578:
558:
548:
544:
542:
343:Subtraction
231:
212:Heap Access
181:
178:
172:
156:
137:
121:
98:
87:
67:
52:
51:
47: spaces
18:
650:Sample code
205:Arithmetic
124:interpreter
105:stack-based
90:source code
32:Whitespace
1697:Whitespace
1681:Categories
1652:Whitespace
1483:23 January
1457:23 January
1400:8 December
1364:References
634:. It is a
101:imperative
53:Whitespace
41: tabs
1592:Brainfuck
331:Addition
244:Parameter
1668:Category
1647:Unlambda
1627:Malbolge
1602:INTERCAL
1597:FRACTRAN
1452:Slashdot
1421:(2019).
684:linefeed
636:linefeed
589:linefeed
569:linefeed
555:Comments
247:Meaning
241:Operator
191:Meaning
148:Slashdot
94:polyglot
83:linefeed
57:esoteric
1622:LOLCODE
1587:Befunge
1582:Beatnik
1390:Compsoc
1345:L
S
1297:L
S
1245:L
S
1193:L
S
1141:L
S
1089:L
S
1037:L
S
989:L
S
941:L
S
889:L
S
837:L
S
785:L
S
733:L
S
575:Numbers
134:History
128:Haskell
109:integer
1612:JSFuck
1534:really
1429:
682:, and
626:Labels
380:Modulo
316:Number
280:Number
256:Number
169:Syntax
154:2003.
66:where
64:syntax
55:is an
45:
39:
1477:(PDF)
1351:
1347:
1335:
1331:
1327:
1323:
1315:
1311:
1307:
1303:
1299:
1291:
1287:
1279:
1275:
1263:
1259:
1255:
1251:
1247:
1239:
1235:
1223:
1211:
1207:
1203:
1199:
1195:
1187:
1179:
1175:
1159:
1155:
1151:
1147:
1143:
1119:
1107:
1103:
1099:
1095:
1091:
1071:
1055:
1051:
1047:
1043:
1039:
1031:
1027:
1023:
1019:
1015:
1007:
1003:
999:
995:
991:
983:
979:
967:
959:
955:
951:
947:
943:
919:
907:
903:
899:
895:
891:
883:
879:
867:
855:
851:
847:
843:
839:
831:
827:
815:
803:
799:
795:
791:
787:
775:
767:
763:
751:
747:
743:
739:
735:
727:
723:
719:
711:
707:
699:
695:
691:
673:space
640:space
612:space
597:space
581:space
561:space
549:slide
462:Label
450:Label
438:Label
426:Label
414:Label
140:Idris
113:stack
75:space
62:with
1637:Piet
1617:Leet
1530:Perl
1485:2014
1459:2014
1427:ISBN
1402:2015
1343:
1339:
1319:
1295:
1283:
1271:
1267:
1243:
1231:
1227:
1219:
1215:
1191:
1183:
1171:
1167:
1163:
1139:
1135:
1131:
1127:
1123:
1115:
1111:
1087:
1083:
1079:
1075:
1067:
1063:
1059:
1035:
1011:
987:
975:
971:
963:
939:
935:
931:
927:
923:
915:
911:
887:
875:
871:
863:
859:
835:
823:
819:
811:
807:
783:
779:
771:
759:
755:
731:
715:
703:
666:and
642:and
593:sign
583:and
567:and
547:and
545:copy
543:The
226:I/O
117:heap
81:and
68:only
679:tab
644:tab
619:tab
601:tab
585:tab
565:tab
238:IMP
188:IMP
159:C++
146:.
122:An
79:tab
1683::
1528:A
1450:.
1410:^
1388:.
1371:^
686:.
676:,
662:,
563:,
165:.
103:,
96:.
77:,
1563:e
1556:t
1549:v
1487:.
1461:.
1435:.
1404:.
1349:S
1337:T
1333:S
1329:S
1325:S
1321:S
1317:T
1313:S
1309:S
1305:S
1301:S
1289:S
1285:S
1281:T
1277:S
1273:S
1269:T
1265:T
1261:S
1257:S
1253:S
1249:S
1237:S
1233:S
1229:T
1225:T
1221:S
1217:T
1213:T
1209:S
1205:S
1201:S
1197:S
1185:S
1181:T
1177:S
1173:S
1169:T
1165:T
1161:T
1157:S
1153:S
1149:S
1145:S
1133:T
1129:T
1125:T
1121:T
1117:S
1113:T
1109:T
1105:S
1101:S
1097:S
1093:S
1081:T
1077:T
1073:T
1069:S
1065:T
1061:T
1057:T
1053:S
1049:S
1045:S
1041:S
1029:S
1025:S
1021:S
1017:S
1013:S
1009:T
1005:S
1001:S
997:S
993:S
981:S
977:S
973:T
969:T
965:S
961:T
957:S
953:S
949:S
945:S
933:T
929:T
925:T
921:T
917:S
913:T
909:T
905:S
901:S
897:S
893:S
881:S
877:S
873:T
869:T
865:S
861:T
857:T
853:S
849:S
845:S
841:S
829:S
825:S
821:T
817:T
813:S
809:T
805:T
801:S
797:S
789:S
777:T
773:S
769:T
765:S
761:S
757:T
753:T
749:S
745:S
737:S
725:S
721:S
717:S
713:T
709:S
705:S
701:T
697:S
693:S
689:S
668:L
664:T
660:S
534:-
522:-
510:-
498:-
486:-
474:-
402:-
390:-
376:-
364:-
352:-
340:-
328:-
304:-
292:-
268:-
73:(
25:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.