summaryrefslogtreecommitdiff
path: root/plt/modules.md
blob: 13237437499fd8b8bc1ccf5c7ae46246dcd58ee8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
---
layout: plt
title: computation/modules
---

# modules

papers
- [F-ing Modules](https://www.cambridge.org/core/journals/journal-of-functional-programming/article/fing-modules/B573FA00832D55D4878863DE1725D90B) (2014)

posts
- [Modules Matter Most](https://existentialtype.wordpress.com/2011/04/16/modules-matter-most/) (and [slides](http://macqueenfest.cs.uchicago.edu/slides/harper.pdf))
- ['Modules Matter Most' for the Masses](https://www.pathsensitive.com/2023/03/modules-matter-most-for-masses.html)
- [First-Class Modules: An Introduction](https://dev.realworldocaml.org/first-class-modules.html)
- [Exotic Programming Ideas: Module Systems](https://www.stephendiehl.com/posts/exotic01.html)
- [A Crash Course on ML Modules](https://jozefg.bitbucket.io/posts/2015-01-08-modules.html)
- [UW CSE 341: ML Modules](https://courses.cs.washington.edu/courses/cse341/04wi/lectures/09-ml-modules.html)

books
- [ATTAPL Ch. 8: Design Considerations for ML-style Module Systems](https://annas-archive.org/md5/7175434efd5620b4b117aa45a01777fa)

An overarching question I've had that I've been unable to resolve: are ML-style modules any more expressive than a system with:
- polymorphic data types
- polymorphic interface types
- first-class modules that are *not* polymorphic (no functors)?