# \#theory

**URL:** https://discuss.ocaml.org/tag/theory/430.md

[Latest](https://discuss.ocaml.org/latest.md) · [Categories](https://discuss.ocaml.org/categories.md) · [Tags](https://discuss.ocaml.org/tags.md)

---

## [Theory about mutual recursion](https://discuss.ocaml.org/t/theory-about-mutual-recursion/10822)

<div class="topic-metadata">

**Author:** [@Kakadu](https://discuss.ocaml.org/u/Kakadu)\
**Replies:** 4\
**Last updated:** [November 19, 2022, 8:32pm UTC](https://discuss.ocaml.org/t/theory-about-mutual-recursion/10822 "2022-11-19T20:32:15Z")

</div>

I want to extend my HM typechecker with letrec by mutual recursion. Which sources could you recommend me, to get something close to OCaml type inference? I found \[1\] “Principal Typing and Mutual Recursion” paper, and it …

---

## [Is it possible statically to check how composable a function is? \[edit: possibly how "splittable" a function is instead\]](https://discuss.ocaml.org/t/is-it-possible-statically-to-check-how-composable-a-function-is-edit-possibly-how-splittable-a-function-is-instead/7914)

<div class="topic-metadata">

**Author:** [@olleharstedt](https://discuss.ocaml.org/u/olleharstedt)\
**Replies:** 23\
**Last updated:** [February 3, 2022, 3:40pm UTC](https://discuss.ocaml.org/t/is-it-possible-statically-to-check-how-composable-a-function-is-edit-possibly-how-splittable-a-function-is-instead/7914 "2022-02-03T15:40:44Z")

</div>

Composable meaning, can be combined with other functions easily. Side-effects might be one reason you can’t easily combine it. Another, maybe number of arguments? Feel like there should be a measurement or metric for thi…

---

## [Would saving a result to a database preserve referential transparency?](https://discuss.ocaml.org/t/would-saving-a-result-to-a-database-preserve-referential-transparency/7614)

<div class="topic-metadata">

**Author:** [@olleharstedt](https://discuss.ocaml.org/u/olleharstedt)\
**Replies:** 9\
**Last updated:** [April 8, 2021, 1:08am UTC](https://discuss.ocaml.org/t/would-saving-a-result-to-a-database-preserve-referential-transparency/7614 "2021-04-08T01:08:20Z")

</div>

I guess saving to database should be considered a side-effect? Loading something would obviously make the function not-pure, but saving? Same question for saving to cache, or writing to stdout or stderr.
