Tools used in the Ampersand project
This page lists the tools that are used and for which purpose they are used. This list is intended for reference, so it is full of hyperlinks that can point you to the right location.
Specific tools used in the Ampersand project
Tool
Purpose (the hyperlink navigates to the section in this book)
Knowledge holder
all
Ampersand compiler
An executable that is used to generate software, documentation, and analyses from Ampersand-scripts. It is embedded into the Ampersand image and into RAP3. There exist multiple instances, so we cannot hyperlink to it.
all
an organisation in which we keep all Ampersand git-repos
all
a service, which runs automated tests on every commit of the Ampersand repository on Github. Only the successfully tested commits on the releases branch are released
Generic tools used in the Ampersand project
Tool
Purpose
Knowledge holder
ACE
a web-editor that is used within RAP. It has been integrated in the RAP-application code.
EditPad
a text editor that has long been used in the Ampersand project, but not any more. A syntax coloring mechanism for Ampersand still exists. This editor has been superseded by VScode, because it is being supported by a much larger community.
the platform for technology agnostic, fully automated deployment of services, which we use to deploy the Ampersand compiler and applications developed in Ampersand.
a platform for configuring services in a full-fledged application such as RAP.
the versioning system in which all source code is kept. It enables us to work collaboratively on multiple features in parallel, without interfering each other's work.
a system for generating diagrams, which is used to generate conceptual models and data models as part of the documentation generator.
the programming language in which the Ampersand compiler is built and maintained.
a simple, standardized, format for communicating data structures. It is used to communicate data from the Ampersand-compiler to the generated application.
a platform for configuring and managing deployed services (such as RAP) in an operational environment. Kubernetes is not being used yet in production instances of Ampersand.
LaTeX
a typesetting system, which we use to generate PDF's with. At the moment MarkDown is the preferred markup language, so LaTeX's role in the Ampersand project is decreasing.
the database that is used by Ampersand for persistency. This used to be MySQL, until MariaDB took over in the Open Source community.
the language in which Ampersand documentation is written. We use it for maximal portability of text over different platforms.
all
the JavaScript framework in which an Ampersand Prototype is generated
the package manager for JavaScript, which guarantees consistency of module dependencies in the JavaScript world.
a system for document translation and markup, which we use to create a host of different document formats
a build automation environment for Haskell that we use to build the Ampersand compiler with. It guarantees consistency of module dependencies within the Haskell world.
an editor for development of the Ampersand compiler and Ampersand-projects. A VScode extension for Ampersand exists that offers syntax coloring.
Last updated