Skip to content

Commit

Permalink
Add a preamble to the tutorial to introduce domain-specific language (#…
Browse files Browse the repository at this point in the history
…2954)

* Add a preamble to the tutorial to introduce domain-specific and multi-language cloud terminology for ease of reading

* Update data/tutorials/language/1ms_02_dune.md

Co-authored-by: Cuihtlauac Alvarado <[email protected]>

* Update data/tutorials/language/1ms_02_dune.md

Co-authored-by: Cuihtlauac Alvarado <[email protected]>

* Updates to pull request suggestions

* Update '.. note::'' to '**note**:'

* Update data/tutorials/language/1ms_02_dune.md

Co-authored-by: Cuihtlauac Alvarado <[email protected]>

* Update data/tutorials/language/1ms_02_dune.md

Co-authored-by: Cuihtlauac Alvarado <[email protected]>

* Update data/tutorials/language/1ms_02_dune.md

Co-authored-by: Cuihtlauac Alvarado <[email protected]>

---------

Co-authored-by: Cuihtlauac Alvarado <[email protected]>
  • Loading branch information
jakubsvec001 and cuihtlauac authored Feb 14, 2025
1 parent 267c8a7 commit 4ba754c
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion data/tutorials/language/1ms_02_dune.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ Dune provides several means to arrange modules into libraries. We look at Dune's

This tutorial uses the [Dune](https://dune.build) build tool. Make sure you have version 3.7 or later installed.

In the following toy project, we create an OCaml library for the World Meteorological Organization, with clouds as its subject.

We use unique terms for different elements of our project to avoid ambiguity. For instance, the directory containing the file `cloud.ml` isn't named `cloud`. A different term is used. We also use the Spanish word "nube" and the [Nahuatl](https://en.wikipedia.org/wiki/Nahuatl) word "mixtli," where both terms mean "cloud."

**Note**: The other terms we use are classifications of clouds. These include "[cumulus](https://en.wikipedia.org/wiki/Cumulus_cloud)" (fluffy), "[nimbus](https://en.wiktionary.org/wiki/nimbus)" (precipitating), "[cumulonimbus](https://en.wikipedia.org/wiki/Cumulonimbus_cloud)" (fluffy and precipitating), "[nimbostratus](https://en.wikipedia.org/wiki/Nimbostratus_cloud)" (flat, amorphous and precipitating), and "[altocumulus](https://en.wikipedia.org/wiki/Altocumulus_cloud)" (high altitude and fluffy).

## Minimum Project Setup

This section details the structure of an almost-minimum Dune project setup. Check [Your First OCaml Program](/docs/your-first-program) for automatic setup using the `dune init proj` command.
Expand Down Expand Up @@ -88,7 +94,7 @@ You can also configure your editor or IDE to ignore it too.
In OCaml, each `.ml` file defines a module. In the `mixtli` project, the file `cloud.ml` defines the `Cloud` module, the file `wmo.ml` defines the `Wmo` module that contains two submodules: `Stratus` and `Cumulus`.

Here are the different names:
* `mixtli` is the project's name (it means *cloud* in Nahuatl).
* `mixtli` is the project's name (it means *cloud* in [Nahuatl](https://en.wikipedia.org/wiki/Nahuatl)
* `cloud.ml` is the OCaml source file's name, referred as `cloud` in the `dune` file.
* `nube` is the executable command's name (it means *cloud* in Spanish).
* `Cloud` is the name of the module associated with the file `cloud.ml`.
Expand Down

0 comments on commit 4ba754c

Please sign in to comment.