Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://doi.org/10.5281/zenodo.14963240
03 March 2025, 22:45:47 UTC
  • Code
  • Branches (0)
  • Releases (2)
  • Visits
    • Branches
    • Releases
      • 2
      • 2
      • 1
    • d344643
    • /
    • nikolaushuber-mimosa-cb7d7a0
    • /
    • README.md
    Raw File Download

    To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
    Select below a type of object currently browsed in order to display its associated SWHID and permalink.

    • content
    • directory
    • snapshot
    • release
    origin badgecontent badge Iframe embedding
    swh:1:cnt:678d1d34ab89170e59d6491376c7c0598cdcf13b
    origin badgedirectory badge Iframe embedding
    swh:1:dir:79834f646c09a3385c397d82690f50cd527b7de2
    origin badgesnapshot badge
    swh:1:snp:b551f1a5813bc8487a57abaf8d60e795fc62a683
    origin badgerelease badge
    swh:1:rel:0260f44c47f3ffe440e644a7a68ae039e2604cf0

    This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
    Select below a type of object currently browsed in order to generate citations for them.

    • content
    • directory
    • snapshot
    • release
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    README.md
    # The Mimosa Language
    
    This repository contains tools for working with Mimosa, a programming language specifically made for embedded (control) applications. It builds upon the [MIMOS model]((https://doi.org/10.1007/978-3-031-08143-9_2)) of computation.
    
    ## Documentation
    
    For further information on the Mimosa language, please refer to the documentation:
    
    [nikolaushuber.github.io/mimosa/](https://nikolaushuber.github.io/mimosa/)
    
    ## Installation
    
    ### Downlaod this repository
    
    In order to install Mimosa, you have to download/clone this repository:
    
    ```
    git clone https://github.com/nikolaushuber/mimosa.git
    cd mimosa
    ```
    
    ### Setup OCaml
    
    Mimosa is implemented in OCaml, therefore, an OCaml development environment is needed (including [opam](https://opam.ocaml.org), [dune](https://dune.build), and a recent OCaml compiler). There are various ways of installing OCaml, please refer to the official [documentation](https://www.ocaml.org). Mimosa has only been tested with OCaml versions > 5.0, however, it should run with older versions as well.
    
    It is also possible to use a docker image, which already comes with an OCaml development environment installed. If you want to install Mimosa without docker please jump to [the next section](#install-mimosa).
    
    ```
    docker pull ocaml/opam:debian-11-ocaml-5.2
    docker run -it -v ./:/home/opam/mimosa --name mimosa ocaml/opam:debian-11-ocaml-5.2
    ```
    
    This will pull an image from DockerHub which already contains an OCaml 5.2 compiler.
    The second command will run a container from this image, will mirror the current folder inside the container at `/home/opam/mimosa`, and use the name `mimosa` to refer to the container.
    
    This should leave you at `/home/opam` inside the container, so you can switch to the mirrored directory with
    
    ```
    cd mimosa
    ```
    
    You can leave the container at any time with `exit`. To continue, you can start and attach to the container again like so:
    
    ```
    docker start mimosa
    docker attach mimosa
    ```
    
    ### Install Mimosa
    
    The easiest way of installing Mimosa is through the OCaml package manager [opam](https://opam.ocaml.org):
    
    ```
    opam install . --yes
    ```
    
    Alternatively, it can be installed with dune:
    
    ```
    dune build
    dune install
    ```
    
    ## Running tests
    
    To run all tests in this repository you can run
    
    ```
    dune runtest
    ```
    
    If there is no output, all tests ran successfully.
    
    ## Examples
    
    The `/examples` folder holds various examples of Mimosa, and how to simulate programs written in it. Please refer to the README inside the folder for more information.
    
    ## Compiling the documentation
    
    The documentation is written using [mkdocs](https://www.mkdocs.org) and the [material theme](https://squidfunk.github.io/mkdocs-material/). The online documentation is automatically generated by a GitHub workflow after every push, it can however also be generated locally by first appending:
    
    ```yaml
    # ...
    plugins:
      - offline
    ```
    
    at the end of `mkdocs.yml`, and then issuing
    
    ```bash
    mkdocs build
    ```
    
    ## License
    
    MIT
    

    back to top

    Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
    The source code of Software Heritage itself is available on our development forge.
    The source code files archived by Software Heritage are available under their own copyright and licenses.
    Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API