5509:
145:
675:
375:
6377:
6044:
6034:
6024:
6014:
6349:
1128:
5894:
36:
612:, because they can be inferred from the operators and other functions that are applied to the variables and other values in the code. Effective use of OCaml's type system can require some sophistication on the part of a programmer, but this discipline is rewarded with reliable, high-performance software.
657:
has stated that "OCaml delivers at least 50% of the performance of a decent C compiler", although a direct comparison is impossible. Some functions in the OCaml standard library are implemented with faster algorithms than equivalent functions in the standard libraries of other languages. For example,
865:
Language improvements have been incrementally added for the last two decades to support the growing commercial and academic codebases in OCaml. The OCaml 4.0 release in 2012 added
Generalized Algebraic Data Types (GADTs) and first-class modules to increase the flexibility of the language. The OCaml
852:
for objects and classes, which was integrated within Caml
Special Light. This led to the emergence of the Objective Caml language, first released in 1996 and subsequently renamed to OCaml in 2011. This object system notably supported many prevalent object-oriented idioms in a statically type-safe
3918:
during runtime. Under some circumstances, significant speedups are possible using multistage programming, because more detailed information about the data to process is available at runtime than at the regular compile time, so the incremental compiler can optimize away many cases of condition
889:
OCaml's development continued within the
Cristal team at INRIA until 2005, when it was succeeded by the Gallium team. Subsequently, Gallium was succeeded by the Cambium team in 2019. As of 2023, there are 23 core developers of the compiler distribution from a variety of organizations and 41
615:
OCaml is perhaps most distinguished from other languages with origins in academia by its emphasis on performance. Its static type system prevents runtime type mismatches and thus obviates runtime type and safety checks that burden the performance of dynamically typed languages, while still
791:
Guy
Cousineau is quoted recalling that his experience with programming language implementation was initially very limited, and that there were multiple inadequacies for which he is responsible. Despite this, he believes that "Ascander, Pierre and Michel did quite a nice piece of work.”
658:
the implementation of set union in the OCaml standard library in theory is asymptotically faster than the equivalent function in the standard libraries of imperative languages (e.g., C++, Java) because the OCaml implementation can exploit the
3260:
Far more sophisticated, high-performance 2D and 3D graphical programs can be developed in OCaml. Thanks to the use of OpenGL and OCaml, the resulting programs can be cross-platform, compiling without any changes on many major platforms.
824:, replaced the old Caml implementation and ran on small desktop machines. In the following years, libraries such as Michel Mauny's syntax manipulation tools appeared and helped promote the use of Caml in educational and research teams.
840:. Also, Leroy designed a high-level module system inspired by the module system of Standard ML which provided powerful facilities for abstraction and parameterization and made larger-scale programs easier to build.
750:
to develop a faster implementation of ML, and Robin Milner proposed a new definition of ML to avoid divergence between various implementations. Simultaneously, Pierre-Louis Curien, a senior researcher at
2599:. As the factorial function grows very rapidly, it quickly overflows machine-precision numbers (typically 32- or 64-bits). Thus, factorial is a suitable candidate for arbitrary-precision arithmetic.
781:
785:
735:
539:
107:
1224:. This is an interactive OCaml session that prints the inferred types of resulting or defined expressions. The OCaml top-level is started by simply executing the OCaml program:
596:
languages. Also, OCaml's type-inferring compiler greatly reduces the need for the manual type annotations that are required in most statically typed languages. For example, the
5544:
731:
to simplify using LCF on different machines, and, by the 1980s, was turned into a complete system of its own. ML would eventually serve as a basis for the creation of OCaml.
948:, where object types are compatible if their method signatures are compatible, regardless of their declared inheritance (an unusual feature in statically typed languages).
883:
1114:
style, with preemptive context switching. OCaml threads in the same domain execute by time sharing only. However, an OCaml program can contain several domains.
857:. In 2000, Jacques Garrigue extended Objective Caml with multiple new features such as polymorphic methods, variants, and labeled and optional arguments.
2602:
In OCaml, the Num module (now superseded by the ZArith module) provides arbitrary-precision arithmetic and can be loaded into a running top-level using:
1573:
which denotes that the function is recursive. The function recursively iterates over the given list of integers and provides a sum of the elements. The
5350:
2123:
The following program calculates the smallest number of people in a room for whom the probability of completely unique birthdays is less than 50% (the
443:
1107:
The bytecode compiler supports operation on any 32- or 64-bit architecture when native code generation is not available, requiring only a C compiler.
6411:
679:
6456:
6446:
6081:
6451:
6426:
704:
780:. The first implementation of Caml was created in 1987 and was further developed until 1992. Though it was spearheaded by Ascánder Suárez,
651:
allocation, helping to maximize the performance of the resulting code even if it makes extensive use of functional programming constructs.
836:
compiler was added to the bytecode compiler, which greatly increased performance to comparable levels with mainstream languages such as
6436:
6365:
6038:
4284:
6401:
4373:
581:
under an ML-like type system. Thus, programmers need not be highly familiar with the pure functional language paradigm to use OCaml.
2127:, where for 1 person the probability is 365/365 (or 100%), for 2 it is 364/365, for 3 it is 364/365 × 363/365, etc.) (answer = 23).
765:(CAM). Guy Cousineau, a researcher at Paris Diderot University, recognized that this could be applied as a compiling method for ML.
6461:
6416:
5551:
1325:
The first argument to ocamlc, "hello.ml", specifies the source file to compile and the "-o hello" flag specifies the output file.
6431:
6370:
6028:
1138:
1884:
OCaml lends itself to concisely expressing recursive algorithms. The following code example implements an algorithm similar to
727:, a language that would only allow the writer to construct valid proofs with its polymorphic type system. ML was turned into a
6406:
6360:
938:
817:
1423:
This is an example of a function that either extracts an int from an option, if there is one inside, and converts it into a
975:
program in C, so that an OCaml library can be distributed to C programmers who have no knowledge or installation of OCaml.
899:
435:
6101:
6074:
5578:
5423:
5354:
2358:
times. To convert a Church numeral from a functional value to a string, we pass it a function that prepends the string
944:
OCaml is notable for extending ML-style type inference to an object system in a general-purpose language. This permits
4324:, a high-level, multi-paradigm, functional and object-oriented programming language intended for program verification.
6106:
879:
421:
268:
1196:
6111:
1168:
439:
631:
languages are, in general, challenging to compile to efficient machine language code, due to issues such as the
6380:
6312:
6185:
6067:
5856:
5709:
5617:
4248:
4228:
2596:
1153:
724:
609:
543:
344:
6421:
6355:
6333:
6287:
6260:
6235:
6195:
5629:
5397:
4581:
4484:
4244:
1175:
535:
316:
6327:
6230:
6200:
5651:
1558:
1269:
1220:
761:
547:
364:
20:
48:
6302:
6297:
6240:
6220:
5317:
4823:
4594:
firm, which adopted OCaml as its preferred language in its early days and continues to use it as of 2023.
4490:
4422:
4398:
2595:
A variety of libraries are directly accessible from OCaml. For example, OCaml has a built-in library for
1010:
854:
712:
605:
578:
458:
360:
136:
64:
5749:
4278:
832:
In 1995, Xavier Leroy released Caml
Special Light, which was an improved version of Caml. An optimizing
6245:
6141:
6124:
5985:
5844:
5695:
5606:
4478:
4438:
4335:
1272:
1182:
1039:
952:
922:
853:
way, while those same idioms caused unsoundness or required runtime checks in languages such as C++ or
648:
356:
340:
332:
5196:
6255:
6210:
5811:
5725:
5674:
5611:
5560:
5273:
4487:, a general-purpose, high-level, multi-paradigm, functional and object-oriented programming language.
4468:
4321:
1424:
1111:
720:
708:
663:
644:
589:
558:
500:
454:
348:
74:
4571:
6292:
6175:
5975:
4651:
4379:
4302:
1578:
960:
809:
752:
304:
196:
5221:
1164:
144:
6441:
6048:
5715:
5537:
4355:
3911:
1005:
910:
875:
867:
700:
640:
504:
477:
240:
926:
6161:
5850:
5129:
4865:
4493:, a general-purpose programming language emphasizing performance, type safety, and concurrency.
4294:
3236:
The LablGL bindings to OpenGL are required. The program may then be compiled to bytecode with:
628:
574:
570:
181:
56:
52:
4363:
5902:
5830:
5460:
5346:
Using functional programming within an industrial product group: perspectives and perceptions
4290:
2325:
617:
6013:
4794:
3407:
Functions may take functions as input and return functions as result. For example, applying
378:
6090:
6007:
4506:
2651:
The factorial function may then be written using the arbitrary-precision numeric operators
964:
945:
805:
743:
446:
43:
1557:
Lists are one of the fundamental datatypes in OCaml. The following code example defines a
8:
6166:
5583:
5442:
4591:
4587:
4331:
1845:
1017:
715:. Milner repeatedly ran into the issue that the theorem provers would attempt to claim a
636:
542:(Inria). In the early 2000s, elements from OCaml were adopted by many languages, notably
512:
60:
5115:
5916:
5508:
4527:
4448:
4348:
1804:
956:
930:
275:
203:
102:
5080:
A domain is a unit of parallelism in OCaml, a domain usually corresponds to a CPU core
4686:
6146:
5970:
5456:
4597:
4553:
At least several dozen companies use OCaml to some degree. Notable examples include:
4502:
1100:
1028:
256:
185:
5270:"WebAssembly/spec: WebAssembly specification, reference interpreter, and test suite"
5056:
4658:
971:. OCaml also supports creating libraries of OCaml functions that can be linked to a
5736:
5358:
3270:
2124:
1582:
1189:
1076:
982:
918:
604:
of functions usually need not be declared explicitly, as they do in languages like
531:
395:
263:
235:
224:
866:
5.0.0 release in 2022 is a complete rewrite of the language runtime, removing the
624:
are used. These are rare enough that avoiding them is quite possible in practice.
5965:
5816:
5419:
5344:
4626:
4472:
2311:
756:
719:
was valid by putting non-proofs together. As a result, he went on to develop the
516:
496:
85:
4088:
is known at runtime, a specialized and very fast power function can be created:
5980:
5922:
5824:
4567:
4557:
4534:
4308:
3949:
is known only at runtime, a two-stage power function can be used in MetaOCaml:
3923:
3278:
2315:
1149:
914:
906:
813:
674:
632:
601:
566:
508:
466:
336:
173:
94:
5928:
777:
6395:
6265:
5658:
5343:
Scott, David; Sharp, Richard; Gazagnaire, Thomas; Madhavapeddy, Anil (2010).
1708:
1241:
Code can then be entered at the "#" prompt. For example, to calculate 1+2*3:
934:
871:
739:
716:
635:. Along with standard loop, register, and instruction optimizations, OCaml's
621:
374:
177:
5461:"Improving Docker with Unikernels: Introducing HyperKit, VPNKit and DataKit"
5362:
4241:
integrates constructions for developing concurrent and distributed programs.
2825:"6689502913449127057588118054090372586752746333138029810295671352301633
6317:
6156:
5946:
5940:
5934:
5802:
5686:
5464:
4647:
4312:
3915:
963:
primitives is provided, including language support for efficient numerical
801:
696:
692:
659:
654:
462:
90:
6018:
4903:
5663:
5642:
5295:
5173:
5155:
5090:
4521:
4513:
4499:, a self-amending smart contract platform using XTZ as a native currency.
4430:
4298:
1217:
Snippets of OCaml code are most easily studied by entering them into the
902:
849:
833:
593:
585:
584:
By requiring the programmer to work within the constraints of its static
562:
488:
320:
168:
6059:
5028:
6225:
4541:
4444:
4367:
2828:
55724496298936687416527198498130815763789321409055253440858940812185989
1807:
is simply the application of the + operator, this can be shortened to:
1032:
821:
5269:
4761:
776:
was initially designed and developed by INRIA's Formel team headed by
6322:
5836:
5778:
4458:
4415:
4252:
3245:$ ocamlopt -I +lablGL lablglut.cmxa lablgl.cmxa simple.ml -o simple
2590:
1885:
1353:. This is used to express that a value might or might not be present.
1088:
1066:
597:
519:, and specific financial utilities, among other application domains.
473:
216:
1127:
1023:
The native code compiler is available for many platforms, including
5952:
5743:
5569:
5376:
5130:"3.7. Options — OCaml Programming: Correct + Efficient + Beautiful"
4928:
4736:
4665:
4577:
4517:
4464:
4454:
4359:
4338:. Several C routines have been generated by an OCaml program named
4272:
4256:
3251:$ ocamlfind opt simple.ml -package lablgl.glut -linkpkg -o simple
999:
755:, developed a calculus of categorical combinators and linked it to
728:
492:
484:
481:
312:
5524:
4781:
4561:
4481:, a free and open-source programming language for web development.
890:
developers for the broader OCaml tooling and packaging ecosystem.
6215:
6205:
5882:
5796:
5766:
5720:
5529:
5477:
4711:
4605:
4531:
4391:
4385:
3239:$ ocamlc -I +lablGL lablglut.cma lablgl.cma simple.ml -o simple
1342:
986:
968:
5438:
5342:
5318:"BuckleScript: The 1.0 release has arrived! | Tech at Bloomberg"
2831:
8481114389650005964960521256960000000000000000000000000000"
2784:
This function can compute much larger factorials, such as 120!:
540:
French
Institute for Research in Computer Science and Automation
6282:
6250:
6134:
5862:
5790:
5754:
5623:
5514:
5482:
5381:
5042:
4238:
2842:
1844:
Furthermore, one can omit the list argument by making use of a
1569:, which is supposed to be a list of integers. Note the keyword
1050:
1046:
734:
In the early 1980s, there were some developments that prompted
228:
212:
4401:
programming language compiler, created at
Facebook, extending
4382:, a dedicated system for scientific and engineering computing.
2841:
The following program renders a rotating triangle in 2D using
413:
6190:
6180:
6151:
6129:
5893:
5868:
5784:
5668:
4601:
4496:
4426:
2318:, with successor (succ) and addition (add). A Church numeral
1082:
1072:
1060:
1054:
1035:
837:
820:, for this implementation. This new implementation, known as
816:
wrote a memory management system, also known as a sequential
252:
244:
220:
208:
35:
1110:
OCaml bytecode and native code programs can be written in a
6272:
5772:
5760:
5592:
5003:
4978:
4953:
4409:
4327:
4232:
1096:
1092:
1024:
773:
450:
398:
352:
308:
248:
78:
5519:
6307:
6277:
4538:
4434:
4402:
4394:, free and open-source multi-platform genealogy software.
3914:
extension of OCaml enabling incremental compiling of new
711:, which were historically developed in languages such as
407:
3922:
As an example: if at compile time it is known that some
1069:(before OCaml 5.0.0, and due to reappear in OCaml 5.2.0)
738:'s Formel team to become interested in the ML language.
662:
of sets to reuse parts of input sets in the output (see
499:(OPAM). OCaml was initially developed in the context of
5251:
5229:
4318:
Easycrypt, a toolset for writing computer-aided proofs.
4259:, which can compile to both native code and JavaScript.
1268:
OCaml infers the type of the expression to be "int" (a
848:
Didier Rémy and Jérôme
Vouillon designed an expressive
4376:, a client server Web and mobile development framework
1302:
or compiled into an optimized native-code executable:
1002:
that supports stepping backwards to investigate errors
5502:
4509:
program to synchronize files between two directories.
620:
is turned off or when some type-unsafe features like
422:
404:
289:
5197:"Messenger.com Now 50% Converted to Reason · Reason"
2006:
Or using partial application of the >= operator.
1145:
686:
5420:"Keynote - Observations of a Functional Programmer"
5288:
3700:to indicate that it can be applied to any function
3248:or, more simply, using the ocamlfind build command
788:carried on with development after he left in 1988.
561:-derived languages are best known for their static
410:
401:
5351:International Conference on Functional Programming
2591:Arbitrary-precision factorial function (libraries)
538:project managed and principally maintained by the
511:software. Beyond these areas, it has found use in
5455:
4564:, an OCaml compiler backend targeting JavaScript.
4421:Infer, a static analyzer created at Facebook for
804:designed a new implementation of Caml based on a
678:The OCaml development team receiving an award at
6393:
680:Symposium on Principles of Programming Languages
5057:"ocaml/asmcomp at trunk · ocaml/ocaml · GitHub"
4580:, which developed Flow, Hack, Infer, Pfff, and
4600:, which uses OCaml in the desktop editions on
1345:, augments a given data type to either return
705:Laboratory for Foundations of Computer Science
6075:
5545:
5153:
5091:"OCaml - The toplevel system or REPL (ocaml)"
4824:"1.2. OCaml: Functional Programming in OCaml"
4574:(rebranded as Citrix Hypervisor during 2018).
1552:
1063:(before OCaml 5.0.0, and back in OCaml 5.1.0)
5436:
5417:
5395:
5222:"Flow: A Static Type Checker for JavaScript"
4461:programming framework written in pure OCaml.
4263:
4219:The new function is automatically compiled.
1605:(* Keyword rec means 'recursive'. *)
1296:can be compiled into a bytecode executable:
1154:introducing citations to additional sources
588:, OCaml eliminates many of the type-related
469:, Didier Rémy, Ascánder Suárez, and others.
1349:value of the given data type, or to return
6348:
6082:
6068:
5552:
5538:
5507:
5426:Commercial Uses of Functional Programming.
5029:"OCaml compiler governance and membership"
4222:
1337:type constructor in OCaml, similar to the
143:
6089:
4795:"A J Milner - A.M. Turing Award Laureate"
3402:
1038:. Portability is achieved through native
616:guaranteeing runtime safety, except when
5910:
1585:element, though it is far more general.
1144:Relevant discussion may be found on the
673:
6412:Extensible syntax programming languages
4388:, a framework for analyzing C programs.
1888:that sorts a list in increasing order.
1662:(* Recursive call if integers is a non-
768:
461:features. OCaml was created in 1996 by
6457:Statically typed programming languages
6447:Pattern matching programming languages
6394:
4929:"Release of OCaml 5.0.0 OCaml Package"
2836:
967:in formats compatible with both C and
860:
6452:Programming languages created in 1996
6427:Object-oriented programming languages
6063:
5533:
4898:
4896:
4894:
4892:
4890:
4888:
4886:
4860:
4858:
4856:
4854:
4852:
4850:
4848:
4846:
4844:
4817:
4815:
4646:
3264:
2364:to its input and the constant string
1427:, or if not, returns an empty string:
827:
759:, which led to the definition of the
528:Categorical Abstract Machine Language
5147:
5116:"OCaml - Batch compilation (Ocamlc)"
4821:
3900:
1626:(* Yield 0 if integers is the empty
1121:
707:. Milner and others were working on
5355:Association for Computing Machinery
2118:
1668:element of the list, and rest is a
878:. These changes enable support for
695:, a British computer scientist and
627:Aside from type-checking overhead,
13:
5559:
4883:
4841:
4812:
4775:
4451:for generating multimedia streams.
4235:framework language based on OCaml.
3943:is needed often, but the value of
3269:The following code calculates the
2305:
1671:list of the rest of the elements,
1283:The following program "hello.ml":
1042:support for major architectures:
476:includes an interactive top-level
14:
6473:
6437:OCaml programming language family
5494:
4687:"Influences - The Rust Reference"
978:The OCaml distribution contains:
843:
687:Development of ML (Meta Language)
6402:High-level programming languages
6376:
6375:
6347:
6043:
6042:
6033:
6032:
6023:
6022:
6012:
5892:
5396:Yaron Minsky (1 November 2011).
1137:relies largely or entirely on a
1126:
1117:
394:
373:
34:
6462:Software using the LGPL license
6417:Free compilers and interpreters
5470:
5449:
5430:
5411:
5389:
5369:
5336:
5310:
5262:
5244:
5214:
5189:
5166:
5122:
5108:
5083:
5074:
5049:
5043:"OCaml governance and projects"
5035:
5021:
4996:
4971:
4946:
4921:
4822:Clarkson, Michael; et al.
4269:Ahrefs, an SEO software product
3716:can even be applied to itself.
3708:to itself, rather than only to
3687:"Test Test Test Test"
3415:yields a function that applies
1707:Another way is to use standard
1665:empty list; first is the first
937:, and incremental generational
6432:ML programming language family
5857:Logic for Computable Functions
4787:
4754:
4729:
4704:
4679:
4640:
4619:
4520:intended for execution inside
4512:The reference interpreter for
4412:programming language compiler.
2597:arbitrary-precision arithmetic
1577:statement has similarities to
1305:$ ocamlopt hello.ml -o hello
1278:
725:Logic for Computable Functions
97:, Didier Rémy, Ascánder Suárez
1:
4866:"Prologue - Real World OCaml"
4612:
2310:The following code defines a
1233:Objective Caml version 3.09.0
927:functors (parametric modules)
795:
691:Between the 1970s and 1980s,
553:
536:free and open-source software
6407:Cross-platform free software
4904:"A History of OCaml – OCaml"
3905:
1879:
1299:$ ocamlc hello.ml -o hello
1275:) and gives the result "7".
939:automatic garbage collection
762:categorical abstract machine
21:occam (programming language)
7:
4666:"OCaml 5.2.0 Release Notes"
4418:, a formal proof assistant.
4336:discrete Fourier transforms
3419:two times to its argument.
1565:that accepts one argument,
1057:(in OCaml 5.0.0 and higher)
893:
748:functional abstract machine
579:object-oriented programming
119:; 28 years ago
10:
6478:
3712:functions. In particular,
1553:Summing a list of integers
953:foreign function interface
742:, a research professor at
669:
643:methods to optimize value
18:
6343:
6120:
6097:
5994:
5901:
5890:
5810:
5735:
5684:
5675:Standard ML of New Jersey
5641:
5591:
5577:
5568:
5274:World Wide Web Consortium
4654:. caml-list mailing list.
4471:application based on the
4469:peer-to-peer file sharing
4433:, used to detect bugs in
4339:
4264:Software written in OCaml
4083:
3944:
3926:
2365:
2359:
2353:
2347:
2341:
2335:
2329:
2319:
1328:
880:shared-memory parallelism
664:persistent data structure
592:problems associated with
569:compilers. OCaml unifies
501:automated theorem proving
370:
331:
326:
303:
298:
284:
274:
262:
234:
202:
191:
167:
163:
135:
131:
113:
101:
84:
70:
42:
33:
5976:Christine Paulin-Mohring
5178:, EasyCrypt, 5 July 2024
4548:
4380:Owl Scientific Computing
4247:is an alternative OCaml
4127:
4090:
3951:
3718:
3629:
3421:
3283:
2847:
2786:
2665:
2604:
2372:
2328:that accepts a function
2129:
2008:
1890:
1850:
1809:
1774:
1713:
1678:
1587:
1487:
1429:
1355:
1310:
1291:"Hello World!"
1285:
1243:
1226:
1013:– to measure performance
753:Paris Diderot University
19:Not to be confused with
6049:Category:Software:OCaml
5439:"Signals & Threads"
5363:10.1145/1863543.1863557
5316:
5296:"Companies using OCaml"
5252:"Infer static analyzer"
4362:that infers and checks
4223:Other derived languages
3912:multi-stage programming
3242:or to nativecode with:
2937:"OpenGL Demo"
1711:that works with lists.
1006:Documentation generator
911:parametric polymorphism
884:color-blind concurrency
876:delimited continuations
812:. In addition to this,
800:Between 1990 and 1991,
701:University of Edinburgh
641:static program analysis
530:, but OCaml omits this
491:compiler, a reversible
192:Implementation language
5398:"OCaml for the Masses"
4870:dev.realworldocaml.org
4828:courses.cs.cornell.edu
4570:, which uses OCaml in
3403:Higher-order functions
3281:and pattern matching.
921:, first class lexical
699:winner, worked at the
683:
629:functional programming
150:; 3 months ago
6091:Programming languages
6039:Category:Family:OCaml
5520:OCaml Package Manager
5437:Yaron Minsky (2023).
5418:Yaron Minsky (2016).
4979:"Gallium team - Home"
4652:"Objective Caml 1.00"
4255:for OCaml created at
2326:higher-order function
1103:(before OCaml 4.00.0)
1085:(before OCaml 4.06.0)
1016:Many general-purpose
677:
618:array bounds checking
600:of variables and the
526:originally stood for
6422:Functional languages
6008:Open-source software
4762:"A History of OCaml"
4507:file synchronization
3696:uses a type variable
1150:improve this article
1079:(before OCaml 5.0.0)
946:structural subtyping
806:bytecode interpreter
769:First implementation
744:University of Oxford
447:programming language
16:Programming language
5443:Jane Street Capital
5284:– via GitHub.
5175:EasyCrypt/easycrypt
5154:oleg-at-okmij.org.
4592:proprietary trading
4588:Jane Street Capital
4347:The web version of
4281:, a static analyzer
3704:mapping from a type
2837:Triangle (graphics)
2616:"topfind"
1846:partial application
861:Ongoing development
637:optimizing compiler
513:systems programming
465:, Jérôme Vouillon,
276:Filename extensions
114:First appeared
93:, Jérôme Vouillon,
30:
6029:Category:Family:ML
5917:Lennart Augustsson
5478:"VPNKit on GitHub"
5324:. 8 September 2016
5201:reasonml.github.io
4691:The Rust Reference
4528:Xen Cloud Platform
4449:scripting language
4405:with static types.
4349:Facebook Messenger
4315:management system.
4287:, a social network
3277:inputted. It uses
3271:Fibonacci sequence
3265:Fibonacci sequence
1805:anonymous function
931:exception handling
828:Caml Special Light
684:
449:which extends the
28:
6389:
6388:
6371:Non-English-based
6057:
6056:
5971:Steven G. Johnson
5961:
5960:
5878:
5877:
5737:Programming tools
5705:
5704:
5457:Anil Madhavapeddy
5322:Tech at Bloomberg
5276:. 5 December 2019
4782:Linux Weekly News
4741:pauillac.inria.fr
4712:"Jérôme Vouillon"
4537:solution for the
4485:Reason / ReScript
3901:Derived languages
2237:"answer = %d
1270:machine-precision
1215:
1214:
1200:
1029:Microsoft Windows
898:OCaml features a
818:garbage collector
594:dynamically typed
503:, and is used in
387:
386:
169:Typing discipline
6469:
6379:
6378:
6351:
6350:
6084:
6077:
6070:
6061:
6060:
6046:
6045:
6036:
6035:
6026:
6025:
6016:
5908:
5907:
5896:
5817:proof assistants
5589:
5588:
5575:
5574:
5554:
5547:
5540:
5531:
5530:
5525:Real World OCaml
5511:
5506:
5505:
5503:Official website
5488:
5487:
5474:
5468:
5467:
5453:
5447:
5446:
5434:
5428:
5427:
5415:
5409:
5408:
5406:
5404:
5393:
5387:
5386:
5377:"Flow on GitHub"
5373:
5367:
5366:
5340:
5334:
5333:
5331:
5329:
5314:
5308:
5307:
5305:
5303:
5292:
5286:
5285:
5283:
5281:
5266:
5260:
5259:
5248:
5242:
5241:
5239:
5237:
5228:. Archived from
5218:
5212:
5211:
5209:
5207:
5193:
5187:
5186:
5185:
5183:
5170:
5164:
5163:
5151:
5145:
5144:
5142:
5140:
5134:cs3110.github.io
5126:
5120:
5119:
5112:
5106:
5105:
5103:
5101:
5087:
5081:
5078:
5072:
5071:
5069:
5067:
5053:
5047:
5046:
5039:
5033:
5032:
5025:
5019:
5018:
5016:
5014:
5008:cambium.inria.fr
5000:
4994:
4993:
4991:
4989:
4983:gallium.inria.fr
4975:
4969:
4968:
4966:
4964:
4958:cristal.inria.fr
4954:"Projet Cristal"
4950:
4944:
4943:
4941:
4939:
4925:
4919:
4918:
4916:
4914:
4900:
4881:
4880:
4878:
4876:
4862:
4839:
4838:
4836:
4834:
4819:
4810:
4809:
4807:
4805:
4799:amturing.acm.org
4791:
4785:
4779:
4773:
4772:
4770:
4768:
4758:
4752:
4751:
4749:
4747:
4733:
4727:
4726:
4724:
4722:
4708:
4702:
4701:
4699:
4697:
4683:
4677:
4676:
4674:
4672:
4662:
4656:
4655:
4644:
4638:
4637:
4635:
4633:
4623:
4560:, which created
4343:
4342:
4293:, a utility for
4215:
4212:
4209:
4206:
4203:
4200:
4197:
4194:
4191:
4188:
4185:
4182:
4179:
4176:
4173:
4170:
4167:
4164:
4161:
4158:
4155:
4152:
4149:
4146:
4143:
4140:
4137:
4134:
4131:
4121:
4118:
4115:
4112:
4109:
4106:
4103:
4100:
4097:
4094:
4087:
4086:
4078:
4075:
4072:
4069:
4066:
4063:
4060:
4057:
4054:
4051:
4048:
4045:
4042:
4039:
4036:
4033:
4030:
4027:
4024:
4021:
4018:
4015:
4012:
4009:
4006:
4003:
4000:
3997:
3994:
3991:
3988:
3985:
3982:
3979:
3976:
3973:
3970:
3967:
3964:
3961:
3958:
3955:
3948:
3947:
3942:
3941:
3938:
3935:
3932:
3929:
3896:
3893:
3890:
3887:
3884:
3881:
3880:
3877:
3874:
3871:
3867:
3864:
3861:
3858:
3855:
3852:
3849:
3846:
3843:
3840:
3837:
3836:
3833:
3830:
3827:
3824:
3821:
3818:
3814:
3811:
3808:
3805:
3802:
3799:
3796:
3793:
3790:
3787:
3784:
3781:
3778:
3775:
3772:
3769:
3766:
3763:
3760:
3757:
3754:
3753:
3750:
3747:
3744:
3741:
3738:
3735:
3732:
3729:
3726:
3723:
3688:
3685:
3682:
3679:
3676:
3673:
3672:
3669:
3668:"Test"
3666:
3663:
3659:
3656:
3653:
3650:
3647:
3644:
3643:
3640:
3637:
3634:
3626:
3623:
3620:
3617:
3614:
3611:
3608:
3605:
3602:
3599:
3596:
3593:
3590:
3587:
3584:
3581:
3578:
3575:
3572:
3569:
3566:
3563:
3560:
3557:
3554:
3551:
3548:
3545:
3542:
3539:
3536:
3533:
3530:
3527:
3524:
3521:
3518:
3515:
3512:
3509:
3506:
3503:
3500:
3497:
3494:
3491:
3488:
3485:
3482:
3479:
3476:
3473:
3470:
3467:
3464:
3461:
3458:
3455:
3452:
3449:
3446:
3443:
3440:
3437:
3434:
3431:
3428:
3425:
3398:
3395:
3392:
3389:
3386:
3383:
3380:
3377:
3374:
3371:
3368:
3365:
3362:
3359:
3356:
3353:
3350:
3347:
3344:
3341:
3338:
3335:
3332:
3329:
3326:
3323:
3320:
3317:
3314:
3311:
3308:
3305:
3302:
3299:
3296:
3293:
3290:
3287:
3232:
3229:
3226:
3223:
3220:
3217:
3214:
3211:
3208:
3205:
3202:
3199:
3196:
3193:
3190:
3187:
3184:
3181:
3178:
3175:
3172:
3169:
3166:
3163:
3160:
3157:
3154:
3151:
3148:
3145:
3142:
3139:
3136:
3133:
3130:
3127:
3124:
3121:
3118:
3115:
3112:
3109:
3106:
3103:
3100:
3097:
3094:
3091:
3088:
3085:
3082:
3079:
3076:
3073:
3070:
3067:
3064:
3061:
3058:
3055:
3052:
3049:
3046:
3043:
3040:
3037:
3034:
3031:
3028:
3025:
3022:
3019:
3016:
3013:
3010:
3007:
3004:
3001:
2998:
2995:
2992:
2989:
2986:
2983:
2980:
2977:
2974:
2971:
2968:
2965:
2962:
2959:
2956:
2953:
2950:
2947:
2944:
2941:
2938:
2935:
2932:
2929:
2926:
2923:
2920:
2917:
2914:
2911:
2908:
2905:
2902:
2899:
2896:
2893:
2890:
2887:
2884:
2881:
2878:
2875:
2872:
2869:
2866:
2863:
2860:
2857:
2854:
2851:
2832:
2829:
2826:
2823:
2820:
2817:
2814:
2811:
2808:
2805:
2802:
2799:
2796:
2793:
2790:
2780:
2777:
2774:
2771:
2768:
2765:
2762:
2759:
2756:
2753:
2750:
2747:
2744:
2741:
2738:
2735:
2732:
2729:
2726:
2723:
2720:
2717:
2714:
2711:
2708:
2705:
2702:
2699:
2696:
2693:
2690:
2687:
2684:
2681:
2678:
2675:
2672:
2669:
2662:
2658:
2654:
2647:
2644:
2641:
2638:
2635:
2632:
2629:
2626:
2623:
2620:
2617:
2614:
2611:
2608:
2586:
2583:
2580:
2577:
2574:
2571:
2568:
2565:
2562:
2559:
2556:
2553:
2550:
2547:
2544:
2541:
2538:
2535:
2532:
2529:
2526:
2523:
2520:
2517:
2514:
2511:
2508:
2505:
2502:
2499:
2496:
2493:
2490:
2487:
2484:
2481:
2478:
2475:
2472:
2469:
2466:
2463:
2460:
2457:
2454:
2451:
2448:
2445:
2442:
2439:
2436:
2433:
2430:
2427:
2424:
2421:
2418:
2415:
2412:
2409:
2406:
2403:
2400:
2397:
2394:
2391:
2388:
2385:
2382:
2379:
2376:
2369:
2368:
2363:
2362:
2357:
2356:
2351:
2350:
2345:
2344:
2339:
2338:
2333:
2332:
2323:
2322:
2301:
2298:
2295:
2292:
2289:
2288:birthday_paradox
2286:
2283:
2280:
2277:
2274:
2271:
2268:
2265:
2264:birthday_paradox
2262:
2259:
2256:
2253:
2250:
2247:
2244:
2241:
2238:
2235:
2232:
2229:
2226:
2223:
2220:
2217:
2214:
2211:
2208:
2205:
2202:
2199:
2196:
2193:
2190:
2187:
2184:
2181:
2178:
2175:
2172:
2169:
2166:
2163:
2160:
2157:
2154:
2153:birthday_paradox
2151:
2148:
2145:
2142:
2139:
2136:
2133:
2125:birthday problem
2119:Birthday problem
2114:
2111:
2108:
2105:
2102:
2099:
2096:
2093:
2090:
2087:
2084:
2081:
2078:
2075:
2072:
2069:
2066:
2063:
2060:
2057:
2054:
2051:
2048:
2045:
2042:
2039:
2036:
2033:
2030:
2027:
2024:
2021:
2018:
2015:
2012:
2002:
1999:
1996:
1993:
1990:
1987:
1984:
1981:
1978:
1975:
1972:
1969:
1966:
1963:
1960:
1957:
1954:
1951:
1948:
1945:
1942:
1939:
1936:
1933:
1930:
1927:
1924:
1921:
1918:
1915:
1912:
1909:
1906:
1903:
1900:
1897:
1894:
1875:
1872:
1869:
1866:
1863:
1860:
1857:
1854:
1840:
1837:
1834:
1831:
1828:
1825:
1822:
1819:
1816:
1813:
1799:
1796:
1793:
1790:
1787:
1784:
1781:
1778:
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1723:
1720:
1717:
1703:
1700:
1697:
1694:
1691:
1688:
1685:
1682:
1675:
1672:
1669:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1591:
1572:
1548:
1545:
1542:
1539:
1536:
1533:
1530:
1527:
1524:
1521:
1518:
1515:
1512:
1509:
1506:
1503:
1500:
1497:
1494:
1491:
1484:
1481:
1478:
1475:
1472:
1469:
1466:
1463:
1460:
1457:
1454:
1451:
1448:
1445:
1442:
1439:
1436:
1433:
1419:
1416:
1413:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1389:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1365:
1362:
1359:
1352:
1348:
1340:
1336:
1321:
1318:
1314:
1292:
1289:
1264:
1263:- : int = 7
1261:
1258:
1254:
1250:
1247:
1237:
1234:
1230:
1210:
1207:
1201:
1199:
1158:
1130:
1122:
983:Lexical analysis
919:pattern matching
886:, respectively.
532:abstract machine
487:, an optimizing
426:
420:
419:
416:
415:
412:
409:
406:
403:
400:
377:
294:
291:
158:
156:
151:
147:
127:
125:
120:
86:Designed by
38:
31:
27:
6477:
6476:
6472:
6471:
6470:
6468:
6467:
6466:
6392:
6391:
6390:
6385:
6339:
6116:
6093:
6088:
6058:
6053:
6011:
5990:
5966:Thierry Coquand
5957:
5897:
5888:
5874:
5815:
5812:Theorem provers
5806:
5731:
5701:
5680:
5637:
5582:
5579:Implementations
5564:
5558:
5501:
5500:
5497:
5492:
5491:
5476:
5475:
5471:
5454:
5450:
5435:
5431:
5416:
5412:
5402:
5400:
5394:
5390:
5375:
5374:
5370:
5341:
5337:
5327:
5325:
5315:
5311:
5301:
5299:
5294:
5293:
5289:
5279:
5277:
5268:
5267:
5263:
5250:
5249:
5245:
5235:
5233:
5232:on 8 April 2022
5220:
5219:
5215:
5205:
5203:
5195:
5194:
5190:
5181:
5179:
5172:
5171:
5167:
5156:"BER MetaOCaml"
5152:
5148:
5138:
5136:
5128:
5127:
5123:
5114:
5113:
5109:
5099:
5097:
5089:
5088:
5084:
5079:
5075:
5065:
5063:
5055:
5054:
5050:
5041:
5040:
5036:
5027:
5026:
5022:
5012:
5010:
5002:
5001:
4997:
4987:
4985:
4977:
4976:
4972:
4962:
4960:
4952:
4951:
4947:
4937:
4935:
4927:
4926:
4922:
4912:
4910:
4902:
4901:
4884:
4874:
4872:
4864:
4863:
4842:
4832:
4830:
4820:
4813:
4803:
4801:
4793:
4792:
4788:
4780:
4776:
4766:
4764:
4760:
4759:
4755:
4745:
4743:
4735:
4734:
4730:
4720:
4718:
4710:
4709:
4705:
4695:
4693:
4685:
4684:
4680:
4670:
4668:
4664:
4663:
4659:
4645:
4641:
4631:
4629:
4625:
4624:
4620:
4615:
4551:
4473:EDonkey network
4356:static analyzer
4340:
4275:, a SMT solver.
4266:
4225:
4217:
4216:
4213:
4210:
4207:
4204:
4201:
4198:
4195:
4192:
4189:
4186:
4183:
4180:
4177:
4174:
4171:
4168:
4165:
4162:
4159:
4156:
4153:
4150:
4147:
4144:
4141:
4138:
4135:
4132:
4129:
4125:The result is:
4123:
4122:
4119:
4116:
4113:
4110:
4107:
4104:
4101:
4098:
4095:
4092:
4084:
4080:
4079:
4076:
4073:
4070:
4067:
4064:
4061:
4058:
4055:
4052:
4049:
4046:
4043:
4040:
4037:
4034:
4031:
4028:
4025:
4022:
4019:
4016:
4013:
4010:
4007:
4004:
4001:
3998:
3995:
3992:
3989:
3986:
3983:
3980:
3977:
3974:
3971:
3968:
3965:
3962:
3959:
3956:
3953:
3945:
3939:
3936:
3933:
3930:
3927:
3919:checking, etc.
3910:MetaOCaml is a
3908:
3903:
3898:
3897:
3894:
3891:
3888:
3885:
3882:
3878:
3875:
3872:
3869:
3868:
3865:
3862:
3859:
3856:
3853:
3850:
3847:
3844:
3841:
3838:
3834:
3831:
3828:
3825:
3822:
3819:
3816:
3815:
3812:
3809:
3806:
3803:
3800:
3797:
3794:
3791:
3788:
3785:
3782:
3779:
3776:
3773:
3770:
3767:
3764:
3761:
3758:
3755:
3751:
3748:
3745:
3742:
3739:
3736:
3733:
3730:
3727:
3724:
3721:
3720:
3690:
3689:
3686:
3683:
3680:
3677:
3674:
3670:
3667:
3664:
3661:
3660:
3657:
3654:
3651:
3648:
3645:
3641:
3638:
3635:
3632:
3631:
3628:
3627:
3624:
3621:
3618:
3615:
3612:
3609:
3606:
3603:
3600:
3597:
3594:
3591:
3588:
3585:
3582:
3579:
3576:
3573:
3570:
3567:
3564:
3561:
3558:
3555:
3552:
3549:
3546:
3543:
3540:
3537:
3534:
3531:
3528:
3525:
3522:
3519:
3516:
3513:
3510:
3507:
3504:
3501:
3498:
3495:
3492:
3489:
3486:
3483:
3480:
3477:
3474:
3471:
3468:
3465:
3462:
3459:
3456:
3453:
3450:
3447:
3444:
3441:
3438:
3435:
3432:
3429:
3426:
3423:
3405:
3400:
3399:
3396:
3393:
3390:
3387:
3384:
3381:
3378:
3375:
3372:
3369:
3366:
3363:
3360:
3357:
3354:
3351:
3348:
3345:
3342:
3339:
3336:
3333:
3330:
3327:
3324:
3321:
3318:
3315:
3312:
3309:
3306:
3303:
3300:
3297:
3294:
3291:
3288:
3285:
3267:
3258:
3252:
3246:
3240:
3234:
3233:
3230:
3227:
3224:
3221:
3218:
3215:
3212:
3209:
3206:
3203:
3200:
3197:
3194:
3191:
3188:
3185:
3182:
3179:
3176:
3173:
3170:
3167:
3164:
3161:
3158:
3155:
3152:
3149:
3146:
3143:
3140:
3137:
3134:
3131:
3128:
3125:
3122:
3119:
3116:
3113:
3110:
3107:
3104:
3101:
3098:
3095:
3092:
3089:
3086:
3083:
3080:
3077:
3074:
3071:
3068:
3065:
3062:
3059:
3056:
3053:
3050:
3047:
3044:
3041:
3038:
3035:
3032:
3029:
3026:
3023:
3020:
3017:
3014:
3011:
3008:
3005:
3002:
2999:
2996:
2993:
2990:
2987:
2984:
2981:
2978:
2975:
2972:
2969:
2966:
2963:
2960:
2957:
2954:
2951:
2948:
2945:
2942:
2939:
2936:
2933:
2930:
2927:
2924:
2921:
2918:
2915:
2912:
2909:
2906:
2903:
2900:
2897:
2894:
2892:initDisplayMode
2891:
2888:
2885:
2882:
2879:
2876:
2873:
2870:
2867:
2864:
2861:
2858:
2855:
2852:
2849:
2839:
2834:
2833:
2830:
2827:
2824:
2821:
2818:
2815:
2812:
2809:
2806:
2803:
2800:
2797:
2794:
2791:
2788:
2782:
2781:
2778:
2775:
2772:
2769:
2766:
2763:
2760:
2757:
2754:
2751:
2748:
2745:
2742:
2739:
2736:
2733:
2730:
2727:
2724:
2721:
2718:
2715:
2712:
2709:
2706:
2703:
2700:
2697:
2694:
2691:
2688:
2685:
2682:
2679:
2676:
2673:
2670:
2667:
2660:
2656:
2652:
2649:
2648:
2645:
2642:
2639:
2636:
2633:
2631:"num"
2630:
2627:
2624:
2621:
2618:
2615:
2612:
2609:
2606:
2593:
2588:
2587:
2584:
2581:
2578:
2575:
2572:
2569:
2566:
2563:
2560:
2557:
2554:
2551:
2548:
2545:
2542:
2539:
2536:
2533:
2530:
2527:
2524:
2521:
2518:
2515:
2512:
2509:
2506:
2503:
2500:
2497:
2494:
2491:
2488:
2485:
2482:
2479:
2476:
2473:
2470:
2467:
2464:
2461:
2458:
2455:
2452:
2449:
2446:
2443:
2440:
2437:
2434:
2431:
2428:
2425:
2422:
2419:
2416:
2413:
2410:
2407:
2404:
2401:
2398:
2395:
2392:
2389:
2386:
2383:
2380:
2377:
2374:
2366:
2360:
2354:
2348:
2342:
2336:
2330:
2320:
2316:natural numbers
2312:Church encoding
2308:
2306:Church numerals
2303:
2302:
2299:
2296:
2293:
2290:
2287:
2284:
2281:
2278:
2275:
2272:
2269:
2266:
2263:
2260:
2257:
2254:
2251:
2248:
2245:
2242:
2239:
2236:
2233:
2230:
2227:
2224:
2221:
2218:
2215:
2212:
2209:
2206:
2203:
2200:
2197:
2194:
2191:
2188:
2185:
2182:
2179:
2176:
2173:
2170:
2167:
2164:
2161:
2158:
2155:
2152:
2149:
2146:
2143:
2140:
2137:
2134:
2131:
2121:
2116:
2115:
2112:
2109:
2106:
2103:
2100:
2097:
2094:
2091:
2088:
2085:
2082:
2079:
2076:
2073:
2070:
2067:
2064:
2061:
2058:
2055:
2052:
2049:
2046:
2043:
2040:
2037:
2034:
2031:
2028:
2025:
2022:
2019:
2016:
2013:
2010:
2004:
2003:
2000:
1997:
1994:
1991:
1988:
1985:
1982:
1979:
1976:
1973:
1970:
1967:
1964:
1961:
1958:
1955:
1952:
1949:
1946:
1943:
1940:
1937:
1934:
1931:
1928:
1925:
1922:
1919:
1916:
1913:
1910:
1907:
1904:
1901:
1898:
1895:
1892:
1882:
1877:
1876:
1873:
1870:
1867:
1864:
1861:
1858:
1855:
1852:
1842:
1841:
1838:
1835:
1832:
1829:
1826:
1823:
1820:
1817:
1814:
1811:
1801:
1800:
1797:
1794:
1791:
1788:
1785:
1782:
1779:
1776:
1773:
1772:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1721:
1718:
1715:
1705:
1704:
1701:
1698:
1695:
1692:
1689:
1686:
1683:
1680:
1677:
1676:
1673:
1670:
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1601:
1598:
1595:
1592:
1589:
1570:
1555:
1550:
1549:
1546:
1543:
1540:
1537:
1534:
1531:
1528:
1525:
1522:
1519:
1516:
1513:
1510:
1507:
1504:
1501:
1498:
1495:
1492:
1489:
1486:
1485:
1482:
1479:
1476:
1473:
1470:
1467:
1464:
1461:
1458:
1455:
1452:
1449:
1446:
1443:
1440:
1437:
1434:
1431:
1421:
1420:
1417:
1414:
1411:
1408:
1405:
1402:
1399:
1396:
1393:
1390:
1387:
1384:
1381:
1378:
1375:
1372:
1369:
1366:
1363:
1360:
1357:
1350:
1346:
1338:
1334:
1331:
1323:
1322:
1319:
1316:
1312:
1306:
1300:
1294:
1293:
1290:
1287:
1281:
1266:
1265:
1262:
1259:
1256:
1252:
1248:
1245:
1239:
1238:
1235:
1232:
1228:
1211:
1205:
1202:
1159:
1157:
1143:
1131:
1120:
1040:code generation
935:effect handling
896:
872:effect handlers
863:
846:
830:
798:
771:
757:lambda calculus
709:theorem provers
689:
672:
556:
517:web development
505:static analysis
497:package manager
459:object-oriented
436:general-purpose
424:
397:
393:
288:
159:
154:
152:
149:
123:
121:
118:
65:object-oriented
24:
17:
12:
11:
5:
6475:
6465:
6464:
6459:
6454:
6449:
6444:
6442:OCaml software
6439:
6434:
6429:
6424:
6419:
6414:
6409:
6404:
6387:
6386:
6384:
6383:
6373:
6368:
6363:
6358:
6344:
6341:
6340:
6338:
6337:
6330:
6325:
6320:
6315:
6310:
6305:
6300:
6295:
6290:
6285:
6280:
6275:
6270:
6269:
6268:
6258:
6253:
6248:
6243:
6238:
6233:
6228:
6223:
6218:
6213:
6208:
6203:
6198:
6193:
6188:
6183:
6178:
6173:
6172:
6171:
6170:
6169:
6164:
6149:
6144:
6139:
6138:
6137:
6127:
6121:
6118:
6117:
6115:
6114:
6109:
6104:
6098:
6095:
6094:
6087:
6086:
6079:
6072:
6064:
6055:
6054:
6052:
6003:
6001:= discontinued
5995:
5992:
5991:
5989:
5988:
5986:Simon Thompson
5983:
5981:Frank Pfenning
5978:
5973:
5968:
5962:
5959:
5958:
5956:
5950:
5944:
5938:
5932:
5926:
5923:Damien Doligez
5920:
5914:
5912:
5905:
5899:
5898:
5891:
5889:
5887:
5886:
5879:
5876:
5875:
5873:
5872:
5866:
5860:
5853:
5848:
5842:
5841:
5840:
5828:
5821:
5819:
5808:
5807:
5805:
5800:
5794:
5788:
5782:
5776:
5770:
5764:
5758:
5752:
5747:
5741:
5739:
5733:
5732:
5730:
5729:
5723:
5718:
5713:
5706:
5703:
5702:
5700:
5699:
5692:
5690:
5682:
5681:
5679:
5678:
5672:
5666:
5661:
5656:
5647:
5645:
5639:
5638:
5636:
5635:
5634:
5633:
5627:
5621:
5615:
5609:
5597:
5595:
5586:
5572:
5566:
5565:
5557:
5556:
5549:
5542:
5534:
5528:
5527:
5522:
5517:
5512:
5496:
5495:External links
5493:
5490:
5489:
5469:
5448:
5429:
5410:
5388:
5368:
5335:
5309:
5287:
5261:
5243:
5213:
5188:
5165:
5146:
5121:
5107:
5082:
5073:
5048:
5034:
5020:
4995:
4970:
4945:
4920:
4882:
4840:
4811:
4786:
4774:
4753:
4728:
4703:
4678:
4657:
4639:
4617:
4616:
4614:
4611:
4610:
4609:
4595:
4585:
4575:
4568:Citrix Systems
4565:
4558:Bloomberg L.P.
4550:
4547:
4546:
4545:
4535:virtualization
4525:
4516:, a low-level
4510:
4500:
4494:
4488:
4482:
4476:
4462:
4452:
4442:
4419:
4413:
4406:
4395:
4389:
4383:
4377:
4371:
4352:
4345:
4334:for computing
4325:
4319:
4316:
4306:
4288:
4282:
4276:
4270:
4265:
4262:
4261:
4260:
4242:
4236:
4224:
4221:
4128:
4091:
3952:
3924:power function
3907:
3904:
3902:
3899:
3719:
3630:
3422:
3411:to a function
3404:
3401:
3284:
3279:tail recursion
3266:
3263:
3256:
3250:
3244:
3238:
2848:
2838:
2835:
2787:
2666:
2605:
2592:
2589:
2373:
2307:
2304:
2130:
2120:
2117:
2009:
1891:
1881:
1878:
1851:
1810:
1775:
1714:
1679:
1588:
1554:
1551:
1520:"42"
1488:
1430:
1356:
1330:
1327:
1311:
1308:and executed:
1304:
1298:
1286:
1280:
1277:
1244:
1227:
1213:
1212:
1148:. Please help
1134:
1132:
1125:
1119:
1116:
1105:
1104:
1086:
1080:
1070:
1064:
1058:
1021:
1020:
1014:
1008:
1003:
997:
915:tail recursion
907:type inference
895:
892:
868:global GC lock
862:
859:
845:
844:Objective Caml
842:
829:
826:
814:Damien Doligez
797:
794:
770:
767:
688:
685:
671:
668:
633:funarg problem
567:type-inferring
555:
552:
509:formal methods
467:Damien Doligez
444:multi-paradigm
432:Objective Caml
385:
384:
383:
382:
379:Objective Caml
368:
367:
329:
328:
324:
323:
301:
300:
296:
295:
286:
282:
281:
278:
272:
271:
266:
260:
259:
241:Cross-platform
238:
232:
231:
206:
200:
199:
193:
189:
188:
171:
165:
164:
161:
160:
141:
139:
137:Stable release
133:
132:
129:
128:
115:
111:
110:
105:
99:
98:
95:Damien Doligez
88:
82:
81:
72:
68:
67:
49:Multi-paradigm
46:
40:
39:
15:
9:
6:
4:
3:
2:
6474:
6463:
6460:
6458:
6455:
6453:
6450:
6448:
6445:
6443:
6440:
6438:
6435:
6433:
6430:
6428:
6425:
6423:
6420:
6418:
6415:
6413:
6410:
6408:
6405:
6403:
6400:
6399:
6397:
6382:
6374:
6372:
6369:
6367:
6364:
6362:
6359:
6357:
6354:
6346:
6345:
6342:
6336:
6335:
6331:
6329:
6326:
6324:
6321:
6319:
6316:
6314:
6311:
6309:
6306:
6304:
6301:
6299:
6296:
6294:
6291:
6289:
6286:
6284:
6281:
6279:
6276:
6274:
6271:
6267:
6266:Object Pascal
6264:
6263:
6262:
6259:
6257:
6254:
6252:
6249:
6247:
6244:
6242:
6239:
6237:
6234:
6232:
6229:
6227:
6224:
6222:
6219:
6217:
6214:
6212:
6209:
6207:
6204:
6202:
6199:
6197:
6194:
6192:
6189:
6187:
6184:
6182:
6179:
6177:
6174:
6168:
6165:
6163:
6160:
6159:
6158:
6155:
6154:
6153:
6150:
6148:
6145:
6143:
6140:
6136:
6133:
6132:
6131:
6128:
6126:
6123:
6122:
6119:
6113:
6110:
6108:
6105:
6103:
6100:
6099:
6096:
6092:
6085:
6080:
6078:
6073:
6071:
6066:
6065:
6062:
6051:
6050:
6041:
6040:
6031:
6030:
6021:
6020:
6015:
6010:
6009:
6004:
6002:
5999:
5996:
5993:
5987:
5984:
5982:
5979:
5977:
5974:
5972:
5969:
5967:
5964:
5963:
5954:
5951:
5949:(Extended ML)
5948:
5945:
5942:
5939:
5937:(Caml, OCaml)
5936:
5933:
5930:
5927:
5924:
5921:
5918:
5915:
5913:
5909:
5906:
5904:
5900:
5895:
5884:
5881:
5880:
5870:
5867:
5864:
5861:
5859:
5858:
5854:
5852:
5849:
5846:
5843:
5838:
5835:
5834:
5832:
5829:
5826:
5823:
5822:
5820:
5818:
5813:
5809:
5804:
5801:
5798:
5795:
5792:
5789:
5786:
5783:
5780:
5777:
5774:
5771:
5768:
5765:
5762:
5759:
5756:
5753:
5751:
5748:
5745:
5742:
5740:
5738:
5734:
5727:
5724:
5722:
5719:
5717:
5714:
5711:
5708:
5707:
5697:
5694:
5693:
5691:
5689:
5688:
5683:
5676:
5673:
5670:
5667:
5665:
5662:
5660:
5659:Concurrent ML
5657:
5654:
5653:
5649:
5648:
5646:
5644:
5640:
5631:
5628:
5625:
5622:
5619:
5616:
5613:
5610:
5608:
5605:
5604:
5602:
5599:
5598:
5596:
5594:
5590:
5587:
5585:
5580:
5576:
5573:
5571:
5567:
5562:
5555:
5550:
5548:
5543:
5541:
5536:
5535:
5532:
5526:
5523:
5521:
5518:
5516:
5513:
5510:
5504:
5499:
5498:
5485:
5484:
5479:
5473:
5466:
5462:
5458:
5452:
5444:
5440:
5433:
5425:
5421:
5414:
5399:
5392:
5384:
5383:
5378:
5372:
5364:
5360:
5356:
5352:
5348:
5347:
5339:
5323:
5319:
5313:
5297:
5291:
5275:
5271:
5265:
5257:
5253:
5247:
5231:
5227:
5223:
5217:
5202:
5198:
5192:
5177:
5176:
5169:
5161:
5157:
5150:
5135:
5131:
5125:
5117:
5111:
5096:
5092:
5086:
5077:
5062:
5058:
5052:
5044:
5038:
5030:
5024:
5009:
5005:
4999:
4984:
4980:
4974:
4959:
4955:
4949:
4934:
4930:
4924:
4909:
4905:
4899:
4897:
4895:
4893:
4891:
4889:
4887:
4871:
4867:
4861:
4859:
4857:
4855:
4853:
4851:
4849:
4847:
4845:
4829:
4825:
4818:
4816:
4800:
4796:
4790:
4783:
4778:
4763:
4757:
4742:
4738:
4737:"Didier Remy"
4732:
4717:
4713:
4707:
4692:
4688:
4682:
4667:
4661:
4653:
4649:
4648:Leroy, Xavier
4643:
4628:
4622:
4618:
4607:
4603:
4599:
4596:
4593:
4589:
4586:
4583:
4579:
4576:
4573:
4569:
4566:
4563:
4559:
4556:
4555:
4554:
4543:
4540:
4536:
4533:
4529:
4526:
4523:
4519:
4515:
4511:
4508:
4504:
4501:
4498:
4495:
4492:
4489:
4486:
4483:
4480:
4477:
4474:
4470:
4466:
4463:
4460:
4456:
4453:
4450:
4446:
4443:
4440:
4436:
4432:
4428:
4424:
4420:
4417:
4414:
4411:
4407:
4404:
4400:
4396:
4393:
4390:
4387:
4384:
4381:
4378:
4375:
4372:
4369:
4365:
4361:
4357:
4353:
4350:
4346:
4337:
4333:
4329:
4326:
4323:
4320:
4317:
4314:
4310:
4307:
4304:
4300:
4296:
4292:
4289:
4286:
4283:
4280:
4277:
4274:
4271:
4268:
4267:
4258:
4254:
4250:
4246:
4243:
4240:
4237:
4234:
4230:
4227:
4226:
4220:
4126:
4089:
3950:
3925:
3920:
3917:
3913:
3717:
3715:
3711:
3707:
3703:
3699:
3695:
3692:The function
3595:" "
3420:
3418:
3414:
3410:
3282:
3280:
3276:
3272:
3262:
3255:
3249:
3243:
3237:
3216:postRedisplay
3006:load_identity
2898:double_buffer
2846:
2844:
2792:string_of_num
2785:
2664:
2603:
2600:
2598:
2549:"0"
2537:"S"
2371:
2367:"0"
2361:"S"
2327:
2317:
2313:
2128:
2126:
2007:
1889:
1887:
1849:
1847:
1808:
1806:
1712:
1710:
1709:fold function
1674:possibly . *)
1586:
1584:
1580:
1576:
1568:
1564:
1560:
1465:string_of_int
1428:
1426:
1354:
1344:
1326:
1309:
1303:
1297:
1288:print_endline
1284:
1276:
1274:
1271:
1242:
1225:
1223:
1222:
1209:
1198:
1195:
1191:
1188:
1184:
1181:
1177:
1174:
1170:
1167: –
1166:
1162:
1161:Find sources:
1155:
1151:
1147:
1141:
1140:
1139:single source
1135:This article
1133:
1129:
1124:
1123:
1118:Code examples
1115:
1113:
1112:multithreaded
1108:
1102:
1098:
1094:
1090:
1087:
1084:
1081:
1078:
1074:
1071:
1068:
1065:
1062:
1059:
1056:
1052:
1048:
1045:
1044:
1043:
1041:
1037:
1034:
1030:
1026:
1019:
1015:
1012:
1009:
1007:
1004:
1001:
998:
996:
992:
989:tools called
988:
984:
981:
980:
979:
976:
974:
970:
966:
962:
958:
954:
949:
947:
942:
940:
936:
932:
928:
924:
920:
916:
912:
908:
904:
901:
891:
887:
885:
881:
877:
873:
869:
858:
856:
851:
841:
839:
835:
825:
823:
819:
815:
811:
807:
803:
793:
789:
787:
783:
779:
775:
766:
764:
763:
758:
754:
749:
745:
741:
740:Luca Cardelli
737:
732:
730:
726:
722:
721:meta language
718:
714:
710:
706:
702:
698:
694:
681:
676:
667:
665:
661:
656:
652:
650:
646:
642:
638:
634:
630:
625:
623:
622:serialization
619:
613:
611:
607:
603:
599:
595:
591:
587:
582:
580:
576:
572:
568:
564:
560:
551:
549:
545:
541:
537:
534:. OCaml is a
533:
529:
525:
520:
518:
514:
510:
506:
502:
498:
494:
490:
486:
483:
479:
475:
470:
468:
464:
460:
456:
452:
448:
445:
441:
437:
433:
429:
428:
418:
391:
380:
376:
372:
371:
369:
366:
362:
358:
354:
350:
346:
342:
338:
334:
330:
325:
322:
318:
314:
310:
306:
302:
299:Influenced by
297:
293:
287:
283:
279:
277:
273:
270:
267:
265:
261:
258:
254:
250:
246:
242:
239:
237:
233:
230:
226:
222:
218:
214:
210:
207:
205:
201:
198:
194:
190:
187:
183:
179:
175:
172:
170:
166:
162:
148:/ 13 May 2024
146:
140:
138:
134:
130:
116:
112:
109:
106:
104:
100:
96:
92:
89:
87:
83:
80:
76:
73:
69:
66:
62:
58:
54:
50:
47:
45:
41:
37:
32:
26:
22:
6366:Generational
6356:Alphabetical
6352:
6332:
6157:Visual Basic
6047:
6037:
6027:
6017:
6005:
6000:
5997:
5947:Don Sannella
5941:Robin Milner
5935:Xavier Leroy
5855:
5803:SLAM project
5687:Dependent ML
5685:
5650:
5600:
5515:OCaml manual
5481:
5472:
5465:Docker, Inc.
5451:
5432:
5413:
5401:. Retrieved
5391:
5380:
5371:
5345:
5338:
5326:. Retrieved
5321:
5312:
5300:. Retrieved
5290:
5278:. Retrieved
5264:
5255:
5246:
5234:. Retrieved
5230:the original
5225:
5216:
5204:. Retrieved
5200:
5191:
5180:, retrieved
5174:
5168:
5159:
5149:
5137:. Retrieved
5133:
5124:
5110:
5098:. Retrieved
5094:
5085:
5076:
5064:. Retrieved
5060:
5051:
5037:
5023:
5011:. Retrieved
5007:
4998:
4986:. Retrieved
4982:
4973:
4961:. Retrieved
4957:
4948:
4936:. Retrieved
4932:
4923:
4911:. Retrieved
4908:v2.ocaml.org
4907:
4873:. Retrieved
4869:
4831:. Retrieved
4827:
4802:. Retrieved
4798:
4789:
4777:
4765:. Retrieved
4756:
4744:. Retrieved
4740:
4731:
4719:. Retrieved
4715:
4706:
4694:. Retrieved
4690:
4681:
4669:. Retrieved
4660:
4642:
4630:. Retrieved
4621:
4562:BuckleScript
4552:
4522:web browsers
4364:static types
4313:formal proof
4295:transforming
4218:
4124:
4081:
3921:
3916:machine code
3909:
3713:
3709:
3705:
3701:
3697:
3693:
3691:
3416:
3412:
3408:
3406:
3274:
3273:of a number
3268:
3259:
3257:$ ./simple
3253:
3247:
3241:
3235:
2925:createWindow
2840:
2783:
2650:
2601:
2594:
2340:and applies
2334:and a value
2309:
2122:
2005:
1883:
1843:
1802:
1706:
1574:
1566:
1562:
1556:
1547:""
1480:""
1422:
1332:
1324:
1317:Hello World!
1307:
1301:
1295:
1282:
1267:
1240:
1218:
1216:
1206:January 2024
1203:
1193:
1186:
1179:
1172:
1160:
1136:
1109:
1106:
1022:
994:
990:
977:
972:
950:
943:
897:
888:
864:
847:
831:
802:Xavier Leroy
799:
790:
786:Michel Mauny
772:
760:
747:
733:
697:Turing Award
693:Robin Milner
690:
660:immutability
655:Xavier Leroy
653:
626:
614:
583:
563:type systems
557:
527:
523:
522:The acronym
521:
471:
463:Xavier Leroy
431:
389:
388:
381:at Wikibooks
91:Xavier Leroy
25:
6361:Categorical
5929:Gérard Huet
5664:Extended ML
5643:Standard ML
5563:programming
5441:(Podcast).
5298:. OCaml.org
5236:10 February
5206:27 February
4938:16 December
4767:24 December
4716:www.irif.fr
4696:31 December
4632:22 February
4514:WebAssembly
4431:Objective-C
4358:created at
4299:source code
4120:>.)>.
4082:As soon as
3710:int->int
3171:displayFunc
3138:swapBuffers
1752:accumulator
1743:accumulator
1279:Hello World
903:type system
870:and adding
850:type system
834:native-code
808:written in
782:Pierre Weis
778:Gérard Huet
746:, used his
682:(POPL) 2024
586:type system
489:native code
478:interpreter
453:dialect of
430:, formerly
321:Standard ML
155:13 May 2024
142:5.2.0
6396:Categories
6226:JavaScript
6102:Comparison
5677:° (SML/NJ)
4613:References
4542:hypervisor
4445:Liquidsoap
4368:JavaScript
4291:Coccinelle
1803:Since the
1219:top-level
1176:newspapers
822:Caml Light
796:Caml Light
602:signatures
598:data types
575:imperative
571:functional
554:Philosophy
472:The OCaml
440:high-level
327:Influenced
186:structural
57:imperative
53:functional
6323:Smalltalk
5919:(Lazy ML)
5911:Designers
5903:Community
5837:HOL Light
5779:Marionnet
5160:okmij.org
5139:7 October
5095:ocaml.org
5013:7 October
4988:7 October
4963:7 October
4913:7 October
4875:6 October
4833:6 October
4804:6 October
4627:"Modules"
4584:in OCaml.
4572:XenServer
4530:(XCP), a
4459:unikernel
4416:HOL Light
4305:programs.
4253:toolchain
3906:MetaOCaml
3829:fourtimes
3759:fourtimes
3728:fourtimes
3254:and run:
3159:modelview
3090:triangles
2561:to_string
2513:to_string
2195:year_size
2177:year_size
2135:year_size
2086:partition
1974:partition
1886:quicksort
1880:Quicksort
1868:fold_left
1830:fold_left
1734:fold_left
1629:list . *)
1561:function
1559:recursive
1146:talk page
1089:DEC Alpha
1049:(AMD64),
1018:libraries
995:ocamlyacc
474:toolchain
280:.ml, .mli
225:ARM 32-64
103:Developer
44:Paradigms
6381:Category
6147:Assembly
6107:Timeline
5953:Don Syme
5845:Isabelle
5744:Alt-Ergo
5584:dialects
5570:Software
5459:(2016).
4650:(1996).
4582:ReasonML
4578:Facebook
4518:bytecode
4465:MLdonkey
4455:MirageOS
4360:Facebook
4354:Flow, a
4285:Be Sport
4273:Alt-Ergo
4257:Facebook
3228:mainLoop
3195:idleFunc
2663: :
2352:exactly
2023:function
1905:function
1839:integers
1818:integers
1767:integers
1722:integers
1611:integers
1599:integers
1567:integers
1341:type in
1315:./hello
1011:Profiler
1000:Debugger
991:ocamllex
923:closures
894:Features
729:compiler
723:for his
639:employs
495:, and a
493:debugger
485:compiler
482:bytecode
313:Modula-3
269:LGPLv2.1
204:Platform
174:Inferred
6334:more...
6313:Scratch
6216:Haskell
6206:Fortran
6162:classic
6112:History
5998:Italics
5925:(OCaml)
5883:GeneWeb
5797:Semgrep
5767:Frama-C
5721:MacroML
5716:Lazy ML
5710:Futhark
5486:. 2023.
5385:. 2023.
5045:. 2023.
5031:. 2023.
4746:14 June
4721:14 June
4606:Windows
4532:turnkey
4439:Android
4392:GeneWeb
4386:Frama-C
4374:Ocsigen
4332:library
4044:.<.~
3665:add_str
3622:inc_str
3610:add_str
3562:inc_str
3388:fib_aux
3349:fib_aux
3304:fib_aux
3111:vertex2
2988:GlClear
2628:require
2089:is_less
2056:(>=)
2050:is_less
1977:is_less
1932:is_less
1526:extract
1493:extract
1435:extract
1343:Haskell
1273:integer
1190:scholar
1165:"OCaml"
987:parsing
969:Fortran
957:linking
670:History
649:closure
590:runtime
434:) is a
285:Website
264:License
257:Windows
195:OCaml,
153: (
122: (
61:modular
6353:Lists:
6288:Python
6283:Prolog
6261:Pascal
6251:MATLAB
6236:Kotlin
6196:Erlang
6135:Simula
5931:(Caml)
5863:Matita
5791:Poplog
5755:Camlp4
5750:Astrée
5630:Reason
5624:JoCaml
5483:GitHub
5382:GitHub
5328:21 May
5302:14 May
5280:14 May
5182:5 July
5100:17 May
5061:GitHub
5004:"Home"
4671:24 May
4598:Docker
4503:Unison
4429:, and
4341:genfft
4279:Astrée
4249:syntax
4245:Reason
4239:JoCaml
4077:)>.
3681:string
3583:string
3574:string
3183:render
3117:GlDraw
3105:GlDraw
3084:begins
3078:GlDraw
3021:rotate
2979:render
2913:ignore
2859:ignore
2843:OpenGL
2819:string
2273:people
2249:people
2243:"
2234:printf
2228:Printf
2186:people
2159:people
1583:switch
1541:string
1514:string
1425:string
1412:option
1379:option
1335:option
1329:Option
1231:ocaml
1192:
1185:
1178:
1171:
1163:
1053:, and
1051:RISC-V
1047:X86-64
1031:, and
965:arrays
900:static
645:boxing
577:, and
317:Pascal
229:RISC-V
213:x86-64
182:strong
178:static
71:Family
6328:Swift
6318:Shell
6231:Julia
6201:Forth
6191:COBOL
6152:BASIC
6130:ALGOL
5869:Twelf
5785:MTASC
5669:MLton
5652:Alice
5601:OCaml
5403:2 May
5256:Infer
5066:2 May
4933:OCaml
4602:macOS
4549:Users
4497:Tezos
4441:apps.
4425:, C,
4231:is a
4136:->
4114:.<
4108:power
4102:->
4093:.<
4056:power
4017:power
3993:>.
3987:.<
3960:power
3931:->
3851:->
3798:'
3795:->
3789:'
3786:->
3777:'
3774:->
3768:'
3743:twice
3740:twice
3714:twice
3694:twice
3616:twice
3550:twice
3481:->
3472:'
3448:'
3445:->
3439:'
3427:twice
3409:twice
3346:->
3334:->
3319:match
3147:GlMat
3036:angle
3027:angle
3015:GlMat
3000:GlMat
2994:clear
2946:angle
2931:title
2758:->
2534:->
2324:is a
2183:float
2113:right
2110:qsort
2098:qsort
2074:right
2059:pivot
2044:->
2035:pivot
2029:->
2017:qsort
2001:right
1998:qsort
1986:qsort
1962:right
1947:pivot
1926:->
1917:pivot
1911:->
1899:qsort
1749:->
1647:first
1644:->
1635:first
1620:->
1608:match
1575:match
1477:->
1462:->
1444:match
1406:'
1339:Maybe
1197:JSTOR
1183:books
1083:SPARC
1073:IA-32
1067:Power
1061:IBM Z
1055:ARM64
1036:macOS
1033:Apple
736:INRIA
717:proof
548:Scala
457:with
390:OCaml
365:Scala
290:ocaml
253:macOS
245:Linux
221:SPARC
217:Power
209:IA-32
108:Inria
29:OCaml
6303:Rust
6298:Ruby
6273:Perl
6241:Lisp
6221:Java
6167:.NET
6019:Book
6006:° =
5955:(F#)
5943:(ML)
5851:LEGO
5773:Haxe
5761:FFTW
5593:Caml
5405:2015
5330:2017
5304:2021
5282:2021
5238:2019
5226:Flow
5208:2018
5184:2024
5141:2022
5102:2021
5068:2015
5015:2022
4990:2022
4965:2022
4940:2022
4915:2022
4877:2022
4835:2022
4806:2022
4769:2016
4748:2024
4723:2024
4698:2023
4673:2024
4634:2020
4604:and
4590:, a
4505:, a
4491:Rust
4467:, a
4457:, a
4447:, a
4437:and
4423:Java
4410:Haxe
4408:The
4399:Hack
4397:The
4366:for
4330:, a
4328:FFTW
4311:, a
4297:the
4251:and
4233:.NET
4041:else
4008:then
4002:even
3996:else
3984:then
3873:add4
3866:>
3860:<
3842:add4
3823:add4
3813:>
3807:<
3636:add2
3544:add2
3325:with
3222:Glut
3210:Glut
3207:Some
3189:Glut
3165:Glut
3153:mode
3132:Glut
3123:ends
3102:iter
3096:List
3048:time
2919:Glut
2904:true
2886:Glut
2880:argv
2871:init
2865:Glut
2810:));;
2798:fact
2779:>
2773:<
2743:fact
2719:fact
2710:else
2701:then
2677:fact
2659:and
2640:open
2573:succ
2462:zero
2459:succ
2453:succ
2441:zero
2438:succ
2396:succ
2378:zero
2267:prob
2261:else
2225:then
2213:<
2210:prob
2201:prob
2168:prob
2156:prob
2101:left
2092:rest
2080:List
2068:left
2041:rest
1989:left
1980:rest
1968:List
1956:left
1944:<
1923:rest
1862:List
1824:List
1728:List
1656:rest
1641:rest
1614:with
1529:None
1499:Some
1474:None
1456:Some
1450:with
1418:None
1394:None
1385:Some
1361:Some
1351:None
1347:Some
1333:The
1221:REPL
1169:news
1101:MIPS
1099:and
1097:IA64
1093:HPPA
1075:and
1025:Unix
993:and
985:and
973:main
955:for
882:and
874:via
855:Java
784:and
774:Caml
713:Lisp
647:and
608:and
606:Java
565:and
546:and
524:CAML
507:and
480:, a
451:Caml
361:Rust
353:Haxe
309:Caml
292:.org
249:Unix
124:1996
117:1996
79:Caml
6308:SQL
6278:PHP
6246:Lua
6181:C++
6142:APL
6125:Ada
5831:HOL
5825:Coq
5696:ATS
5607:Eff
5424:ACM
5359:doi
4539:Xen
4479:Opa
4435:iOS
4427:C++
4403:PHP
4309:Coq
4301:of
4211:y_3
4205:y_3
4193:y_2
4187:y_2
4169:x_1
4160:y_2
4157:let
4151:y_3
4148:let
4142:x_1
4133:x_1
4130:fun
4105:.~(
4096:fun
4053:.~(
4011:sqr
3957:rec
3954:let
3895:102
3889:int
3863:fun
3854:int
3848:int
3839:val
3832:inc
3820:let
3810:fun
3756:val
3725:let
3658:100
3652:int
3625:);;
3607:let
3559:let
3553:inc
3541:let
3523:int
3514:int
3502:inc
3499:let
3496:);;
3460:fun
3424:let
3301:rec
3298:let
3289:fib
3286:let
3042:Sys
2976:let
2943:let
2874:Sys
2850:let
2807:120
2804:Int
2776:fun
2767:num
2761:Num
2755:num
2749:Num
2740:val
2737:);;
2731:Int
2704:Int
2695:Int
2674:rec
2671:let
2643:Num
2613:use
2582:two
2576:two
2567:add
2552:let
2528:fun
2510:let
2471:add
2468:let
2447:two
2444:let
2432:one
2429:let
2393:let
2375:let
2346:to
2314:of
2165:let
2150:rec
2147:let
2141:365
2132:let
2065:let
2047:let
2014:rec
2011:let
1953:let
1929:let
1896:rec
1893:let
1871:(+)
1856:sum
1853:let
1833:(+)
1815:sum
1812:let
1792:int
1780:sum
1740:fun
1719:sum
1716:let
1696:int
1684:sum
1653:sum
1596:sum
1593:rec
1590:let
1581:'s
1571:rec
1563:sum
1505:);;
1432:let
1376:int
1313:$
1229:$
1152:by
1077:ARM
959:to
838:C++
703:'s
666:).
427:-əl
425:KAM
423:oh-
357:Opa
341:Elm
337:Coq
333:ATS
6398::
6256:ML
6211:Go
6186:C#
5833:°
5726:Ur
5618:F#
5612:F*
5603:°
5561:ML
5480:.
5463:.
5422:.
5379:.
5357:.
5353:.
5349:.
5320:.
5272:.
5254:.
5224:.
5199:.
5158:.
5132:.
5093:.
5059:.
5006:.
4981:.
4956:.
4931:.
4906:.
4885:^
4868:.
4843:^
4826:.
4814:^
4797:.
4739:.
4714:.
4689:.
4322:F*
4229:F#
4214:))
4199:in
4181:in
4050:*.
3999:if
3972:if
3879:;;
3876:98
3835:;;
3752:;;
3706:'a
3698:'a
3671:;;
3642:;;
3639:98
3604:;;
3556:;;
3538:;;
3385:in
3231:()
3219:);
3204::(
3201:cb
3177:cb
3144:in
3141:()
3126:()
3072:()
3054:))
3051:()
3009:()
2982:()
2973:in
2967:*.
2961:*.
2955:10
2940:);
2907:()
2883:);
2853:()
2845::
2728:-/
2716:*/
2692:=/
2686:if
2661:-/
2657:*/
2655:,
2653:=/
2646:;;
2634:;;
2619:;;
2498:n2
2489:n1
2477:n2
2474:n1
2370:.
2285:;;
2240:\n
2207:if
2204:in
2198:*.
2192:/.
2180:-.
2095:in
2062:in
2038:::
1983:in
1950:in
1920:::
1848::
1798:15
1783:;;
1770:;;
1702:15
1687:;;
1659:;;
1638:::
1532:;;
1502:42
1483:;;
1397:;;
1388:42
1367:;;
1364:42
1320:$
1260:;;
1246:#
1095:,
1091:,
1027:,
951:A
941:.
933:,
929:,
925:,
917:,
913:,
909:,
905:,
610:C#
573:,
559:ML
550:.
544:F#
515:,
455:ML
442:,
438:,
414:əl
399:oʊ
363:,
359:,
355:,
351:,
349:F*
347:,
345:F#
343:,
339:,
335:,
319:,
315:,
311:,
307:,
255:,
251:,
247:,
243::
236:OS
227:,
223:,
219:,
215:,
211:,
184:,
180:,
176:,
77::
75:ML
63:,
59:,
55:,
51::
6293:R
6176:C
6083:e
6076:t
6069:v
5885:°
5871:°
5865:°
5847:°
5839:°
5827:°
5814:,
5799:°
5793:°
5787:°
5781:°
5775:°
5769:°
5763:°
5757:°
5746:°
5728:°
5712:°
5698:°
5671:°
5655:°
5632:°
5626:°
5620:°
5614:°
5581:,
5553:e
5546:t
5539:v
5445:.
5407:.
5365:.
5361::
5332:.
5306:.
5258:.
5240:.
5210:.
5162:.
5143:.
5118:.
5104:.
5070:.
5017:.
4992:.
4967:.
4942:.
4917:.
4879:.
4837:.
4808:.
4784:.
4771:.
4750:.
4725:.
4700:.
4675:.
4636:.
4608:.
4544:.
4524:.
4475:.
4370:.
4351:.
4344:.
4303:C
4208:*
4202:(
4196:)
4190:*
4184:(
4178:)
4175:1
4172:*
4166:(
4163:=
4154:=
4145:*
4139:(
4117:x
4111:5
4099:x
4085:n
4074:x
4071:)
4068:1
4065:-
4062:n
4059:(
4047:x
4038:)
4035:x
4032:)
4029:2
4026:/
4023:n
4020:(
4014:(
4005:n
3990:1
3981:0
3978:=
3975:n
3969:=
3966:x
3963:n
3946:n
3940:n
3937:^
3934:x
3928:x
3892:=
3886::
3883:-
3870:#
3857:=
3845::
3826:=
3817:#
3804:=
3801:a
3792:a
3783:)
3780:a
3771:a
3765:(
3762::
3749:f
3746:)
3737:(
3734:=
3731:f
3722:#
3702:f
3684:=
3678::
3675:-
3662:#
3655:=
3649::
3646:-
3633:#
3619:(
3613:=
3601:x
3598:^
3592:^
3589:x
3586:=
3580::
3577:)
3571::
3568:x
3565:(
3547:=
3535:1
3532:+
3529:x
3526:=
3520::
3517:)
3511::
3508:x
3505:(
3493:x
3490:f
3487:(
3484:f
3478:)
3475:a
3469::
3466:x
3463:(
3457:=
3454:)
3451:a
3442:a
3436::
3433:f
3430:(
3417:f
3413:f
3397:1
3394:0
3391:n
3382:)
3379:b
3376:+
3373:a
3370:(
3367:b
3364:)
3361:1
3358:-
3355:m
3352:(
3343:_
3340:|
3337:a
3331:0
3328:|
3322:m
3316:=
3313:b
3310:a
3307:m
3295:=
3292:n
3275:n
3225:.
3213:.
3198:~
3192:.
3186:;
3180::
3174:~
3168:.
3162:;
3156:`
3150:.
3135:.
3129:;
3120:.
3114:;
3108:.
3099:.
3093:;
3087:`
3081:.
3075:;
3069:.
3066:1
3063::
3060:z
3057:~
3045:.
3039:(
3033:(
3030::
3024:~
3018:.
3012:;
3003:.
2997:;
2991:.
2985:=
2970:t
2964:t
2958:.
2952:=
2949:t
2934::
2928:~
2922:.
2916:(
2910:;
2901::
2895:~
2889:.
2877:.
2868:.
2862:(
2856:=
2822:=
2816::
2813:-
2801:(
2795:(
2789:#
2770:=
2764:.
2752:.
2746::
2734:1
2725:n
2722:(
2713:n
2707:1
2698:0
2689:n
2683:=
2680:n
2668:#
2637:#
2625:#
2622:#
2610:#
2607:#
2585:)
2579:)
2570:(
2564:(
2558:=
2555:_
2546:)
2543:k
2540:^
2531:k
2525:(
2522:n
2519:=
2516:n
2507:)
2504:x
2501:f
2495:(
2492:f
2486:=
2483:x
2480:f
2465:)
2456:(
2450:=
2435:=
2426:)
2423:x
2420:f
2417:n
2414:(
2411:f
2408:=
2405:x
2402:f
2399:n
2390:x
2387:=
2384:x
2381:f
2355:n
2349:x
2343:f
2337:x
2331:f
2321:n
2300:1
2297:0
2294:.
2291:1
2282:)
2279:1
2276:+
2270:(
2258:)
2255:1
2252:+
2246:(
2231:.
2222:5
2219:.
2216:0
2189:)
2174:(
2171:=
2162:=
2144:.
2138:=
2107:@
2104:@
2083:.
2077:=
2071:,
2053:=
2032:|
2026:|
2020:=
1995:@
1992:@
1971:.
1965:=
1959:,
1941:x
1938:=
1935:x
1914:|
1908:|
1902:=
1874:0
1865:.
1859:=
1836:0
1827:.
1821:=
1795:=
1789::
1786:-
1777:#
1764:0
1761:)
1758:x
1755:+
1746:x
1737:(
1731:.
1725:=
1699:=
1693::
1690:-
1681:#
1650:+
1632:|
1623:0
1617:|
1602:=
1579:C
1544:=
1538::
1535:-
1523:#
1517:=
1511::
1508:-
1496:(
1490:#
1471:|
1468:i
1459:i
1453:|
1447:o
1441:=
1438:o
1415:=
1409:a
1403::
1400:-
1391:#
1382:=
1373::
1370:-
1358:#
1257:3
1255:*
1253:2
1251:+
1249:1
1236:#
1208:)
1204:(
1194:·
1187:·
1180:·
1173:·
1156:.
1142:.
961:C
810:C
417:/
411:m
408:æ
405:k
402:ˈ
396:/
392:(
305:C
197:C
157:)
126:)
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.