199:
which is not an add-on, but is grown naturally in the process of exposition of one's thoughts during a program's creation. The resulting documentation allows the author to restart their own thought processes at any later time, and allows other programmers to understand the construction of the program more easily. This differs from traditional documentation, in which a programmer is presented with source code that follows a compiler-imposed order, and must decipher the thought process behind the program from the code and its associated comments. The meta-language capabilities of literate programming are also claimed to facilitate thinking, giving a higher "bird's eye view" of the code and increasing the number of concepts the mind can successfully retain and process. Applicability of the concept to programming on a large scale, that of commercial-grade programs, is proven by an edition of
3081:
bottom-up, because a program is best thought of as a web instead of a tree. A hierarchical structure is present, but the most important thing about a program is its structural relationships. A complex piece of software consists of simple parts and simple relations between those parts; the programmer's task is to state those parts and those relationships, in whatever order is best for human comprehension not in some rigidly determined order like top-down or bottom-up.
3254:. TANGLE is able to scramble everything up into the arrangement that a PASCAL compiler demands. This feature of WEB is perhaps its greatest asset; it makes a WEB-written program much more readable than the same program written purely in PASCAL, even if the latter program is well commented. And the fact that there's no need to be hung up on the question of top-down versus bottom-up, since a programmer can now
218:– or to voluminous commentaries included with code. This is the converse of literate programming: well-documented code or documentation extracted from code follows the structure of the code, with documentation embedded in the code; while in literate programming, code is embedded in documentation, with the code following the structure of the documentation.
2430:
by Knuth Web tool or tools like "noweb") is possible only with some degree of inventiveness and the use of the editor in a way not exactly envisioned by its author (in modified @root nodes). However, this and other extensions (@file nodes) make outline programming and text management successful and easy and in some ways similar to literate programming.
3345:
delicately pieced together from simple materials. We understand a complicated system by understanding its simple parts, and by understanding the simple relations between those parts and their immediate neighbors. If we express a program as a web of ideas, we can emphasize its structural properties in a natural and satisfying way.
149:" since he believed that it was one of the few three-letter words of English that had not yet been applied to computing. However, it resembles the complicated nature of software delicately pieced together from simple materials. The practice of literate programming has seen an important resurgence in the 2010s with the use of
2836:
3210:
project. Not only has it enabled me to write and maintain programs faster and more reliably than ever before, and been one of my greatest sources of joy since the 1980s-it has actually been indispensable at times. Some of my major programs, such as the MMIX meta-simulator, could not have been written
3162:
WEB's macros are allowed to have at most one parameter. Again, I did this in the interests of simplicity, because I noticed that most applications of multiple parameters could in fact be reduced to the one-parameter case. For example, suppose that you want to define something like .... In other
1114:
The documentation for a literate program is produced as part of writing the program. Instead of comments provided as side notes to source code a literate program contains the explanation of concepts on each level, with lower level concepts deferred to their appropriate place, which allows for better
189:
is used to substitute arbitrary hierarchies, or rather "interconnected 'webs' of macros", to produce the compilable source code with one command ("tangle"), and documentation with another ("weave"). The preprocessor also provides an ability to write out the content of the macros and to add to already
198:
According to Knuth, literate programming provides higher-quality programs, since it forces programmers to explicitly state the thoughts behind the program, making poorly thought-out design decisions more obvious. Knuth also claims that literate programming provides a first-rate documentation system,
165:
Literate programming is writing out the program logic in a human language with included (separated by a primitive markup) code snippets and macros. Macros in a literate source file are simply title-like or explanatory phrases in a human language that describe human abstractions created while solving
2429:
editor which supports optional noweb and CWEB markup. The author of Leo mixes two different approaches: first, Leo is an outlining editor, which helps with management of large texts; second, Leo incorporates some of the ideas of literate programming, which in its pure form (i.e., the way it is used
3344:
I chose the name WEB partly because it was one of the few three-letter words of
English that hadn't already been applied to computers. But as time went on, I've become extremely pleased with the name, because I think that a complex piece of software is, indeed, best regarded as a web that has been
3211:
with any other methodology that I've ever heard of. The complexity was simply too daunting for my limited brain to handle; without literate programming, the whole enterprise would have flopped miserably. ... Literate programming is what you need to rise above the ordinary level of achievement.
3080:
I had the feeling that top-down and bottom-up were opposing methodologies: one more suitable for program exposition and the other more suitable for program creation. But after gaining experience with WEB, I have come to realize that there is no need to choose once and for all between top-down and
3224:
Another surprising thing that I learned while using WEB was that traditional programming languages had been causing me to write inferior programs, although I hadn't realized what I was doing. My original idea was that WEB would be merely a tool for documentation, but I actually found that my WEB
235:
systems, are "literate programming tools". However, because these tools do not implement the "web of abstract concepts" hiding behind the system of natural-language macros, or provide an ability to change the order of the source code from a machine-imposed sequence to one convenient to the human
296:
literate program shows how arbitrary descriptive phrases in a natural language are used in a literate program to create macros, which act as new "operators" in the literate programming language, and hide chunks of code or other macros. The mark-up notation consists of double angle brackets
1081:
The grand totals must be initialized to zero at the beginning of the program. If we made these variables local to main, we would have to do this initialization explicitly; however, C globals are automatically zeroed. (Or rather,``statically zeroed.'' (Get it?) <<Global
22:
1529:
It is an inverse literate programming tool available as a Ruby Gem. Instead of the machine-readable source code being extracted out of the literate documentation sources, the literate documentation is extracted out of the normal machine-readable source code files.
657:
The unraveling of the chunks can be done in any place in the literate program text file, not necessarily in the order they are sequenced in the enclosing chunk, but as is demanded by the logic reflected in the explanatory text that envelops the whole program.
309:
symbol stands for the "root", topmost node the literate programming tool will start expanding the web of macros from. Actually, writing out the expanded source code can be done from any section or subsection (i.e. a piece of code designated as
1560:
Requires Babel, which allows embedding blocks of source code from multiple programming languages within a single text document. Blocks of code can share data with each other, display images inline, or be parsed into pure source code using the
666:
Macros are not the same as "section names" in standard documentation. Literate programming macros hide the real code behind themselves, and be used inside any low-level machine language operators, often inside logical operators such as
2703:
190:
created macros in any place in the text of the literate program source file, thereby disposing of the need to keep in mind the restrictions imposed by traditional programming languages or to interrupt the flow of thought.
1053:
The macros stand for any chunk of code or other macros, and are more general than top-down or bottom-up "chunking", or than subsectioning. Donald Knuth said that when he realized this, he began to think of a program as a
1119:
above show how an explanation of the program and its source code are interwoven. Such exposition of ideas creates the flow of thought that is like a literary work. Knuth wrote a "novel" which explains the code of the
3104:
If one remembers that the first version of the tool was called WEB, the amusing literary reference hidden by Knuth in these names becomes obvious: "Oh, what a tangled web we weave when first we practise to deceive"
4174:
1140:, which is evolved from scratchpad, a computer algebra system developed by IBM. It is now being developed by Tim Daly, one of the developers of scratchpad, Axiom is totally written as a literate program.
113:
Literate programming (LP) tools are used to obtain two representations from a source file: one understandable by a compiler or interpreter, the "tangled" code, and another for viewing as formatted
2708:
1445:
It can translate a single LP source into any number of code files. It does it in a single invocation; it does not have separate weave and tangle commands. It does not have the extensibility of
2861:
format. From this prose documentation, schemas, and processing model pipelines can be generated and Knuth's
Literate Programming paradigm is cited as the inspiration for this way of working.
2447:
The literate scripts can be full LaTeX source text, at the same time it can be compiled, with no changes, because the interpreter only compiles the text in a code environment, for example:
90:
The literate programming paradigm, as conceived by Donald Knuth, represents a move away from writing computer programs in the manner and order imposed by the compiler, and instead gives
2307:
Stored on the cloud with web interface. Contents are publishable as websites. Version controlled; the platform defines its own version control operations. Code cells can be organized
3557:
4080:
214:
Literate programming is very often misunderstood to refer only to formatted documentation produced from a common file with both source code and comments – which is properly called
4144:
2364:
to load literate modules, represented by
Markdown files containing JavaScript or TypeScript code interspersed with richly formatted prose. Supports bundling literate modules for
1194:
There are various other implementations of the literate programming concept as given below. Many of the newer among these do not have macros and hence do not comply with the
4093:
2535:
The code can be also marked in the
Richard Bird style, starting each line with a greater than symbol and a space, preceding and ending the piece of code with blank lines.
133:
Literate programming was first introduced in 1984 by Donald Knuth, who intended it to create programs that were suitable literature for human beings. He implemented it at
5112:
1703:
Provides an interactive programming environment that evaluates each statement and displays live results as the code is edited. Playgrounds also allow the user to add
3119:
in 1513. – the actual citation appeared as an epigraph in a May 1986 article by Jon
Bentley and Donald Knuth in one of the classical "Programming Pearls" columns in
5205:
206:
Knuth also claims that literate programming can lead to easy porting of software to multiple environments, and even cites the implementation of TeX as an example.
4980:
4243:
2831:{\displaystyle {\begin{aligned}&comp::(\beta \to \gamma )\to (\alpha \to \beta )\to (\alpha \to \gamma )\\&(g\operatorname {comp} f)x=g(fx)\end{aligned}}}
4178:
2266:
file. Documents can be scheduled for automatic execution. The document presence and widgets are controlled with YAML header in the first cell of the notebook.
4009:
3286:
94:
macros to develop programs in the order demanded by the logic and flow of their thoughts. Literate programs are written as an exposition of logic in more
4073:
1198:
principle, which makes them perhaps "semi-literate" tools. These, however, allow cellular execution of code which makes them more along the lines of
1161:
as its underlying programming language and TeX for typesetting of the documentation. The complete commented TeX source code was published in Knuth's
4307:
4657:
4519:
4921:
4663:
3861:
5097:
5102:
4066:
3932:
4848:
4596:
3057:
3027:
1803:
is a library that allows one to develop a python library in
Jupyter Notebooks, putting all code, tests and documentation in one place.
4316:
1508:
Aims to modernize and scale it with "folding HTML" and "virtual views" on code. It uses "noweb" markup for the literate source files.
122:
3951:
3906:
3742:
3607:
2437:
programming language has native support for semi-literate programming. The compiler/interpreter supports two file name extensions:
4688:
4368:
4312:
2891:– examples of use of the "noweb"-like Literate Programming tool inside the R language for creation of dynamic statistical reports
2846:
as the underlying programming language, although there was nothing in the pre-processor 'tang' to force the use of that language.
1634:
are a platform-agnostic literate programming environment that combines text and graphics with live code for symbolic computation.
5117:
3401:, was originally written by Crowther in about 700 lines of FORTRAN code; Knuth recast it into the WEB idiom. It is available at
4987:
4945:
4548:
4421:
4352:
4287:
4210:
2839:
Although the package does not provide means to organize chunks of code, one can split the LaTeX source code in different files.
1137:
3409:
5210:
4726:
4489:
4119:
2434:
3329:
3835:
5200:
4504:
4494:
4272:
2232:
2227:
2124:
2101:
2088:
1954:
1899:
1789:
1763:
1721:
1478:
1462:
1241:
1236:
1158:
5159:
5128:
4888:
4868:
4798:
4741:
4703:
4693:
4653:
4578:
4514:
4484:
4411:
4400:
4297:
4277:
4252:
4215:
2084:
1958:
1903:
1812:
1690:
1353:
It is well known for its simplicity and it allows for text formatting in HTML rather than going through the TeX system.
3052:
Kery, Mary Beth (April 2018). "The Story in the
Notebook: Exploratory Data Science using a Literate Programming Tool".
1066:
In a noweb literate program besides the free order of their exposition, the chunks behind macros, once introduced with
4843:
4606:
4573:
4468:
4444:
4406:
4386:
4282:
4191:
4169:
4154:
2080:
1841:
1518:
1325:
1171:. Knuth had privately used a literate programming system called DOC as early as 1979. He was inspired by the ideas of
229:
117:, which is said to be "woven" from the literate source. While the first generation of literate programming tools were
1744:
Works in the format of notebooks, which combine headings, text (including LaTeX), plots, etc. with the written code.
284:
literate programming tool. This example provides a good illustration of the basic elements of literate programming.
178:. These arbitrary explanatory phrases become precise new operators, created on the fly by the programmer, forming a
4914:
4790:
4776:
4683:
4643:
4568:
4474:
4454:
4321:
4200:
4134:
2194:
2177:
3674:"Sweave, Part I: Mixing R and LaTeX: A short introduction to the Sweave file format and corresponding R functions"
4959:
4883:
4648:
4558:
4538:
4524:
4025:
3426:
1172:
1167:
5107:
4863:
4823:
4766:
4698:
4436:
4267:
2970:
2858:
2854:
2850:
2378:
2092:
2027:
2002:
1950:
1895:
1399:
1366:
1317:
1297:
1276:
1271:
1188:
1180:
215:
99:
60:
3484:
5123:
4952:
4873:
4853:
4794:
4781:
4761:
4588:
4325:
4229:
4187:
2872:
1391:
1199:
1125:
225:
5092:
5017:
4973:
4833:
4808:
4802:
4746:
4708:
4396:
4391:
4343:
4238:
4139:
4111:
4102:
4015:
3434:
2312:
166:
the programming problem, and hiding chunks of code or lower-level macros. These macros are similar to the
314:, with the equal sign), so one literate program file can contain several files with machine source code.
5169:
4907:
4735:
4731:
4673:
4625:
4195:
3967:
3759:
2894:
1636:
80:
56:
2875:– the inverse on literate programming where documentation is embedded in and generated from source code
4049:
4966:
4858:
4818:
4620:
4479:
4348:
4335:
4089:
3821:
3707:
3582:
2961:
1827:
72:
40:
4020:
3869:
1680:
are a platform-agnostic literate programming method that combines text and graphics with live code.
1601:
supports a "literate" mode, which enables programs to be compiled from a source document written in
4813:
4751:
4563:
4543:
4529:
4261:
4129:
4124:
3924:
1677:
1656:
1121:
134:
21:
3466:
2254:
Mercury turns
Jupyter Notebook into interactive computational documents. They can be published as
5149:
4630:
4583:
4553:
4499:
4358:
4257:
4149:
4058:
3317:
2878:
1758:
150:
3963:
3519:
2857:
scheme enables users to mix prose documentation with fragments of schema specification in their
2258:, dashboards, reports, REST API, or slides. The executed document can be exported as standalone
236:
mind, they cannot properly be called literate programming tools in the sense intended by Knuth.
4786:
4678:
4533:
4509:
4449:
4416:
4378:
4363:
4302:
3947:
3928:
3902:
3738:
3651:
3641:
3116:
2422:
2096:
255:
Weaving and tangling are done on the same source so that they are consistent with each other.
118:
2145:
4668:
4600:
4464:
4205:
3987:
3976:
3655:
3106:
3061:
3017:
3002:
2974:
2058:
1668:
1661:
1631:
1615:
1610:
1467:
175:
95:
52:
48:
3977:"A Multi-Language Computing Environment for Literate Programming and Reproducible Research"
3206:
Yet to me, literate programming is certainly the most important thing that came out of the
3194:
3003:"A Multi-Language Computing Environment for Literate Programming and Reproducible Research"
2245:
1733:
5164:
5046:
4718:
4592:
4458:
4159:
3413:
2255:
1793:
1753:
1712:
1704:
3615:
263:
A classic example of literate programming is the literate implementation of the standard
3673:
3452:
3402:
5051:
4770:
4426:
4292:
3897:
3111:
2546:
environment which can be used to embellish the source code. It can be used to define a
2324:
1970:
1918:
3377:
5194:
5144:
4756:
3732:
3054:
CHI '18: Proceedings of the 2018 CHI Conference on Human
Factors in Computing Systems
305:
symbol which, in a noweb file, indicates the beginning of a documentation chunk. The
114:
3430:
4930:
3916:
3350:
3267:
3230:
3190:
3168:
3086:
2949:
1598:
1580:
1575:
1570:
248:
Weaving: Generating a comprehensive document about the program and its maintenance.
186:
154:
76:
44:
29:
3133:
2953:
1830:
notebook environment allowing custom order. But web-like macros aren't supported.
3321:
2150:
1685:
5154:
4638:
4044:
3839:
2550:
environment to use within
Haskell to print the symbols in the following manner:
2365:
2316:
1974:
1922:
221:
This misconception has led to claims that comment-extraction tools, such as the
103:
87:
purposes. Literate programming tools are used by millions of programmers today.
84:
64:
3406:
3225:
programs were better than the programs I had been writing in other languages.
1486:
2395:
2390:
2386:
2346:
2341:
2337:
2320:
2285:
2281:
2276:
2236:
1982:
1978:
1930:
1926:
1584:
1551:
1546:
171:
142:
91:
3708:"The Joy of Sweave – A Beginner's Guide to Reproducible Research with Sweave"
2979:
1078:
is added by the document formatter for readability, and is not in the code).
5179:
5084:
5041:
3163:
words, the name of one macro can usefully be a parameter to another macro.
3065:
268:
167:
138:
4040:
1383:
3991:
3659:
3022:
5011:
4998:
2843:
2400:
2351:
2157:
2106:
2054:
2050:
1881:
1768:
1602:
1589:
1538:
1454:
1371:
68:
3645:
1707:
along with the code that provide headers, inline formatting and images.
5174:
2361:
1877:
1836:
Supports the iJulia mode of development which was inspired by iPython.
1716:
1358:
232:
2323:. Cells from different observable notebooks can reference each other.
2071:
3785:
3766:
3532:
3499:
3438:
2884:
2189:
2185:
2172:
2076:
1997:
1749:
1074:
and adding more content to it, as the following snippet illustrates (
3781:
2332:
2382:
2222:
2181:
1431:
1418:
It has more complicated markup, but has many more flexible options
1301:
1267:
1195:
1184:
4000:
3760:"knitr: A General-purpose Tool for Dynamic Report Generation in R"
2888:
2853:
which enables the constraining, modification, or extension of the
2294:
2034:
2022:
1562:
1535:
1446:
1436:
1342:
1330:
1309:
281:
107:
20:
3287:""Oral History of Donald Knuth"- an Interview with Ed Feigenbaum"
2897:– source code that can be easily understood without documentation
1889:
5074:
5033:
5022:
4053:
2373:
2298:
2259:
2241:
2207:
2198:
2046:
1856:
Supports a limited form of literate programming out of the box.
1729:
1499:
1494:
1423:
1404:
1338:
1262:
1176:
1070:, can be grown later in any place in the file by simply writing
273:
264:
222:
4903:
4899:
4062:
3250:
Thus the WEB language allows a person to express programs in a
1477:
Respects indentation which makes usable for the languages like
5069:
5006:
3207:
2290:
2263:
2203:
2131:
2119:
2042:
2038:
2009:
1966:
1914:
1907:
1622:
1408:
1334:
1321:
1293:
1281:
1246:
1231:
1154:
1150:
200:
146:
2311:; observable notebooks will construct the execution graph (a
2881:– virtual notebook environment used for literate programming
2271:
3782:"ganelson/inweb: A modern system for literate programming"
2217:
Used to write the Inform Programming Language since 2004.
1187:, runs on most operating systems, and can produce TeX and
3520:
Milestones in Computer Science and Information Technology
1784:
1149:
The first published literate programming environment was
244:
Implementing literate programming consists of two steps:
3800:
2368:
when using the Rollup or Vite frontend module bundlers.
1876:
Programs are primarily prose. Eve combines variants of
1179:, written by Knuth and Silvio Levy, is WEB adapted for
1115:
communication of thought. The snippets of the literate
125:
and exist beyond the individual programming languages.
1823:
1481:, though one can use it for any programming language.
1257:
The first published literate programming environment.
71:
source code can be generated. The approach is used in
2706:
1945:
1861:
5137:
5083:
5060:
5032:
4997:
4937:
4832:
4717:
4619:
4435:
4377:
4334:
4237:
4228:
4168:
4110:
4101:
3256:view a large program as a web, to be explored in a
1101:
1083:
280:book. The same example was later rewritten for the
3927:Center for the Study of Language and Information.
3896:
3437:, Service d'Informatique. p. 135 – via
2830:
3944:TeX & LaTeX: Drawing and Literate Programming
3898:"Weaving a Program: Literate Programming in WEB"
55:, such as English, interspersed (embedded) with
51:is given as an explanation of how it works in a
3734:Dynamic Documents with R and knitr, 2nd Edition
3342:
3248:
3222:
3160:
3078:
182:on top of the underlying programming language.
4981:Things a Computer Scientist Rarely Talks About
3558:"Markup Formatting Reference: Markup Overview"
1884:with a live graphical development environment
1062:Order of human logic, not that of the compiler
102:are used to hide abstractions and traditional
16:A programming approach of software development
4915:
4074:
1382:Supports TeX equations. Compatible with Vim (
276:version of this example in Chapter 12 of his
8:
3964:"Literate Programming – Issues and Problems"
3836:"Web 68: Literate programming with Algol 68"
3262:I have learned from my recent experiences.
2842:The Web 68 Literate Programming system used
251:Tangling: Generating machine executable code
32:is the seminal book on literate programming.
3371:
3369:
3367:
3365:
2445:; the latter stands for literate Haskell.
4922:
4908:
4900:
4234:
4107:
4081:
4067:
4059:
3312:
3310:
1204:
4145:Programming in the large and in the small
4019:
3644:; Garrett Grolemund (December 30, 2023),
3021:
2978:
2707:
2705:
1103:/* total number of words, lines, chars */
272:word counting program. Knuth presented a
5180:Potrzebie system of weights and measures
2914:
2912:
2910:
5113:Robinson–Schensted–Knuth correspondence
3706:Pineda-Krch, Mario (January 17, 2011).
3635:
3633:
3185:
3183:
2906:
5206:Computer-related introductions in 1981
2327:libraries can be imported on the fly.
1981:formats plus interactive formats like
1929:formats plus interactive formats like
1153:, introduced by Knuth in 1981 for his
210:Contrast with documentation generation
3799:Ream, Edward K. (September 2, 2008).
3332:from the original on January 2, 2009.
3193:; Binstock, Andrew (April 25, 2008).
3033:from the original on November 9, 2014
7:
2452:% here text describing the function:
2319:implemented with modern features of
679:. This can be seen in the following
3780:Nelson, Graham A. (June 17, 2022).
3058:Association for Computing Machinery
2849:The customization mechanism of the
4008:Walsh, Norman (October 15, 2002).
2698:which can be configured to yield:
1072:<<name of the chunk>>=
312:<<name of the chunk>>=
14:
5098:Knuth–Bendix completion algorithm
3962:Nørmark, Kurt (August 13, 1998).
3322:"POD is not Literate Programming"
1042:/* c is newline, space, or tab */
145:. The implementation was called "
4689:Partitioned global address space
3868:. TEI Consortium. Archived from
3647:R Markdown: The Definitive Guide
2943:
2937:
2931:
2925:
2919:
4946:The Art of Computer Programming
3984:Journal of Statistical Software
3376:Ramsey, Norman (May 13, 2008).
3252:"stream of consciousness" order
3010:Journal of Statistical Software
3975:Schulte, Eric (January 2012).
3260:is perhaps the greatest lesson
3115:(1808) an epic poem about the
2821:
2812:
2800:
2785:
2775:
2769:
2763:
2760:
2757:
2751:
2745:
2742:
2739:
2733:
2727:
1605:with indented blocks of code.
1145:Literate programming practices
1110:Record of the train of thought
1080:
121:-specific, the later ones are
1:
3608:"Eve and Literate Progamming"
3258:psychologically correct order
3195:"Interview with Donald Knuth"
1724:and any with a Jupyter Kernel
292:The following snippet of the
137:as a part of his research on
5103:Knuth–Morris–Pratt algorithm
4216:Uniform Function Call Syntax
3986:. Vol. 46, no. 3.
3431:Holon Programming – A Survey
3109:, in Canto VI, Stanza 17 of
2416:Other useful tools include:
1813:Julia (programming language)
1691:Swift (programming language)
1157:typesetting system; it uses
301:) that indicate macros. The
203:code as a literate program.
5118:Trabb Pardo–Knuth algorithm
4684:Parallel programming models
4658:Concurrent constraint logic
4011:Literate Programming in XML
3522:by Edwin D. Reilly, p. 157.
3467:"Babel Languages: redirect"
3294:Archive.ComputerHistory.org
3141:Archive.ComputerHistory.org
1842:Agda (programming language)
1165:, volume B of his 5-volume
174:typically used in teaching
106:, more like the text of an
5227:
4777:Metalinguistic abstraction
4644:Automatic mutual exclusion
3737:. Chapman & Hall/CRC.
3672:Leisch, Friedrich (2002).
3427:de Marneffe, Pierre Arnoul
1892:Notebooks (or R Notebooks)
1220:Macros & custom order
5160:Knuth's up-arrow notation
5129:Knuth's Simpath algorithm
4960:Computers and Typesetting
4649:Choreographic programming
3942:Gurari, Eitan M. (1994).
3901:. Van Nostrand Reinhold.
3123:, vol. 29, no. 5, p. 365.
3121:Communications of the ACM
2244:format specification for
1732:format Specification for
1173:Pierre-Arnoul de Marneffe
1168:Computers and Typesetting
910:/* visible ASCII codes */
4699:Relativistic programming
4050:Literate Programming FAQ
3412:August 20, 2008, at the
3397:The game, also known as
2971:British Computer Society
2859:One Document Does-it-all
2851:Text Encoding Initiative
2552:
2449:
2315:) automatically. A rich
1862:Eve programming language
1082:variables>>+=
685:
316:
216:documentation generation
4953:The Complexity of Songs
3500:"Literate CoffeeScript"
3403:literateprogramming.com
3066:10.1145/3173574.3173748
2873:Documentation generator
1200:exploratory programming
1126:Colossal Cave Adventure
226:Plain Old Documentation
151:computational notebooks
4988:Selected papers series
4709:Structured concurrency
4094:Comparison by language
4001:"Literate Programming"
3895:Sewell, Wayne (1989).
3359:
3276:
3239:
3177:
3134:"Literate Programming"
3095:
3001:Schulte, Eric (2012).
2980:10.1093/comjnl/27.2.97
2954:"Literate Programming"
2832:
1100:tot_char_count;
129:History and philosophy
43:introduced in 1984 by
33:
5211:Programming paradigms
5170:Quater-imaginary base
4674:Multitier programming
4490:Interface description
4090:Programming paradigms
3992:10.18637/jss.v046.i03
3968:University of Aalborg
3485:"Babel: Introduction"
3453:"Babel: Introduction"
3378:"An Example of noweb"
3023:10.18637/jss.v046.i03
2895:Self-documenting code
2833:
81:reproducible research
24:
5201:Literate programming
5124:Dijkstra's algorithm
5062:Literate programming
4967:Concrete Mathematics
3921:Literate Programming
3355:Literate Programming
3272:Literate Programming
3235:Literate Programming
3173:Literate Programming
3091:Literate Programming
2962:The Computer Journal
2704:
1977:and presentation or
1925:and presentation or
1211:Supported languages
1196:order of human logic
1068:<<...>>=
278:Literate Programming
73:scientific computing
41:programming paradigm
37:Literate programming
26:Literate Programming
5093:Knuth's Algorithm X
4814:Self-modifying code
4422:Probabilistic logic
4353:Functional reactive
4308:Expression-oriented
4262:Partial application
4041:LiterateProgramming
3958:(includes software)
3925:Stanford University
3842:on January 20, 2013
3834:Mountbatten, Sian.
3731:Xie, Yihui (2015).
3562:Developer.Apple.com
3533:"Wolfram Notebooks"
3435:Université de Liège
3318:Dominus, Mark-Jason
2542:package provides a
1223:Cellular execution
1132:Remarkable examples
1122:interactive fiction
299:<<...>>
135:Stanford University
5150:Knuth reward check
5122:Generalization of
4727:Attribute-oriented
4500:List comprehension
4445:Algebraic modeling
4258:Anonymous function
4150:Design by contract
4120:Jackson structures
3872:on August 22, 2018
3652:Chapman & Hall
3498:Ashkenas, Jeremy.
3320:(March 20, 2000).
2879:Notebook interface
2828:
2826:
2146:MATLAB Live Editor
1637:"Maple Worksheets"
1565:reference syntax.
1058:of various parts.
683:literate program.
493:<<*>>=
288:Creation of macros
34:
5188:
5187:
4897:
4896:
4787:Program synthesis
4679:Organic computing
4615:
4614:
4520:Non-English-based
4495:Language-oriented
4273:Purely functional
4224:
4223:
3934:978-0-937073-80-3
3801:"Leo's Home Page"
3642:Joseph J. Allaire
3429:(December 1973).
3117:Battle of Flodden
3060:. pp. 1–11.
2414:
2413:
1678:Wolfram notebooks
1657:Wolfram Notebooks
307:<<*>>
123:language-agnostic
119:computer language
5218:
4924:
4917:
4910:
4901:
4799:by demonstration
4704:Service-oriented
4694:Process-oriented
4669:Macroprogramming
4654:Concurrent logic
4525:Page description
4515:Natural language
4485:Grammar-oriented
4412:Nondeterministic
4401:Constraint logic
4303:Point-free style
4298:Functional logic
4235:
4206:Immutable object
4125:Block-structured
4108:
4083:
4076:
4069:
4060:
4029:
4028:on May 11, 2008.
4024:. Archived from
4023:
4004:
3995:
3981:
3971:
3957:
3938:
3917:Knuth, Donald E.
3912:
3900:
3882:
3881:
3879:
3877:
3862:"TEI Guidelines"
3858:
3852:
3851:
3849:
3847:
3838:. Archived from
3831:
3825:
3824:for an overview.
3818:
3812:
3811:
3809:
3807:
3796:
3790:
3789:
3777:
3771:
3770:
3764:
3755:
3749:
3748:
3728:
3722:
3721:
3719:
3717:
3712:
3703:
3697:
3696:
3694:
3692:
3678:
3669:
3663:
3662:
3637:
3628:
3627:
3625:
3623:
3614:. Archived from
3604:
3598:
3597:
3595:
3593:
3579:
3573:
3572:
3570:
3568:
3554:
3548:
3547:
3545:
3543:
3529:
3523:
3517:
3511:
3510:
3508:
3506:
3495:
3489:
3488:
3481:
3475:
3474:
3463:
3457:
3456:
3449:
3443:
3442:
3423:
3417:
3395:
3389:
3388:
3386:
3384:
3373:
3360:
3357:
3340:
3334:
3333:
3314:
3305:
3304:
3302:
3300:
3291:
3283:
3277:
3274:
3246:
3240:
3237:
3220:
3214:
3213:
3203:
3201:
3191:Knuth, Donald E.
3187:
3178:
3175:
3158:
3152:
3151:
3149:
3147:
3138:
3130:
3124:
3107:Sir Walter Scott
3102:
3096:
3093:
3076:
3070:
3069:
3049:
3043:
3042:
3040:
3038:
3032:
3025:
3007:
2998:
2992:
2991:
2989:
2987:
2982:
2958:
2950:Knuth, Donald E.
2947:
2941:
2935:
2929:
2923:
2916:
2837:
2835:
2834:
2829:
2827:
2781:
2710:
2694:
2690:
2687:
2684:
2681:
2678:
2675:
2672:
2669:
2666:
2663:
2660:
2657:
2654:
2651:
2648:
2645:
2642:
2639:
2636:
2633:
2630:
2627:
2624:
2621:
2618:
2615:
2612:
2609:
2606:
2603:
2600:
2597:
2594:
2591:
2588:
2585:
2581:
2578:
2575:
2572:
2569:
2566:
2563:
2559:
2556:
2549:
2545:
2541:
2530:
2526:
2523:
2520:
2517:
2514:
2511:
2508:
2505:
2502:
2499:
2496:
2493:
2490:
2487:
2484:
2481:
2478:
2475:
2472:
2469:
2466:
2463:
2459:
2456:
2453:
2444:
2440:
2317:standard library
2059:reStructuredText
1802:
1794:Jupyter Notebook
1717:IPython Notebook
1713:Jupyter Notebook
1669:Wolfram Language
1662:Wolfram Language
1651:
1649:
1647:
1632:Maple worksheets
1616:Maple (software)
1611:Maple worksheets
1468:ReStructuredText
1217:Markup language
1205:
1163:TeX: The program
1118:
1105:
1104:
1099:
1098:
1095:
1092:
1089:
1086:
1077:
1073:
1069:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
983:
980:
977:
974:
971:
968:
965:
962:
959:
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
920:
917:
914:
911:
908:
905:
902:
899:
896:
893:
890:
887:
884:
881:
878:
875:
872:
869:
866:
863:
860:
857:
854:
851:
848:
845:
842:
839:
836:
833:
830:
827:
824:
821:
818:
815:
812:
809:
806:
803:
800:
797:
794:
791:
788:
785:
782:
779:
776:
773:
770:
767:
764:
761:
758:
755:
752:
749:
746:
743:
740:
737:
734:
731:
728:
725:
722:
719:
716:
713:
710:
707:
704:
701:
698:
695:
692:
689:
682:
678:
674:
670:
662:Program as a web
653:
650:
647:
644:
641:
638:
635:
632:
629:
626:
623:
620:
617:
614:
611:
608:
605:
602:
599:
596:
593:
590:
587:
584:
581:
578:
575:
572:
569:
566:
563:
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
530:
527:
524:
521:
518:
515:
512:
509:
506:
503:
500:
497:
494:
491:
488:
485:
482:
479:
476:
473:
470:
467:
464:
461:
458:
455:
452:
449:
446:
443:
440:
437:
434:
431:
428:
425:
422:
419:
416:
413:
410:
407:
404:
401:
398:
395:
392:
389:
386:
383:
380:
377:
374:
371:
368:
365:
362:
359:
356:
353:
350:
347:
344:
341:
338:
335:
332:
329:
326:
323:
320:
313:
308:
304:
300:
295:
271:
176:computer science
153:, especially in
96:natural language
63:and traditional
53:natural language
49:computer program
5226:
5225:
5221:
5220:
5219:
5217:
5216:
5215:
5191:
5190:
5189:
5184:
5165:Man or boy test
5133:
5079:
5056:
5047:Computer Modern
5028:
4993:
4974:Surreal Numbers
4933:
4928:
4898:
4893:
4835:
4828:
4719:Metaprogramming
4713:
4629:
4624:
4611:
4593:Graph rewriting
4431:
4407:Inductive logic
4387:Abductive logic
4373:
4330:
4293:Dependent types
4241:
4220:
4192:Prototype-based
4172:
4170:Object-oriented
4164:
4160:Nested function
4155:Invariant-based
4097:
4087:
4037:
4032:
4021:10.1.1.537.6728
4007:
3998:
3979:
3974:
3961:
3954:
3946:. McGraw Hill.
3941:
3935:
3915:
3909:
3894:
3890:
3888:Further reading
3885:
3875:
3873:
3860:
3859:
3855:
3845:
3843:
3833:
3832:
3828:
3822:listings manual
3819:
3815:
3805:
3803:
3798:
3797:
3793:
3779:
3778:
3774:
3762:
3757:
3756:
3752:
3745:
3730:
3729:
3725:
3715:
3713:
3710:
3705:
3704:
3700:
3690:
3688:
3676:
3671:
3670:
3666:
3639:
3638:
3631:
3621:
3619:
3618:on May 24, 2017
3606:
3605:
3601:
3591:
3589:
3583:"Literate Agda"
3581:
3580:
3576:
3566:
3564:
3556:
3555:
3551:
3541:
3539:
3531:
3530:
3526:
3518:
3514:
3504:
3502:
3497:
3496:
3492:
3483:
3482:
3478:
3465:
3464:
3460:
3451:
3450:
3446:
3425:
3424:
3420:
3414:Wayback Machine
3407:Knuth's website
3396:
3392:
3382:
3380:
3375:
3374:
3363:
3358:
3351:Donald E. Knuth
3349:
3341:
3337:
3316:
3315:
3308:
3298:
3296:
3289:
3285:
3284:
3280:
3275:
3268:Donald E. Knuth
3266:
3247:
3243:
3238:
3231:Donald E. Knuth
3229:
3221:
3217:
3199:
3197:
3189:
3188:
3181:
3176:
3169:Donald E. Knuth
3167:
3159:
3155:
3145:
3143:
3136:
3132:
3131:
3127:
3103:
3099:
3094:
3087:Donald E. Knuth
3085:
3077:
3073:
3051:
3050:
3046:
3036:
3034:
3030:
3005:
3000:
2999:
2995:
2985:
2983:
2956:
2948:
2942:
2936:
2930:
2924:
2918:
2917:
2908:
2904:
2869:
2864:
2838:
2825:
2824:
2779:
2778:
2702:
2701:
2696:
2695:
2692:
2688:
2685:
2682:
2679:
2676:
2673:
2670:
2667:
2664:
2661:
2658:
2655:
2652:
2649:
2646:
2643:
2640:
2637:
2634:
2631:
2628:
2625:
2622:
2619:
2616:
2613:
2610:
2607:
2604:
2601:
2598:
2595:
2592:
2589:
2586:
2583:
2579:
2576:
2573:
2571:\endlstlistings
2570:
2567:
2564:
2561:
2557:
2555:\newenvironment
2554:
2547:
2543:
2539:
2533:
2532:
2531:here more text
2528:
2524:
2521:
2518:
2515:
2512:
2509:
2506:
2503:
2500:
2497:
2494:
2491:
2488:
2485:
2482:
2479:
2476:
2473:
2470:
2467:
2464:
2461:
2457:
2454:
2451:
2442:
2438:
2423:Leo text editor
2256:web application
1800:
1705:Markup language
1645:
1643:
1635:
1191:documentation.
1147:
1134:
1116:
1112:
1107:
1102:
1096:
1093:
1090:
1087:
1084:
1075:
1071:
1067:
1064:
1051:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
939:
936:
933:
930:
927:
924:
921:
918:
915:
912:
909:
906:
903:
900:
897:
894:
891:
888:
885:
882:
879:
876:
873:
870:
867:
864:
861:
858:
855:
852:
849:
846:
843:
840:
837:
834:
831:
828:
825:
822:
819:
816:
813:
810:
807:
804:
801:
798:
795:
792:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
759:
756:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
693:
690:
687:
680:
676:
672:
668:
664:
655:
654:
651:
649:<stdio.h>
648:
645:
642:
639:
636:
633:
630:
627:
624:
621:
618:
615:
612:
609:
606:
603:
600:
597:
594:
591:
588:
585:
582:
579:
576:
573:
570:
567:
564:
561:
558:
555:
552:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
516:
513:
510:
507:
504:
501:
498:
495:
492:
489:
486:
483:
480:
477:
474:
471:
468:
465:
462:
459:
456:
453:
450:
447:
444:
441:
438:
435:
432:
429:
426:
423:
420:
417:
414:
411:
408:
405:
402:
399:
396:
393:
390:
387:
384:
381:
378:
375:
372:
369:
366:
363:
360:
357:
354:
351:
348:
345:
342:
339:
336:
333:
330:
327:
324:
321:
318:
311:
306:
302:
298:
293:
290:
267:
261:
242:
212:
196:
163:
131:
17:
12:
11:
5:
5224:
5222:
5214:
5213:
5208:
5203:
5193:
5192:
5186:
5185:
5183:
5182:
5177:
5172:
5167:
5162:
5157:
5152:
5147:
5141:
5139:
5135:
5134:
5132:
5131:
5126:
5120:
5115:
5110:
5105:
5100:
5095:
5089:
5087:
5081:
5080:
5078:
5077:
5072:
5066:
5064:
5058:
5057:
5055:
5054:
5052:Concrete Roman
5049:
5044:
5038:
5036:
5030:
5029:
5027:
5026:
5020:
5014:
5009:
5003:
5001:
4995:
4994:
4992:
4991:
4984:
4977:
4970:
4963:
4956:
4949:
4941:
4939:
4935:
4934:
4929:
4927:
4926:
4919:
4912:
4904:
4895:
4894:
4892:
4891:
4886:
4881:
4876:
4871:
4866:
4861:
4856:
4851:
4846:
4840:
4838:
4830:
4829:
4827:
4826:
4821:
4816:
4811:
4806:
4784:
4779:
4774:
4764:
4759:
4754:
4749:
4744:
4739:
4729:
4723:
4721:
4715:
4714:
4712:
4711:
4706:
4701:
4696:
4691:
4686:
4681:
4676:
4671:
4666:
4661:
4651:
4646:
4641:
4635:
4633:
4617:
4616:
4613:
4612:
4610:
4609:
4604:
4589:Transformation
4586:
4581:
4576:
4571:
4566:
4561:
4556:
4551:
4546:
4541:
4536:
4527:
4522:
4517:
4512:
4507:
4502:
4497:
4492:
4487:
4482:
4477:
4475:Differentiable
4472:
4462:
4455:Automata-based
4452:
4447:
4441:
4439:
4433:
4432:
4430:
4429:
4424:
4419:
4414:
4409:
4404:
4394:
4389:
4383:
4381:
4375:
4374:
4372:
4371:
4366:
4361:
4356:
4346:
4340:
4338:
4332:
4331:
4329:
4328:
4322:Function-level
4319:
4310:
4305:
4300:
4295:
4290:
4285:
4280:
4275:
4270:
4265:
4255:
4249:
4247:
4232:
4226:
4225:
4222:
4221:
4219:
4218:
4213:
4208:
4203:
4198:
4184:
4182:
4166:
4165:
4163:
4162:
4157:
4152:
4147:
4142:
4137:
4135:Non-structured
4132:
4127:
4122:
4116:
4114:
4105:
4099:
4098:
4088:
4086:
4085:
4078:
4071:
4063:
4057:
4056:
4047:
4036:
4035:External links
4033:
4031:
4030:
4005:
3999:Mall, Daniel.
3996:
3972:
3959:
3952:
3939:
3933:
3913:
3907:
3891:
3889:
3886:
3884:
3883:
3853:
3826:
3813:
3791:
3772:
3750:
3743:
3723:
3698:
3664:
3629:
3599:
3574:
3549:
3524:
3512:
3490:
3476:
3458:
3444:
3418:
3390:
3361:
3347:
3335:
3306:
3278:
3264:
3241:
3227:
3215:
3179:
3165:
3153:
3125:
3097:
3083:
3071:
3044:
2993:
2905:
2903:
2900:
2899:
2898:
2892:
2882:
2876:
2868:
2865:
2863:
2862:
2847:
2840:
2823:
2820:
2817:
2814:
2811:
2808:
2805:
2802:
2799:
2796:
2793:
2790:
2787:
2784:
2782:
2780:
2777:
2774:
2771:
2768:
2765:
2762:
2759:
2756:
2753:
2750:
2747:
2744:
2741:
2738:
2735:
2732:
2729:
2726:
2723:
2720:
2717:
2714:
2711:
2709:
2700:
2553:
2450:
2431:
2418:
2412:
2411:
2409:
2406:
2403:
2398:
2393:
2376:
2370:
2369:
2358:
2356:
2354:
2349:
2344:
2335:
2329:
2328:
2305:
2303:
2301:
2288:
2279:
2274:
2268:
2267:
2252:
2250:
2248:
2239:
2230:
2225:
2219:
2218:
2215:
2213:
2210:
2201:
2192:
2175:
2169:
2168:
2166:
2163:
2160:
2155:
2153:
2148:
2142:
2141:
2139:
2137:
2134:
2129:
2127:
2122:
2116:
2115:
2112:
2109:
2104:
2099:
2074:
2068:
2067:
2065:
2063:
2061:
2032:
2030:
2025:
2019:
2018:
2016:
2014:
2012:
2007:
2005:
2000:
1994:
1993:
1991:
1988:
1985:
1971:Microsoft Word
1964:
1962:
1961:and Observable
1948:
1942:
1941:
1939:
1936:
1933:
1919:Microsoft Word
1912:
1910:
1893:
1886:
1885:
1874:
1872:
1870:
1868:
1866:
1864:
1858:
1857:
1854:
1852:
1850:
1848:
1846:
1844:
1838:
1837:
1834:
1831:
1821:
1819:
1817:
1815:
1809:
1808:
1806:
1804:
1798:
1796:
1787:
1781:
1780:
1778:
1775:
1772:
1766:
1761:
1759:Many Languages
1756:
1746:
1745:
1742:
1739:
1736:
1727:
1725:
1719:
1709:
1708:
1701:
1699:
1697:
1695:
1693:
1688:
1682:
1681:
1675:
1673:
1671:
1666:
1664:
1659:
1653:
1652:
1629:
1627:
1625:
1620:
1618:
1613:
1607:
1606:
1596:
1594:
1592:
1587:
1578:
1573:
1567:
1566:
1558:
1556:
1554:
1549:
1544:
1541:
1532:
1531:
1527:
1525:
1523:
1521:
1516:
1514:
1510:
1509:
1506:
1504:
1502:
1497:
1492:
1489:
1483:
1482:
1475:
1473:
1470:
1465:
1460:
1457:
1451:
1450:
1443:
1441:
1439:
1434:
1429:
1426:
1420:
1419:
1416:
1414:
1411:
1402:
1397:
1394:
1388:
1387:
1380:
1377:
1374:
1369:
1364:
1361:
1355:
1354:
1351:
1348:
1345:
1328:
1315:
1312:
1306:
1305:
1290:
1287:
1284:
1279:
1274:
1265:
1259:
1258:
1255:
1252:
1249:
1244:
1239:
1234:
1228:
1227:
1224:
1221:
1218:
1215:
1212:
1209:
1146:
1143:
1142:
1141:
1133:
1130:
1111:
1108:
1094:tot_line_count
1088:tot_word_count
1063:
1060:
686:
663:
660:
317:
289:
286:
260:
257:
253:
252:
249:
241:
238:
211:
208:
195:
192:
162:
159:
130:
127:
79:routinely for
15:
13:
10:
9:
6:
4:
3:
2:
5223:
5212:
5209:
5207:
5204:
5202:
5199:
5198:
5196:
5181:
5178:
5176:
5173:
5171:
5168:
5166:
5163:
5161:
5158:
5156:
5153:
5151:
5148:
5146:
5145:Dancing Links
5143:
5142:
5140:
5136:
5130:
5127:
5125:
5121:
5119:
5116:
5114:
5111:
5109:
5108:Knuth shuffle
5106:
5104:
5101:
5099:
5096:
5094:
5091:
5090:
5088:
5086:
5082:
5076:
5073:
5071:
5068:
5067:
5065:
5063:
5059:
5053:
5050:
5048:
5045:
5043:
5040:
5039:
5037:
5035:
5031:
5024:
5021:
5019:
5015:
5013:
5010:
5008:
5005:
5004:
5002:
5000:
4996:
4990:
4989:
4985:
4983:
4982:
4978:
4976:
4975:
4971:
4969:
4968:
4964:
4962:
4961:
4957:
4954:
4950:
4948:
4947:
4943:
4942:
4940:
4936:
4932:
4925:
4920:
4918:
4913:
4911:
4906:
4905:
4902:
4890:
4887:
4885:
4882:
4880:
4877:
4875:
4872:
4870:
4867:
4865:
4862:
4860:
4859:Data-oriented
4857:
4855:
4852:
4850:
4847:
4845:
4842:
4841:
4839:
4837:
4831:
4825:
4822:
4820:
4817:
4815:
4812:
4810:
4807:
4804:
4800:
4796:
4792:
4788:
4785:
4783:
4780:
4778:
4775:
4772:
4768:
4765:
4763:
4760:
4758:
4757:Homoiconicity
4755:
4753:
4750:
4748:
4745:
4743:
4740:
4737:
4733:
4730:
4728:
4725:
4724:
4722:
4720:
4716:
4710:
4707:
4705:
4702:
4700:
4697:
4695:
4692:
4690:
4687:
4685:
4682:
4680:
4677:
4675:
4672:
4670:
4667:
4665:
4664:Concurrent OO
4662:
4659:
4655:
4652:
4650:
4647:
4645:
4642:
4640:
4637:
4636:
4634:
4632:
4627:
4622:
4618:
4608:
4605:
4602:
4598:
4594:
4590:
4587:
4585:
4582:
4580:
4577:
4575:
4572:
4570:
4567:
4565:
4562:
4560:
4559:Set-theoretic
4557:
4555:
4552:
4550:
4547:
4545:
4542:
4540:
4539:Probabilistic
4537:
4535:
4531:
4528:
4526:
4523:
4521:
4518:
4516:
4513:
4511:
4508:
4506:
4503:
4501:
4498:
4496:
4493:
4491:
4488:
4486:
4483:
4481:
4478:
4476:
4473:
4470:
4466:
4463:
4460:
4456:
4453:
4451:
4448:
4446:
4443:
4442:
4440:
4438:
4434:
4428:
4425:
4423:
4420:
4418:
4415:
4413:
4410:
4408:
4405:
4402:
4398:
4395:
4393:
4390:
4388:
4385:
4384:
4382:
4380:
4376:
4370:
4367:
4365:
4362:
4360:
4357:
4354:
4350:
4347:
4345:
4342:
4341:
4339:
4337:
4333:
4327:
4323:
4320:
4318:
4317:Concatenative
4314:
4311:
4309:
4306:
4304:
4301:
4299:
4296:
4294:
4291:
4289:
4286:
4284:
4281:
4279:
4276:
4274:
4271:
4269:
4266:
4263:
4259:
4256:
4254:
4251:
4250:
4248:
4245:
4240:
4236:
4233:
4231:
4227:
4217:
4214:
4212:
4209:
4207:
4204:
4202:
4199:
4197:
4193:
4189:
4186:
4185:
4183:
4180:
4176:
4171:
4167:
4161:
4158:
4156:
4153:
4151:
4148:
4146:
4143:
4141:
4138:
4136:
4133:
4131:
4128:
4126:
4123:
4121:
4118:
4117:
4115:
4113:
4109:
4106:
4104:
4100:
4095:
4091:
4084:
4079:
4077:
4072:
4070:
4065:
4064:
4061:
4055:
4051:
4048:
4046:
4042:
4039:
4038:
4034:
4027:
4022:
4017:
4013:
4012:
4006:
4002:
3997:
3993:
3989:
3985:
3978:
3973:
3969:
3965:
3960:
3955:
3953:0-07-911616-7
3949:
3945:
3940:
3936:
3930:
3926:
3922:
3918:
3914:
3910:
3908:0-442-31946-0
3904:
3899:
3893:
3892:
3887:
3871:
3867:
3863:
3857:
3854:
3841:
3837:
3830:
3827:
3823:
3817:
3814:
3802:
3795:
3792:
3787:
3783:
3776:
3773:
3768:
3761:
3754:
3751:
3746:
3744:9781498716963
3740:
3736:
3735:
3727:
3724:
3709:
3702:
3699:
3686:
3682:
3675:
3668:
3665:
3661:
3657:
3653:
3649:
3648:
3643:
3636:
3634:
3630:
3617:
3613:
3609:
3603:
3600:
3588:
3584:
3578:
3575:
3563:
3559:
3553:
3550:
3538:
3534:
3528:
3525:
3521:
3516:
3513:
3501:
3494:
3491:
3486:
3480:
3477:
3472:
3468:
3462:
3459:
3454:
3448:
3445:
3440:
3436:
3432:
3428:
3422:
3419:
3415:
3411:
3408:
3404:
3400:
3394:
3391:
3379:
3372:
3370:
3368:
3366:
3362:
3356:
3352:
3346:
3339:
3336:
3331:
3327:
3323:
3319:
3313:
3311:
3307:
3295:
3288:
3282:
3279:
3273:
3269:
3263:
3261:
3259:
3253:
3245:
3242:
3236:
3232:
3226:
3219:
3216:
3212:
3209:
3196:
3192:
3186:
3184:
3180:
3174:
3170:
3164:
3157:
3154:
3142:
3135:
3129:
3126:
3122:
3118:
3114:
3113:
3108:
3101:
3098:
3092:
3088:
3082:
3075:
3072:
3067:
3063:
3059:
3055:
3048:
3045:
3029:
3024:
3019:
3015:
3011:
3004:
2997:
2994:
2981:
2976:
2972:
2968:
2964:
2963:
2955:
2951:
2946:
2945:
2940:
2939:
2934:
2933:
2928:
2927:
2922:
2921:
2915:
2913:
2911:
2907:
2901:
2896:
2893:
2890:
2886:
2883:
2880:
2877:
2874:
2871:
2870:
2866:
2860:
2856:
2852:
2848:
2845:
2841:
2818:
2815:
2809:
2806:
2803:
2797:
2794:
2791:
2788:
2783:
2772:
2766:
2754:
2748:
2736:
2730:
2724:
2721:
2718:
2715:
2712:
2699:
2551:
2536:
2448:
2436:
2432:
2428:
2424:
2420:
2419:
2417:
2410:
2407:
2404:
2402:
2399:
2397:
2394:
2392:
2388:
2384:
2380:
2377:
2375:
2372:
2371:
2367:
2363:
2359:
2357:
2355:
2353:
2350:
2348:
2345:
2343:
2339:
2336:
2334:
2331:
2330:
2326:
2322:
2318:
2314:
2310:
2306:
2304:
2302:
2300:
2296:
2292:
2289:
2287:
2283:
2280:
2278:
2275:
2273:
2270:
2269:
2265:
2261:
2257:
2253:
2251:
2249:
2247:
2243:
2240:
2238:
2234:
2231:
2229:
2226:
2224:
2221:
2220:
2216:
2214:
2211:
2209:
2205:
2202:
2200:
2196:
2193:
2191:
2187:
2183:
2179:
2176:
2174:
2171:
2170:
2167:
2164:
2161:
2159:
2156:
2154:
2152:
2149:
2147:
2144:
2143:
2140:
2138:
2135:
2133:
2130:
2128:
2126:
2123:
2121:
2118:
2117:
2113:
2110:
2108:
2105:
2103:
2100:
2098:
2094:
2090:
2086:
2082:
2078:
2075:
2073:
2070:
2069:
2066:
2064:
2062:
2060:
2056:
2052:
2048:
2044:
2040:
2036:
2033:
2031:
2029:
2026:
2024:
2021:
2020:
2017:
2015:
2013:
2011:
2008:
2006:
2004:
2001:
1999:
1996:
1995:
1992:
1989:
1986:
1984:
1980:
1976:
1972:
1968:
1965:
1963:
1960:
1956:
1952:
1949:
1947:
1944:
1943:
1940:
1937:
1934:
1932:
1928:
1924:
1920:
1916:
1913:
1911:
1909:
1905:
1901:
1897:
1894:
1891:
1888:
1887:
1883:
1879:
1875:
1873:
1871:
1869:
1867:
1865:
1863:
1860:
1859:
1855:
1853:
1851:
1849:
1847:
1845:
1843:
1840:
1839:
1835:
1832:
1829:
1825:
1822:
1820:
1818:
1816:
1814:
1811:
1810:
1807:
1805:
1799:
1797:
1795:
1791:
1788:
1786:
1783:
1782:
1779:
1776:
1773:
1770:
1767:
1765:
1762:
1760:
1757:
1755:
1751:
1748:
1747:
1743:
1740:
1737:
1735:
1731:
1728:
1726:
1723:
1720:
1718:
1714:
1711:
1710:
1706:
1702:
1700:
1698:
1696:
1694:
1692:
1689:
1687:
1684:
1683:
1679:
1676:
1674:
1672:
1670:
1667:
1665:
1663:
1660:
1658:
1655:
1654:
1642:
1641:MapleSoft.com
1638:
1633:
1630:
1628:
1626:
1624:
1621:
1619:
1617:
1614:
1612:
1609:
1608:
1604:
1600:
1597:
1595:
1593:
1591:
1588:
1586:
1582:
1579:
1577:
1574:
1572:
1569:
1568:
1564:
1559:
1557:
1555:
1553:
1550:
1548:
1545:
1542:
1540:
1537:
1534:
1533:
1528:
1526:
1524:
1522:
1520:
1517:
1515:
1512:
1511:
1507:
1505:
1503:
1501:
1498:
1496:
1493:
1490:
1488:
1485:
1484:
1480:
1476:
1474:
1471:
1469:
1466:
1464:
1461:
1458:
1456:
1453:
1452:
1448:
1444:
1442:
1440:
1438:
1435:
1433:
1430:
1427:
1425:
1422:
1421:
1417:
1415:
1412:
1410:
1406:
1403:
1401:
1398:
1395:
1393:
1390:
1389:
1385:
1381:
1378:
1375:
1373:
1370:
1368:
1365:
1362:
1360:
1357:
1356:
1352:
1349:
1346:
1344:
1340:
1336:
1332:
1329:
1327:
1323:
1319:
1316:
1313:
1311:
1308:
1307:
1303:
1299:
1295:
1291:
1288:
1285:
1283:
1280:
1278:
1275:
1273:
1269:
1266:
1264:
1261:
1260:
1256:
1253:
1250:
1248:
1245:
1243:
1240:
1238:
1235:
1233:
1230:
1229:
1225:
1222:
1219:
1216:
1213:
1210:
1207:
1206:
1203:
1201:
1197:
1192:
1190:
1186:
1182:
1178:
1174:
1170:
1169:
1164:
1160:
1156:
1152:
1144:
1139:
1136:
1135:
1131:
1129:
1127:
1123:
1109:
1079:
1061:
1059:
1057:
684:
661:
659:
315:
287:
285:
283:
279:
275:
270:
266:
258:
256:
250:
247:
246:
245:
239:
237:
234:
231:
227:
224:
219:
217:
209:
207:
204:
202:
193:
191:
188:
183:
181:
180:meta-language
177:
173:
169:
160:
158:
156:
152:
148:
144:
140:
136:
128:
126:
124:
120:
116:
115:documentation
111:
109:
105:
101:
97:
93:
88:
86:
82:
78:
74:
70:
67:, from which
66:
62:
58:
54:
50:
46:
42:
38:
31:
27:
23:
19:
5061:
4986:
4979:
4972:
4965:
4958:
4944:
4938:Publications
4931:Donald Knuth
4878:
4864:Event-driven
4268:Higher-order
4196:Object-based
4026:the original
4014:. XML 2002.
4010:
3983:
3943:
3920:
3874:. Retrieved
3870:the original
3865:
3856:
3844:. Retrieved
3840:the original
3829:
3816:
3804:. Retrieved
3794:
3784:– via
3775:
3765:– via
3758:Xie, Yihui.
3753:
3733:
3726:
3714:. Retrieved
3701:
3689:. Retrieved
3684:
3680:
3667:
3646:
3620:. Retrieved
3616:the original
3612:Eve Handbook
3611:
3602:
3590:. Retrieved
3586:
3577:
3567:November 15,
3565:. Retrieved
3561:
3552:
3542:November 28,
3540:. Retrieved
3536:
3527:
3515:
3505:November 13,
3503:. Retrieved
3493:
3479:
3470:
3461:
3447:
3421:
3398:
3393:
3381:. Retrieved
3354:
3343:
3338:
3325:
3297:. Retrieved
3293:
3281:
3271:
3257:
3255:
3251:
3249:
3244:
3234:
3223:
3218:
3205:
3198:. Retrieved
3172:
3161:
3156:
3144:. Retrieved
3140:
3128:
3120:
3110:
3100:
3090:
3079:
3074:
3053:
3047:
3035:. Retrieved
3013:
3009:
2996:
2984:. Retrieved
2966:
2960:
2944:
2938:
2932:
2926:
2920:
2697:
2565:\lstlistings
2537:
2534:
2446:
2426:
2415:
2309:out-of-order
2308:
1983:HTML widgets
1931:HTML widgets
1771:in comments
1644:. Retrieved
1640:
1599:CoffeeScript
1581:CoffeeScript
1576:CoffeeScript
1571:CoffeeScript
1384:literate.vim
1296:adapted for
1193:
1166:
1162:
1148:
1113:
1065:
1055:
1052:
1018:'\t'
976:'\n'
665:
656:
415:explanations
291:
277:
262:
254:
243:
220:
213:
205:
197:
187:preprocessor
184:
179:
164:
155:data science
141:and digital
132:
112:
89:
77:data science
45:Donald Knuth
36:
35:
30:Donald Knuth
25:
18:
5155:Knuth Prize
4874:Intentional
4854:Data-driven
4836:of concerns
4795:Inferential
4782:Multi-stage
4762:Interactive
4639:Actor-based
4626:distributed
4569:Stack-based
4369:Synchronous
4326:Value-level
4313:Applicative
4230:Declarative
4188:Class-based
4045:WikiWikiWeb
3716:January 22,
3691:January 22,
3640:Yihui Xie;
3537:Wolfram.com
3471:OrgMode.org
3299:December 7,
1975:LibreOffice
1923:LibreOffice
1752:plugin for
1715:, formerly
1686:Playgrounds
1214:Written in
1175:. The free
1006:' '
889:' '
586:definitions
517:Definitions
104:source code
92:programmers
85:open access
65:source code
47:in which a
5195:Categories
5085:Algorithms
4849:Components
4834:Separation
4809:Reflective
4803:by example
4747:Extensible
4621:Concurrent
4597:Production
4584:Templating
4564:Simulation
4549:Scientific
4469:Spacecraft
4397:Constraint
4392:Answer set
4344:Flow-based
4244:comparison
4239:Functional
4211:Persistent
4175:comparison
4140:Procedural
4112:Structured
4103:Imperative
3876:August 23,
3846:January 1,
3687:(3): 28–31
3433:(Report).
3383:January 4,
3200:January 4,
2986:January 4,
2973:: 97–111.
2902:References
2544:lstlisting
2538:The LaTeX
2396:JavaScript
2391:TypeScript
2387:JavaScript
2347:JavaScript
2342:TypeScript
2338:JavaScript
2321:JavaScript
2286:TypeScript
2282:JavaScript
2277:JavaScript
2272:Observable
2237:TypeScript
1979:slide show
1927:slide show
1890:R Markdown
1585:JavaScript
1552:Plain text
1547:Emacs Lisp
1009:&&
982:line_count
931:word_count
892:&&
361:characters
194:Advantages
172:pseudocode
168:algorithms
143:typography
139:algorithms
69:compilable
5042:AMS Euler
4736:Inductive
4732:Automatic
4554:Scripting
4253:Recursive
4016:CiteSeerX
3866:TEI-C.org
3660:Q76441281
3592:March 26,
3587:Agda Wiki
2795:
2773:γ
2770:→
2767:α
2761:→
2755:β
2752:→
2749:α
2743:→
2737:γ
2734:→
2731:β
2427:outlining
2072:Codebraid
1392:FunnelWeb
1226:Comments
799:>>=
754:character
643:>>=
607:formatted
538:Functions
529:variables
98:in which
5012:Metafont
4999:Software
4889:Subjects
4879:Literate
4869:Features
4824:Template
4819:Symbolic
4791:Bayesian
4771:Hygienic
4631:parallel
4510:Modeling
4505:Low-code
4480:End-user
4417:Ontology
4349:Reactive
4336:Dataflow
3919:(1992).
3806:April 3,
3656:Wikidata
3410:Archived
3348:—
3330:Archived
3326:Perl.com
3265:—
3228:—
3166:—
3084:—
3028:Archived
2952:(1984).
2867:See also
2844:Algol 68
2540:listings
2401:Markdown
2366:browsers
2360:Enables
2352:Markdown
2190:Inform 7
2186:Inform 6
2158:Markdown
2107:Markdown
2055:AsciiDoc
2051:Markdown
1882:Markdown
1828:reactive
1824:Pluto.jl
1769:Markdown
1750:Jupytext
1603:Markdown
1590:Markdown
1539:org-mode
1372:Markdown
1359:Literate
1202:tools.
1024:continue
955:continue
856:>>
817:<<
790:<<
730:simplest
718:actually
709:counting
646:#include
628:<<
574:standard
556:>>
544:<<
541:>>
535:<<
532:>>
523:<<
520:>>
514:<<
511:>>
496:<<
439:overview
406:........
240:Workflow
57:snippets
5175:-yllion
5016:MIXAL (
4844:Aspects
4752:Generic
4742:Dynamic
4601:Pattern
4579:Tactile
4544:Quantum
4534:filters
4465:Command
4364:Streams
4359:Signals
4130:Modular
3622:May 25,
3146:June 3,
3112:Marmion
3037:May 30,
2435:Haskell
2362:Node.js
2333:Ganesha
2223:Mercury
1878:Datalog
1754:Jupyter
1646:May 30,
1030:in_word
940:in_word
922:in_word
691:present
640:include
568:include
553:program
508:include
478:program
466:defined
322:purpose
259:Example
233:Javadoc
161:Concept
75:and in
4607:Visual
4574:System
4459:Action
4283:Strict
4018:
3950:
3931:
3905:
3786:GitHub
3767:GitHub
3741:
3681:R News
3658:
3439:GitHub
3405:or on
3399:ADVENT
2885:Sweave
2577:\begin
2455:\begin
2425:is an
2233:Python
2228:Python
2151:MATLAB
2125:Python
2120:Pweave
2102:Python
2089:Python
2077:Pandoc
2057:, and
1998:Sweave
1955:Python
1946:Quarto
1900:Python
1790:Python
1764:Python
1722:Python
1513:Codnar
1479:Python
1463:Python
1324:, and
1242:Pascal
1237:Pascal
1159:Pascal
823:buffer
772:begins
760:change
631:Header
622:stderr
616:stdout
610:output
526:Global
499:Header
385:number
100:macros
61:macros
5138:Other
5034:Fonts
4884:Roles
4767:Macro
4530:Pipes
4450:Array
4427:Query
4379:Logic
4288:GADTs
4278:Total
4201:Agent
3980:(PDF)
3763:(PDF)
3711:(PDF)
3677:(PDF)
3290:(PDF)
3137:(PDF)
3031:(PDF)
3016:(3).
3006:(PDF)
2969:(2).
2957:(PDF)
2889:Knitr
2638:gamma
2635:->
2632:alpha
2626:->
2617:->
2614:alpha
2608:->
2602:gamma
2599:->
2295:KaTeX
2246:ipynb
2212:Yes?
2173:Inweb
2085:Julia
2035:LaTeX
2023:Knitr
1959:Julia
1904:Julia
1826:is a
1801:nbdev
1785:nbdev
1734:ipynb
1563:noweb
1536:Emacs
1487:Molly
1455:pyWeb
1447:noweb
1437:LaTeX
1424:NuWEB
1413:Yes?
1343:troff
1331:LaTeX
1310:NoWEB
1208:Name
1138:Axiom
1124:game
841:break
835:empty
802:while
763:state
736:write
700:which
694:chunk
673:while
634:files
592:since
502:files
475:noweb
391:lines
376:files
346:words
340:lines
337:count
282:noweb
108:essay
39:is a
5075:CWEB
5023:MMIX
4532:and
4179:list
4054:CTAN
3948:ISBN
3929:ISBN
3903:ISBN
3878:2018
3848:2013
3820:See
3808:2015
3739:ISBN
3718:2012
3693:2012
3624:2017
3594:2017
3569:2015
3544:2018
3507:2014
3385:2009
3301:2018
3202:2009
3148:2019
3039:2020
2988:2009
2887:and
2792:comp
2691:code
2686:\end
2653:comp
2620:beta
2596:beta
2587:comp
2582:code
2560:code
2548:code
2527:code
2522:\end
2516:fact
2477:fact
2465:fact
2460:code
2443:.lhs
2441:and
2433:The
2421:The
2405:Yes
2374:JWEB
2299:HTML
2260:HTML
2242:JSON
2208:HTML
2199:CWEB
2165:Yes
2114:Yes
2097:Bash
2081:Rust
2047:HTML
1906:and
1880:and
1792:and
1777:Yes
1730:JSON
1648:2020
1519:Ruby
1500:HTML
1495:Perl
1472:Yes
1407:and
1405:HTML
1376:Yes
1347:Yes
1341:and
1339:HTML
1326:Icon
1300:and
1286:Yes
1270:and
1263:CWEB
1251:Yes
1183:and
1177:CWEB
1085:long
991:else
901:0177
898:<
886:>
853:file
820:Fill
796:file
793:Scan
784:word
778:ends
751:each
745:look
703:does
677:case
604:send
598:want
565:must
550:main
460:that
448:file
427:then
421:Here
412:more
400:file
370:list
274:CWEB
265:Unix
230:Java
223:Perl
83:and
5070:WEB
5018:MIX
5007:TeX
4437:DSL
4052:at
4043:at
3988:doi
3208:TeX
3062:doi
3018:doi
2975:doi
2855:TEI
2439:.hs
2408:No
2383:C++
2325:Npm
2313:DAG
2297:),
2291:TeX
2264:PDF
2262:or
2204:TeX
2182:C++
2162:No
2136:No
2132:PDF
2111:No
2043:LyX
2039:PDF
2010:PDF
1990:Yes
1987:No
1967:PDF
1938:Yes
1935:No
1915:PDF
1908:SQL
1833:Yes
1774:No
1741:Yes
1738:No
1623:XML
1543:Any
1491:Any
1459:Any
1432:C++
1428:Any
1409:TeX
1396:Any
1363:Any
1335:TeX
1322:AWK
1314:Any
1302:C++
1294:WEB
1292:Is
1282:TeX
1268:C++
1247:TeX
1232:WEB
1189:PDF
1185:C++
1155:TeX
1151:WEB
1056:web
868:ptr
847:end
757:and
727:the
721:one
715:was
706:the
688:The
675:or
619:and
571:the
547:The
472:the
445:the
382:The
352:and
319:The
228:or
201:TeX
170:in
147:WEB
110:.
59:of
28:by
5197::
4801:,
4797:,
4793:,
4599:,
4595:,
4324:,
4315:,
4194:,
4190:,
4177:,
3982:.
3966:.
3923:.
3864:.
3683:.
3679:.
3654:,
3650:,
3632:^
3610:.
3585:.
3560:.
3535:.
3469:.
3364:^
3353:,
3328:.
3324:.
3309:^
3292:.
3270:,
3233:,
3204:.
3182:^
3171:,
3139:.
3105:—
3089:,
3056:.
3026:.
3014:46
3012:.
3008:.
2967:27
2965:.
2959:.
2909:^
2725:::
2590:::
2568:}{
2562:}{
2389:,
2385:,
2381:,
2340:,
2284:,
2235:,
2206:,
2197:,
2188:,
2184:,
2180:,
2095:,
2091:,
2087:,
2083:,
2079:,
2053:,
2049:,
2045:,
2041:,
2037:,
1973:,
1969:,
1957:,
1953:,
1921:,
1917:,
1902:,
1898:,
1639:.
1583:,
1449:.
1386:)
1379:No
1350:No
1337:,
1333:,
1320:,
1304:.
1289:No
1254:No
1128:.
1117:wc
1015:!=
1003:!=
994:if
985:++
973:==
964:if
934:++
913:if
877:if
871:++
850:of
844:at
832:is
829:it
826:if
775:or
769:it
766:if
748:at
742:We
733:to
724:of
681:wc
671:,
669:if
637:to
613:to
601:to
595:we
562:We
505:to
487:nw
481:wc
469:by
463:is
451:wc
442:of
436:an
433:is
403:is
394:in
388:of
373:of
364:in
358:or
334:to
331:is
328:wc
325:of
294:wc
269:wc
185:A
157:.
5025:)
4955:"
4951:"
4923:e
4916:t
4909:v
4805:)
4789:(
4773:)
4769:(
4738:)
4734:(
4660:)
4656:(
4628:,
4623:,
4603:)
4591:(
4471:)
4467:(
4461:)
4457:(
4403:)
4399:(
4355:)
4351:(
4264:)
4260:(
4246:)
4242:(
4181:)
4173:(
4096:)
4092:(
4082:e
4075:t
4068:v
4003:.
3994:.
3990::
3970:.
3956:.
3937:.
3911:.
3880:.
3850:.
3810:.
3788:.
3769:.
3747:.
3720:.
3695:.
3685:2
3626:.
3596:.
3571:.
3546:.
3509:.
3487:.
3473:.
3455:.
3441:.
3416:.
3387:.
3303:.
3150:.
3068:.
3064::
3041:.
3020::
2990:.
2977::
2822:)
2819:x
2816:f
2813:(
2810:g
2807:=
2804:x
2801:)
2798:f
2789:g
2786:(
2776:)
2764:(
2758:)
2746:(
2740:)
2728:(
2722:p
2719:m
2716:o
2713:c
2693:}
2689:{
2683:)
2680:x
2677:f
2674:(
2671:g
2668:=
2665:x
2662:)
2659:f
2656:`
2650:`
2647:g
2644:(
2641:)
2629:(
2623:)
2611:(
2605:)
2593:(
2584:}
2580:{
2574:}
2558:{
2529:}
2525:{
2519:n
2513:*
2510:)
2507:1
2504:+
2501:n
2498:(
2495:=
2492:)
2489:1
2486:+
2483:n
2480:(
2474:1
2471:=
2468:0
2462:}
2458:{
2379:C
2293:(
2195:C
2178:C
2093:R
2028:R
2003:R
1951:R
1896:R
1650:.
1400:C
1367:D
1318:C
1298:C
1277:C
1272:C
1181:C
1106:@
1097:,
1091:,
1076:+
1048:@
1045:}
1039:;
1036:0
1033:=
1027:;
1021:)
1012:c
1000:c
997:(
988:;
979:)
970:c
967:(
961:}
958:;
952:}
949:;
946:1
943:=
937:;
928:{
925:)
919:!
916:(
907:{
904:)
895:c
883:c
880:(
874:;
865:*
862:=
859:c
838:;
814:{
811:)
808:1
805:(
787:.
781:a
739:.
712:,
697:,
652:@
625:.
589:,
583:O
580:/
577:I
559:@
490::
484:.
457:c
454:.
430:,
424:,
418:/
409:/
397:a
379:.
367:a
355:/
349:,
343:,
303:@
297:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.