What is Flow?

Flow is a functional programming language developed by Area9, and is the language that Area9 Rhapsode™ is written in.

We created Flow to reduce development time, decrease the likelihood of bugs, and increase supportability. A side benefit is that we can cross-compile to other lower level languages as required.

Flow is a reactive functional language of the ML family, which enables us to:

  • Work safer – functional languages are more dense in code lines than traditional languages. The research suggest that number of codelines are a good indicator of the number of bugs. We see approximately a 10-fold decrease in code lines.
  • Work faster – With an expressive language like ours, we can simply express more in shorter time and it enables our developers to be more productive.
  • Test easier and reuse more – when you compare functional to imperative languages one big advantage (among many) is that functions are composable, which ensure encapsulation of functionality and easier testing and re-use.
  • Develop cross platform – since we control the input, and we have the ability to control the generated output, we can output many forms of executable code, which allows us to run in browsers, Apple device (iOS), Android, Windows, Unix etc. We also know from experience that support a new underlying technology (like Windows Phone that has a short blossoming in Europe) takes about 3 months for us to do. So it ensures that our codebase does not go stale with some external technology.

Use of Area9 Rhapsode™ does not in any way require clients to know or use our Flow language. Our APIs are fully accessible using 'standard' programming languages and we fully support SCORM, LTI, xAPI, QTI, XML, XLIFF, ePUB and other standards.