jaeswift-website/api/data/awesomelist/ocaml-community--awesome-ocaml.json

1 line
No EOL
38 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"slug": "ocaml-community--awesome-ocaml", "title": "Awesome Ocaml", "description": "A curated collection of awesome OCaml tools, frameworks, libraries and articles.", "github_url": "https://github.com/ocaml-community/awesome-ocaml", "stars": "3K", "tag": "Programming Languages", "entry_count": 253, "subcategory_count": 1, "subcategories": [{"name": "General", "parent": "", "entries": [{"name": "Community", "url": "#community", "description": ""}, {"name": "Algorithms and Data Structures", "url": "#algorithms-and-data-structures", "description": ""}, {"name": "Application Libraries", "url": "#application-libraries", "description": ""}, {"name": "Benchmarking", "url": "#benchmarking", "description": ""}, {"name": "Blogs", "url": "#blogs", "description": ""}, {"name": "Books", "url": "#books", "description": ""}, {"name": "Videos", "url": "#videos", "description": ""}, {"name": "Code Analysis and Linters", "url": "#code-analysis-and-linters", "description": ""}, {"name": "Compilers and Compiler Tools", "url": "#compilers-and-compiler-tools", "description": ""}, {"name": "Concurrency", "url": "#concurrency", "description": ""}, {"name": "Databases", "url": "#databases", "description": ""}, {"name": "Datetime", "url": "#datetime", "description": ""}, {"name": "Developer Tools", "url": "#developer-tools", "description": ""}, {"name": "Exercises and Short Examples", "url": "#exercises-and-short-examples", "description": ""}, {"name": "Formal Software Verification", "url": "#formal-software-verification", "description": ""}, {"name": "General", "url": "#general", "description": ""}, {"name": "Graphics", "url": "#graphics", "description": ""}, {"name": "Internationalization", "url": "#internationalization", "description": ""}, {"name": "User Interface", "url": "#user-interface", "description": ""}, {"name": "Language-related", "url": "#language-related", "description": ""}, {"name": "Large Source Code Examples", "url": "#large-source-code-examples", "description": ""}, {"name": "Logging", "url": "#logging", "description": ""}, {"name": "Machine Learning", "url": "#machine-learning", "description": ""}, {"name": "Messaging", "url": "#messaging", "description": ""}, {"name": "Metaprogramming", "url": "#metaprogramming", "description": ""}, {"name": "Metrics", "url": "#metrics", "description": ""}, {"name": "Mobile Applications", "url": "#mobile-applications", "description": ""}, {"name": "Networking", "url": "#networking", "description": ""}, {"name": "Online Courses", "url": "#online-courses", "description": ""}, {"name": "Package Management", "url": "#package-management", "description": ""}, {"name": "Parallelism", "url": "#parallelism", "description": ""}, {"name": "Project Starter Templates", "url": "#project-starter-templates", "description": ""}, {"name": "Printers helpers", "url": "#printers-helpers", "description": ""}, {"name": "Questions", "url": "#questions", "description": ""}, {"name": "Regular Expressions", "url": "#regular-expressions", "description": ""}, {"name": "Science and Technical Computing", "url": "#science-and-technical-computing", "description": ""}, {"name": "Security and Cryptography", "url": "#security-and-cryptography", "description": ""}, {"name": "Semantic Technology", "url": "#semantic-technology", "description": ""}, {"name": "Serialization", "url": "#serialization", "description": ""}, {"name": "System Programming", "url": "#system-programming", "description": ""}, {"name": "Testing", "url": "#testing", "description": ""}, {"name": "Utilities", "url": "#utilities", "description": ""}, {"name": "Web Development", "url": "#web-development", "description": ""}, {"name": "Official OCaml Website", "url": "https://ocaml.org/", "description": ""}, {"name": "OCaml Discourse Web Forum", "url": "https://discuss.ocaml.org/", "description": ""}, {"name": "OCaml Discord Chat", "url": "https://discord.gg/ZBgYuvR", "description": ""}, {"name": "Official OCaml Mailing List", "url": "https://inbox.ocaml.org/caml-list/", "description": ""}, {"name": "OCaml Planet", "url": "https://ocaml.org/community/planet/", "description": ""}, {"name": "OCaml SubReddit", "url": "https://www.reddit.com/r/ocaml/", "description": ""}, {"name": "Comparing a Machine Learning Algorithm Implemented in F# and OCaml", "url": "https://philtomson.github.io/blog/2014-05-29-comparing-a-machine-learning-algorithm-implemented-in-f-sharp-and-ocaml/", "description": ""}, {"name": "OCamlgraph", "url": "https://github.com/backtracking/ocamlgraph", "description": "A generic graph library for OCaml.", "stars": "244"}, {"name": "ods", "url": "https://github.com/owainlewis/ods", "description": "A large collection of data structures and algorithms for OCaml.", "stars": "51"}, {"name": "combine", "url": "https://github.com/backtracking/combine", "description": "OCaml library for combinatorics <https://www.lri.fr/~filliatr/combine/>.", "stars": "35"}, {"name": "Decompress", "url": "https://github.com/mirage/decompress", "description": "A pure OCaml implementation of Zlib.", "stars": "118"}, {"name": "Ke", "url": "https://github.com/mirage/ke", "description": "Fast implementation of queue (FIFO) in OCaml.", "stars": "51"}, {"name": "Duff", "url": "https://github.com/mirage/duff", "description": "Implementation of Rabin's fingerprint and delta compression by P. MacDonald in OCaml (same as [libXdiff](http://www.xmailserver.org/xdiff-lib.html)", "stars": "20"}, {"name": "ORaft", "url": "https://github.com/komamitsu/oraft", "description": "Library of [Raft consensus algorithm](https://raft.github.io/raft.pdf) implemented in OCaml", "stars": "30"}, {"name": "ODiff", "url": "https://github.com/dmtrKovalenko/odiff", "description": "Library of [YIQ NTSC transmission image difference alghoritm](http://www.progmat.uaem.mx:8080/artVol2Num2/Articulo3Vol2Num2.pdf) implemented in OCaml and ReasonML.", "stars": "2.7k"}, {"name": "Batteries Included", "url": "https://github.com/ocaml-batteries-team/batteries-included", "description": "A community-maintained foundation library for your OCaml projects.", "stars": "523"}, {"name": "Cmdliner", "url": "https://github.com/dbuenzli/cmdliner", "description": "Declarative definition of command line interfaces for OCaml.", "stars": "324"}, {"name": "Core", "url": "https://github.com/janestreet/core", "description": "Jane Street Capital's full-fledged standard library overlay. A portable subset of Core is also available: [Core\\_kernel (⭐219)](https://github.com/janestreet/core_kernel).", "stars": "1.2k"}, {"name": "Base", "url": "https://github.com/janestreet/base", "description": "Jane Street Capital's dependency-free, quick-compiling, fully-portable across any environment that can run OCaml code standard library.", "stars": "980"}, {"name": "React", "url": "http://erratique.ch/software/react", "description": "React is an OCaml module for functional reactive programming (FRP). It provides support for programs with time-varying values, declarative events, and signals."}, {"name": "Minicli", "url": "https://github.com/UnixJunkie/minicli", "description": "Minimalist library for command-line parsing.", "stars": "31"}, {"name": "easy-format", "url": "https://github.com/mjambon/easy-format", "description": "Pretty-printing library for OCaml.", "stars": "43"}, {"name": "ocaml-rpc", "url": "https://github.com/mirage/ocaml-rpc", "description": "Light library to deal with RPCs in OCaml.", "stars": "97"}, {"name": "ocaml-containers", "url": "https://github.com/c-cube/ocaml-containers", "description": "A lightweight, modular standard library extension, string library, and interfaces to various libraries (bigarrays, Unix, etc.) BSD license.", "stars": "513"}, {"name": "core\\_bench", "url": "https://github.com/janestreet/core_bench", "description": "Micro-benchmarking library for OCaml by Jane Street.", "stars": "54"}, {"name": "benchmark", "url": "https://github.com/Chris00/ocaml-benchmark", "description": "Benchmarking functions for measuring the run-time of functions using latency or throughput.", "stars": "32"}, {"name": "Gagallium", "url": "http://gallium.inria.fr/blog/", "description": ""}, {"name": "Type OCaml Many things about OCaml", "url": "http://typeocaml.com/", "description": ""}, {"name": "OCaml Platform", "url": "https://opam.ocaml.org/blog/", "description": ""}, {"name": "Drup's Thingies", "url": "https://drup.github.io/", "description": ""}, {"name": "Thomas Letans articles about OCaml", "url": "https://soap.coffee/~lthms/tags/ocaml.html", "description": ""}, {"name": "More OCaml: Algorithms, Methods, and Diversions", "url": "https://www.amazon.com/More-OCaml-Algorithms-Methods-Diversions/dp/0957671113/", "description": "In More OCaml, John Whitington takes a meandering tour of functional programming with OCaml, introducing various language features and describing some classic algorithms. The book ends with a large-scale example dealing with the production of PDF files. There are questions for each chapter, along with worked-out answers and hints."}, {"name": "How to Think Like a (Functional) Programmer", "url": "http://www.greenteapress.com/thinkocaml/index.html", "description": ""}, {"name": "OCaml from the Very Beginning", "url": "http://ocaml-book.com/", "description": ""}, {"name": "Pearls of Functional Algorithm Design", "url": "https://www.amazon.co.uk/Pearls-Functional-Algorithm-Design-Richard/dp/0521513383", "description": ""}, {"name": "Real World OCaml", "url": "https://realworldocaml.org/", "description": ""}, {"name": "Unix System Programming in OCaml", "url": "https://ocaml.github.io/ocamlunix/", "description": ""}, {"name": "Using, Understanding, and Unraveling OCaml", "url": "https://caml.inria.fr/pub/docs/u3-ocaml", "description": "This book describes both the OCaml language and the theoretical grounds behind its powerful type system."}, {"name": "Purely Functional Data Structures", "url": "https://www.amazon.co.uk/Purely-Functional-Structures-Chris-Okasaki/dp/0521631246/ref=sr_1_1?ie=UTF8\\&qid=1406279836\\&sr=8-1\\&keywords=functional+data+structures", "description": "This is the first or only book focus on various data structures in FP world. A must-read one."}, {"name": "OCaml for Scientists", "url": "http://www.ffconsultancy.com/products/ocaml_for_scientists/", "description": "by Jon Harrop."}, {"name": "OCaml Programming: Correct + Efficient + Beautiful", "url": "https://cs3110.github.io/textbook", "description": "Textbook on Functional Programming and Data Structures in OCaml - by Michael R. Clarkson et al."}, {"name": "Mascot", "url": "http://mascot.x9c.fr/", "description": "Mascot is a style-checker for OCaml sources."}, {"name": "pfff", "url": "https://github.com/returntocorp/pfff", "description": "pfff is a set of tools and APIs to perform some static analysis, dynamic analysis, code visualizations, code navigations, or style-preserving source-to-source transformations such as refactorings on source code.", "stars": "183"}, {"name": "Infer", "url": "https://github.com/facebook/infer", "description": "Infer is a static analyzer for Java, C and Objective-C", "stars": "15k"}, {"name": "Frama-C", "url": "http://frama-c.com", "description": "Frama-C is a static analysis and formal proof framework for C and C++."}, {"name": "flow", "url": "https://github.com/facebook/flow", "description": "flow is a static type checker for JavaScript.", "stars": "22k"}, {"name": "SLAyer", "url": "https://github.com/Microsoft/SLAyer", "description": "SLAyer is an automatic formal verification tool that uses separation logic to verify memory safety of C programs.", "stars": "325"}, {"name": "MemCAD", "url": "https://github.com/Antique-team/memcad", "description": "MemCAD is an abstract interpreter for shape analysis. MemCAD can verify C programs manipulating complex data structures.", "stars": "27"}, {"name": "Camelot", "url": "https://github.com/upenn-cis1xx/camelot", "description": "Camelot is a modular and fully configurable OCaml linter and stylechecker.", "stars": "45"}, {"name": "coq-of-ocaml", "url": "https://github.com/formal-land/coq-of-ocaml", "description": "Translator from OCaml to Coq to formally verify OCaml code.", "stars": "269"}, {"name": "MOPSA", "url": "https://gitlab.com/mopsa/mopsa-analyzer", "description": "MOPSA is a generic framework for building sound static analyzers based on the theory of abstract interpretation."}, {"name": "BAP", "url": "https://github.com/BinaryAnalysisPlatform/bap", "description": "BAP is a reverse engineering and program analysis platform that targets binary programs.", "stars": "2.2k"}, {"name": "BinCat", "url": "https://github.com/airbus-seclab/bincat", "description": "BinCat is a binary code static analysis toolkit.", "stars": "1.8k"}, {"name": "cwe\\_checker", "url": "https://github.com/fkie-cad/cwe_checker", "description": "cwe\\_checker finds vulnerable patterns in binary executables.", "stars": "1.3k"}, {"name": "Owi", "url": "https://github.com/OCamlPro/owi", "description": "Owi is a toolchain for working with WebAssembly (Wasm) in OCaml, featuring a powerful, parallel symbolic execution engine for Wasm. It also provides frontends for compiling and analyzing C and Rust programs.", "stars": "266"}, {"name": "Smt.ml", "url": "https://github.com/formalsec/smtml", "description": "Smt.ml is a frontend OCaml library that interfaces with multiple SMT solvers, enabling seamless integration of solvers like Z3, cvc5, Colibri2, Bitwuzla, and Alt-Ergo within OCaml programs.", "stars": "55"}, {"name": "ISO8601", "url": "https://github.com/sagotch/ISO8601.ml", "description": "", "stars": "28"}, {"name": "calendar", "url": "http://calendar.forge.ocamlcore.org/", "description": ""}, {"name": "odate", "url": "https://github.com/hhugo/odate", "description": "", "stars": "22"}, {"name": "ptime", "url": "http://erratique.ch/software/ptime", "description": ""}, {"name": "Try OCaml", "url": "https://try.ocamlpro.com/", "description": "Try OCaml in your web browser."}, {"name": "learn-ocaml", "url": "https://github.com/ocaml-sf/learn-ocaml", "description": "", "stars": "324"}, {"name": "learn-ocaml.el", "url": "https://github.com/pfitaxel/learn-ocaml.el", "description": "", "stars": "8"}, {"name": "BetterOCaml", "url": "https://betterocaml.ml", "description": "An efficient, intuitive, and cross-platform web IDE with your OCaml code interpreted and running in your browser!"}, {"name": "codingground", "url": "https://www.tutorialspoint.com/compile_ocaml_online.php", "description": "Compile and execute OCaml code online."}, {"name": "OCaml: Learn & Code iOS app", "url": "https://apps.apple.com/app/ocaml-learn-code/id1547506826", "description": "Learn and execute OCaml code from your iPhone/iPad/Mac."}, {"name": "Jupyter", "url": "https://github.com/akabe/ocaml-jupyter", "description": "An OCaml kernel for the Jupyter notebook.", "stars": "305"}, {"name": "utop", "url": "https://github.com/ocaml-community/utop", "description": "Universal toplevel for OCaml with support for multiline edition, history, real-time and context-sensitive completion, colors, and more.", "stars": "903"}, {"name": "ocamlformat", "url": "https://github.com/ocaml-ppx/ocamlformat", "description": "A command-line tool to format OCaml code.", "stars": "697"}, {"name": "ocamlbrowser", "url": "http://caml.inria.fr/pub/docs/manual-ocaml/browser.html", "description": "A source and compiled interface browser, written using LablTk. Included in the standard distribution for ocaml <= 4.01 and with labltk for ocaml >= 4.02."}, {"name": "ghim", "url": "https://github.com/samoht/ghim", "description": "A command-line tool to manage Github Issues.", "stars": "19"}, {"name": "OCaml Yeoman Generator", "url": "https://github.com/mabrasil/generator-ocaml", "description": "Yeoman generator to scaffold OCaml modules.", "stars": "22"}, {"name": "puml2xml", "url": "https://github.com/khalidbelk/puml2xml", "description": "A PlantUML (**.puml**) to XML (**.xmi**) converter.", "stars": "4"}, {"name": "99 problems", "url": "https://ocaml.org/learn/tutorials/99problems.html", "description": ""}, {"name": "learn-ocaml-corpus", "url": "https://ocaml-sf.org/learn-ocaml-public/#activity=exercises", "description": ""}, {"name": "Rosetta Code", "url": "http://rosettacode.org/wiki/Category:OCaml", "description": ""}, {"name": "OCaml at Exercism", "url": "http://exercism.io/languages/ocaml", "description": "Exercism is your place to engage in thoughtful conversations about code. Explore simplicity, idiomatic language features, and expressive, readable code. [Solutions (⭐105)](https://github.com/exercism/xocaml)."}, {"name": "Programming Language Examples Alike Cookbook", "url": "http://pleac.sourceforge.net/pleac_ocaml/index.html", "description": "The OCaml section of the book is a free reference for solving common programming problems using OCaml."}, {"name": "Coq", "url": "https://coq.inria.fr/", "description": "Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms, and theorems, together with an environment for semi-interactive development of machine-checked proofs."}, {"name": "Why3", "url": "http://why3.lri.fr/", "description": "Why3 is a platform for deductive program verification. It provides a rich language for specification and programming, called WhyML, and relies on external theorem provers, both automated and interactive, to discharge verification conditions."}, {"name": "Alt-Ergo", "url": "http://alt-ergo.lri.fr/", "description": "Alt-Ergo is an open-source SMT solver dedicated to the proof of mathematical formulas generated in the context of program verification."}, {"name": "Functional Programming with OCaml", "url": "https://haifengl.wordpress.com/2014/06/17/ocaml-introduction/", "description": ""}, {"name": "Python to OCaml: retrospective", "url": "http://roscidus.com/blog/blog/2014/06/06/python-to-ocaml-retrospective/", "description": ""}, {"name": "OCaml for the Masses", "url": "http://queue.acm.org/detail.cfm?id=2038036", "description": ""}, {"name": "Why We Use OCaml", "url": "https://espertech.wordpress.com/2014/07/15/why-we-use-ocaml", "description": ""}, {"name": "Xen OCaml Coding Considerations", "url": "http://wiki.xen.org/wiki/OCaml_Coding_Considerations", "description": ""}, {"name": "Monads are a class of hard drugs", "url": "http://lambda-diode.com/programming/monads-are-a-class-of-hard-drugs", "description": ""}, {"name": "Beginner's guide to OCaml", "url": "http://blog.nullspace.io/beginners-guide-to-ocaml-beginners-guides.html", "description": ""}, {"name": "Why OCaml, why now?", "url": "http://spyder.wordpress.com/2014/03/16/why-ocaml-why-now/", "description": ""}, {"name": "A blog about game development in OCaml", "url": "http://cranialburnout.blogspot.ca/", "description": ""}, {"name": "(Functional) Alternatives to inheritance", "url": "http://ocamltutorials.blogspot.se/2013/06/alternatives-to-subtyping.html", "description": ""}, {"name": "camlPDF", "url": "https://github.com/johnwhitington/camlpdf", "description": "OCaml library for reading, writing and modifying PDF files.", "stars": "218"}, {"name": "slacko", "url": "https://github.com/Leonidas-from-XIV/slacko", "description": "A neat interface for Slack in OCaml.", "stars": "86"}, {"name": "Learn X in Y minutes", "url": "https://learnxinyminutes.com/docs/ocaml/", "description": "Where X=OCaml."}, {"name": "Camomile", "url": "https://github.com/yoriyuki/Camomile/", "description": "A Unicode library for OCaml.", "stars": "124"}, {"name": "ocaml-m17n", "url": "https://github.com/whitequark/ocaml-m17n", "description": "Multilingualization for OCaml source code. Allows using Unicode identifiers in OCaml source code.", "stars": "49"}, {"name": "Uucd", "url": "https://github.com/dbuenzli/uucd", "description": "Unicode character database decoder for OCaml.", "stars": "17"}, {"name": "Uucp", "url": "https://github.com/dbuenzli/uucp", "description": "Unicode character properties for OCaml.", "stars": "24"}, {"name": "Uunf", "url": "https://github.com/dbuenzli/uunf", "description": "Unicode text normalization for OCaml.", "stars": "24"}, {"name": "Uuseg", "url": "https://github.com/dbuenzli/uuseg", "description": "Unicode text segmentation for OCaml.", "stars": "25"}, {"name": "Uutf", "url": "https://github.com/dbuenzli/uutf", "description": "Non-blocking streaming Unicode codec for OCaml.", "stars": "35"}, {"name": "lablgtk", "url": "https://garrigue.github.io/lablgtk/", "description": "GTK2 and GTK3 bindings for OCaml with various higher-level facilities to define GUIs."}, {"name": "lablqml", "url": "https://github.com/Kakadu/lablqml", "description": "QML Qt5 bindings for OCaml.", "stars": "164"}, {"name": "labltk", "url": "https://forge.ocamlcore.org/projects/labltk/", "description": "Interface to the Tcl/Tk GUI framework. In the standard distribution for ocaml <= 4.01."}, {"name": "TSDL", "url": "http://erratique.ch/software/tsdl", "description": "Tsdl is an OCaml module providing thin bindings to the cross-platform SDL library."}, {"name": "Lambda-Term", "url": "https://github.com/ocaml-community/lambda-term", "description": "Lambda-Term is a cross-platform library for manipulating the terminal. It provides an abstraction for keys, mouse events, and colors, as well as a set of widgets to write curses-like applications.", "stars": "224"}, {"name": "Notty", "url": "https://github.com/pqwy/notty", "description": "Notty is a declarative terminal library for OCaml, structured around the notion of composable images.", "stars": "371"}, {"name": "ocaml-linenoise", "url": "https://github.com/ocaml-community/ocaml-linenoise", "description": "Self-contained OCaml bindings to linenoise; easy high-level readline functionality in OCaml.", "stars": "55"}, {"name": "Higher-Rank Polymorphism in OCaml", "url": "http://devmusings.legiasoft.com/blog/2008/05/23/higher-rank_polymorphism_in_ocaml", "description": ""}, {"name": "mikmatch", "url": "https://github.com/mjambon/mikmatch", "description": "OCaml pattern-matching extended with regexps", "stars": "23"}, {"name": "Inlined records in constructors", "url": "https://www.lexifi.com/ocaml/inlined-records-constructors/", "description": ""}, {"name": "Algebraic Data Types", "url": "https://espertech.wordpress.com/2014/07/30/algebraic-data-types/", "description": ""}, {"name": "XEN OCaml Best Practices for Developers", "url": "http://wiki.xen.org/wiki/OCaml_Best_Practices_for_Developers", "description": ""}, {"name": "OCaml Style Guide (by Jane Street)", "url": "https://opensource.janestreet.com/standards/", "description": "See also: [\\[1\\]](https://www.seas.upenn.edu/~cis500/cis500-f06/resources/programming_style.html), [\\[2\\]](http://www.cs.cornell.edu/Courses/cs312/2001sp/style.html), [\\[3\\]](https://www.seas.upenn.edu/~cis120/20fa/ocaml_style/)."}, {"name": "A safe but strange way of modifying OCaml compiler", "url": "https://camlspotter.blogspot.com/2012/09/a-safe-but-strange-way-of-modifying.html", "description": ""}, {"name": "Fiddling with the OCaml Type System", "url": "https://technotroph.wordpress.com/2013/10/25/fiddling-with-the-ocaml-type-system/", "description": ""}, {"name": "Base", "url": "https://github.com/janestreet/base", "description": "Standard library for OCaml", "stars": "980"}, {"name": "cil", "url": "https://github.com/cil-project/cil", "description": "C Intermediate Language", "stars": "386"}, {"name": "coq", "url": "https://github.com/coq/coq", "description": "formal proof management system", "stars": "5.3k"}, {"name": "frama-c", "url": "https://git.frama-c.com/pub/frama-c", "description": "platform dedicated to the analysis of source code written in C"}, {"name": "libguestfs", "url": "https://github.com/libguestfs/libguestfs", "description": "library and tools for accessing and modifying virtual machine disk images", "stars": "695"}, {"name": "Liquidsoap", "url": "https://github.com/savonet/liquidsoap", "description": "a swiss-army knife for multimedia streaming, notably used for netradios and webtvs", "stars": "1.6k"}, {"name": "mirage", "url": "https://github.com/mirage/mirage", "description": "library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms", "stars": "2.8k"}, {"name": "MLDonkey", "url": "https://github.com/ygrek/mldonkey", "description": "cross-platform multi-network peer-to-peer daemon", "stars": "320"}, {"name": "Oni2", "url": "https://github.com/onivim/oni2", "description": "Native, lightweight modal code editor.", "stars": "7.9k"}, {"name": "pfff", "url": "https://github.com/returntocorp/pfff", "description": "an OCaml API to write static analysis, dynamic analysis, code visualizations, code navigations, or style-preserving source-to-source transformations such as refactorings on source code.", "stars": "183"}, {"name": "Tezos", "url": "https://gitlab.com/tezos/tezos", "description": "a self-upgradable Proof of Stake blockchain"}, {"name": "WHY3", "url": "https://gitlab.inria.fr/why3/why3", "description": "platform for deductive program verification"}, {"name": "xen-api", "url": "https://github.com/xapi-project/xen-api", "description": "management stack that configures and controls Xen-enabled hosts and resource pools, and co-ordinates resources within the pool.", "stars": "357"}, {"name": "dolog", "url": "https://github.com/UnixJunkie/dolog", "description": "A dumb OCaml logger.", "stars": "37"}, {"name": "Volt", "url": "https://github.com/codinuum/volt", "description": "A variant of the Bolt OCaml logging tool.", "stars": "8"}, {"name": "Logs", "url": "http://erratique.ch/software/logs", "description": "Logs provides a logging infrastructure for OCaml."}, {"name": "ocaml-zmq", "url": "https://github.com/issuu/ocaml-zmq", "description": "ZeroMQ bindings for OCaml with Async and Lwt wrappers.", "stars": "83"}, {"name": "onanomsg", "url": "https://github.com/rgrinberg/onanomsg", "description": "nanomsg bindings for OCaml.", "stars": "38"}, {"name": "Kafka", "url": "https://github.com/didier-wenzek/ocaml-kafka", "description": "OCaml bindings for Apache Kafka.", "stars": "69"}, {"name": "AMQP", "url": "https://github.com/andersfugmann/amqp-client", "description": "AMQP client library for Async and Lwt.", "stars": "64"}, {"name": "MPI", "url": "https://github.com/xavierleroy/ocamlmpi", "description": "Message Passing Interface bindings for OCaml.", "stars": "26"}, {"name": "MQTT", "url": "https://github.com/j0sh/ocaml-mqtt", "description": "OCaml implementation of the MQTT pubsub protocol.", "stars": "19"}, {"name": "capnp-ocaml", "url": "https://github.com/capnproto/capnp-ocaml", "description": "OCaml code generator plugin for the Cap'n Proto serialization framework.", "stars": "102"}, {"name": "prometheus", "url": "https://github.com/mirage/prometheus", "description": "OCaml client library for Prometheus monitoring.", "stars": "54"}, {"name": "ocaml-dns", "url": "https://github.com/mirage/ocaml-dns", "description": "A pure OCaml implementation of the DNS protocol.", "stars": "109"}, {"name": "fluent-logger", "url": "https://github.com/fluent/fluent-logger-ocaml", "description": "Fluentd logger for OCaml.", "stars": "8"}, {"name": "charrua-unix", "url": "https://github.com/haesbaert/charrua-unix", "description": "charrua-unix is a Unix DHCP daemon based on [charrua-core (⭐56)](https://github.com/haesbaert/charrua-core).", "stars": "11"}, {"name": "OCaml MOOC: Introduction to Functional Programming in OCaml", "url": "https://www.fun-mooc.fr/en/courses/introduction-functional-programming-ocaml/", "description": "Videos available in [this playlist](https://www.youtube.com/playlist?list=PLTBEN441uEY36t5CCrJkdTSv588d3nWN5) of the [OCaml Software Foundation](https://ocaml-sf.org/) YouTube channel."}, {"name": "Cornell University Data Structures and Functional Programming", "url": "http://www.cs.cornell.edu/Courses/cs3110/2014fa/course_info.php", "description": ""}, {"name": "Princeton University - Functional programming in OCaml", "url": "http://www.cs.princeton.edu/~dpw/courses/cos326-12/", "description": ""}, {"name": "University of Illinois", "url": "https://courses.engr.illinois.edu/cs421/fa2014/", "description": "Course that uses OCaml to teach functional programming and programming language design"}, {"name": "**Dum**", "url": "https://github.com/mjambon/dum#readme", "description": ""}, {"name": "**Inspect**", "url": "https://github.com/krohrer/caml-inspect#readme", "description": ""}, {"name": "**ppx\\_deriving**", "url": "https://github.com/ocaml-ppx/ppx_deriving#usage", "description": ""}, {"name": "**refl**", "url": "https://github.com/thierry-martinez/refl#basic-usage", "description": ""}, {"name": "**lrt**", "url": "https://github.com/LexiFi/lrt#getting-started", "description": ""}, {"name": "**tpf**", "url": "https://github.com/pqwy/tpf#readme", "description": ""}, {"name": "**typerep**", "url": "https://github.com/janestreet/typerep", "description": ""}, {"name": "**repr**", "url": "https://mirage.github.io/repr/repr/Repr/index.html#val-pp_json", "description": ""}, {"name": "**data-encoding**", "url": "https://gitlab.com/nomadic-labs/data-encoding/-/blob/master/src/tutorial.md#how-to-build-an-encoding", "description": ""}, {"name": "**cmon**", "url": "https://github.com/let-def/cmon#documentation", "description": ""}, {"name": "**dyn**", "url": "https://github.com/ocaml/dune/blob/4b95cd3d1b3a62e69a9a9db2bc4af2f9fd2e56d8/otherlibs/dyn/dyn.mli", "description": ""}, {"name": "**Genprint**", "url": "https://github.com/progman1/genprintlib#readme", "description": ""}, {"name": "**OCaml@p**", "url": "https://github.com/tsubame-sp/ocaml_at_p#readme", "description": ""}, {"name": "drom", "url": "https://github.com/OCamlPro/drom/", "description": "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience.", "stars": "196"}, {"name": "spin", "url": "https://github.com/tmattio/spin", "description": "Reason and Ocaml project generator", "stars": "299"}, {"name": "modern-ocaml", "url": "https://github.com/Khady/modern-ocaml", "description": "Template for an ocaml project with modern tooling", "stars": "89"}, {"name": "OCaml polymorphism example other than template function?", "url": "https://stackoverflow.com/questions/14440531/ocaml-polymorphism-example-other-than-template-function", "description": ""}, {"name": "OCaml - polymorphic print and type losing", "url": "https://stackoverflow.com/questions/7442449/ocaml-polymorphic-print-and-type-losing", "description": ""}, {"name": "biocaml", "url": "https://github.com/biocaml/biocaml", "description": "OCaml Bioinformatics Library <http://biocaml.org>.", "stars": "124"}, {"name": "bistro", "url": "https://github.com/pveber/bistro", "description": "OCaml library for building bioinformatics pipelines.", "stars": "48"}, {"name": "lacaml", "url": "https://mmottl.github.io/lacaml/", "description": "OCaml bindings for BLAS/LAPACK (high-performance linear algebra Fortran libraries)."}, {"name": "obandit", "url": "http://freux.fr/oss/obandit.html", "description": "OCaml library for multi-armed bandits."}, {"name": "onumerical", "url": "https://github.com/cheshire/onumerical", "description": "Numerical library for OCaml.", "stars": "8"}, {"name": "oml", "url": "https://github.com/hammerlab/oml", "description": "OCaml library for general numerical work.", "stars": "120"}, {"name": "ocephes", "url": "https://github.com/rleonid/ocephes", "description": "Bindings to frequently used `C` special functions library.", "stars": "12"}, {"name": "slap", "url": "https://github.com/akabe/slap", "description": "A linear algebra library in OCaml with type-based static size checking for matrix operations.", "stars": "89"}, {"name": "tensorflow-ocaml", "url": "https://github.com/LaurentMazare/tensorflow-ocaml", "description": "OCaml bindings for TensorFlow.", "stars": "287"}, {"name": "owl", "url": "https://github.com/owlbarn/owl", "description": "OCaml numerical library: dense and sparse matrix, linear algebra, regressions, maths and stats functions.", "stars": "1.3k"}, {"name": "WHIZARD", "url": "https://whizard.hepforge.org/", "description": "A system designed for the efficient calculation of multi-particle scattering cross sections and simulated event samples."}, {"name": "Re", "url": "https://github.com/ocaml/ocaml-re", "description": "a pure OCaml regular expressions library with combinators, supporting several formats (glob, posix, str, etc.).", "stars": "249"}, {"name": "ocaml-pcre", "url": "https://github.com/mmottl/pcre-ocaml", "description": "bindings to the PCRE library (perl-compatible regular expressions)", "stars": "35"}, {"name": "Humane-re", "url": "https://github.com/rgrinberg/humane-re", "description": "Humane-re attempts to provide an easy interface for 90% of your regex needs. Courtesy of ocaml-re.", "stars": "26"}, {"name": "Tyre", "url": "https://github.com/Drup/tyre", "description": "Tyre is a set of combinators to build type-safe regular expressions, allowing automatic extraction and modification of matched groups.", "stars": "180"}, {"name": "ocaml-tls", "url": "https://github.com/mirleft/ocaml-tls", "description": "TLS in pure OCaml.", "stars": "318"}, {"name": "Digestif", "url": "https://github.com/mirage/digestif", "description": "Hash algorithms (like SHA\\* or BLAKE2\\*) in OCaml and C.", "stars": "93"}, {"name": "cryptokit", "url": "https://github.com/xavierleroy/cryptokit", "description": "The Cryptokit library for OCaml provides a variety of cryptographic primitives that can be used to implement cryptographic protocols in security-sensitive applications.", "stars": "103"}, {"name": "nocoiner", "url": "https://github.com/marcoonroad/nocoiner", "description": "A Commitment scheme library for Multi-party computations such as online auctions and gambling.", "stars": "11"}, {"name": "nocrypto", "url": "https://github.com/mirleft/ocaml-nocrypto", "description": "A small cryptographic library behind the ocaml-tls project. It is built to be straightforward to use, adhere to functional programming principles, and able to run in a Xen-based unikernel.", "stars": "111"}, {"name": "OCaml-RDF", "url": "https://framagit.org/zoggy/ocaml-rdf", "description": "OCaml library to manipulate RDF graphs and execute Sparql queries."}, {"name": "atdgen", "url": "https://github.com/ahrefs/atd", "description": "A serialization compiler for multiple languages (OCaml, Java, Python, Scala, Typescript) with a Binou or JSON format", "stars": "334"}, {"name": "bencode", "url": "https://github.com/rgrinberg/bencode", "description": "Bencode (.torrent file format) reader/writer.", "stars": "25"}, {"name": "biniou", "url": "https://github.com/mjambon/biniou", "description": "Extensible binary data format, like JSON but faster.", "stars": "43"}, {"name": "cbor", "url": "https://github.com/ygrek/ocaml-cbor", "description": "OCaml native [CBOR](https://cbor.io/) decoder/encoder.", "stars": "24"}, {"name": "jsonm", "url": "http://erratique.ch/software/jsonm", "description": "Non-blocking streaming JSON codec for OCaml."}, {"name": "xmlm", "url": "http://erratique.ch/software/xmlm", "description": "A streaming codec to decode and encode the XML data format."}, {"name": "yojson", "url": "https://github.com/ocaml-community/yojson", "description": "An optimized parsing and printing library for the JSON format.", "stars": "360"}, {"name": "sexplib", "url": "https://github.com/janestreet/sexplib", "description": "A S-expression parser and printer", "stars": "172"}, {"name": "Mirage OS", "url": "https://github.com/mirage/mirage", "description": "Mirage is a programming framework for constructing secure, high-performance network applications across a variety of cloud computing and mobile platforms.", "stars": "2.8k"}, {"name": "ocaml-fat", "url": "https://github.com/mirage/ocaml-fat", "description": "Read and write FAT-format filesystems from OCaml.", "stars": "25"}, {"name": "ocaml-git", "url": "https://github.com/mirage/ocaml-git", "description": "Pure OCaml low-level git bindings.", "stars": "368"}, {"name": "ocaml-vchan", "url": "https://github.com/mirage/ocaml-vchan", "description": "Pure OCaml implementation of the \"vchan\" shared-memory communication protocol.", "stars": "45"}, {"name": "Alcotest", "url": "https://github.com/mirage/alcotest", "description": "A lightweight and colourful test framework.", "stars": "497"}, {"name": "OUnit", "url": "http://ounit.forge.ocamlcore.org/", "description": "OUnit is a unit test framework for OCaml. It allows one to easily create unit-tests for OCaml code. It is based on HUnit, a unit testing framework for Haskell."}, {"name": "QCheck", "url": "https://github.com/c-cube/qcheck", "description": "QCheck is a property testing library inspired from Haskell's QuickCheck", "stars": "385"}, {"name": "iTeML", "url": "https://github.com/vincent-hugot/iTeML", "description": "", "stars": "67"}, {"name": "Kaputt", "url": "http://kaputt.x9c.fr/", "description": "comprehensive testing framework."}, {"name": "Pa\\_test", "url": "https://ocaml.janestreet.com/ocaml-core/111.28.00/doc/pa_test", "description": "General inline testing macro's."}, {"name": "TestSimple", "url": "https://github.com/hcarty/ocaml-testsimple", "description": "A lightweight unit testing framework compatible with the [Test Anything Protocol](https://testanything.org/).", "stars": "13"}, {"name": "expect-test", "url": "https://github.com/janestreet/ppx_expect", "description": "A framework for writing tests in OCaml, similar to [Cram](https://bitheap.org/cram/), developed by [JaneStreet](https://blog.janestreet.com/testing-with-expectations/).", "stars": "180"}, {"name": "ocaml-cuid", "url": "https://github.com/marcoonroad/ocaml-cuid", "description": "Collision-resistant IDs for server scalability & database performance.", "stars": "18"}, {"name": "Validate", "url": "https://github.com/Axot017/validate", "description": "PPX deriver designed to streamline the process of validating records.", "stars": "17"}, {"name": "Uuidm", "url": "https://erratique.ch/software/uuidm", "description": "Uuidm is an OCaml module implementing 128-bit universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122."}, {"name": "sqids-ocaml", "url": "https://github.com/sqids/sqids-ocaml", "description": "Official OCaml port of Sqids. Generate short unique IDs from numbers.", "stars": "10"}]}]}