View on GitHub
OCamlverse
Documenting everything about OCaml
Quickstart
OPAM for npm/yarn users
Quickstart OCaml
Quickstart an OCaml app project using Dune
Learning
Best Practices
Bigarray
OCaml Documentation Guidelines
Editor Setup
Frequently asked questions
An if, semicolon, and let gotcha
Learning
Quick and Dirty Guide to Monadic Parsers and Angstrom
Optimizing OCaml Performance
Papers on OCaml
A Guide to PreProcessor eXtensions
Projects
Questions and Answers around the web
Quickstart OCaml
Quickstart an OCaml app project using Dune
Tips and Tricks
Weak Type Variables
Windows Support
Compiler
Compiler
Object-Oriented Programming in OCaml
Package management
Package Management
OPAM for npm/yarn users
Types
Weak Type Variables
Best practices
Best Practices
OCaml Documentation Guidelines
Optimizing OCaml Performance
Ecosystem
Applications written in OCaml
Audio
Package Management
Code Tools
Command Line Arguments
Compilers, Typecheckers, and Parsers
Data Structures and Algorithms
Databases
Debugging
Ecosystem
Editor Setup
Foreign Function Interface
File Formats
File Manipulation
Functional Reactive Programming
Game Development
Graphics
Graphing, Plotting and Data Visualization
Hardware Design
Help Wanted
Lenses
Logging
Metaprogramming and PPX
Mobile
Quick and Dirty Guide to Monadic Parsers and Angstrom
Monads
OCaml Platform
Concurrency, Parallelism, and Distributed Systems
A Guide to PreProcessor eXtensions
Pretty Printing
Protocols
RPC (Remote Procedure Calls)
Machine Learning, Deep Learning, Scientific Computing and Data Science
Searching
Security and Cryptography
Formal Software Verification
Standard Libraries
Static Analysis
String Manipulation
Systems Programming
Unit Testing
User Interface
Unicode
Web, Networking and Cloud Computing
Advanced
Papers on OCaml
Community
Community
Meta
About OCamlverse
Contributing
Page Contents
Functors
Introduction
Pitfalls
Edit
Functors
Introduction
See Introduction to Functors
.
Good documentation on the module system and functors is given here:
The module system
Destructive substitution
Pitfalls
Great discussion of the difficulties encountered with functors and alternatives
Discussion of how functors don’t scale that well (pdf)