Table of Contents

The Sunset Language

The Sunset Language is a programming language that has been designed for engineering calculations.

It aims to bring the power of programming languages to create complex re-usable calculations to people who have little to no experience with programming.

This site is structured into a user guide which contains tutorials on how to use the language, and developer documentation which contains information on the design of the language and associated tooling.

What is Sunset (for non-programmers)?

Sunset is a simple programming language that has been carefully designed for people with little to no programming experience to be able to write high quality calculations that are reusable, reliable and beautifully presented.

What is Sunset (for programmers)?

Sunset is a strong, static typed functional programming language and associated tooling that has been designed for people with little to no programming experience. The language has multiple compilation targets, ranging from libraries that can be used to create custom user interfaces to PDFs that contain all of the resulting calculations.

It is strongly typed to catch more errors in calculations as the calculations are being written. The language features units of measurement as static types that are generated and checked during the compilation process. Unit conversions are automatically handled at runtime when they are valid.

It is a functional language, as the concepts of state and data structures are often difficult for non-programmers to grasp initially. Spreadsheets contain functional programming languages in their cell formulas, and many non-programmers familiar with creating spreadsheets will intuitively understand many of the concepts.

Target audience

The target audience of the Sunset Language are people:

  • Who have some experience with Microsoft Excel, Google Sheets or any other similar spreadsheet software. The minimum experience required is the ability to create cell functions for mathematical calculations.
  • Who wish to perform repetitive calculations and report on the results of the calculations.
  • Who do not necessarily have any experience with programming other than the creation of spreadsheet cell formulas.

Goals

The goals of the Sunset Language are therefore:

  • To bring the power of composable software to non-programmers.
  • To bring modern programming tooling to non-programmers.