Want to try fastn for your company's website?
Book a Demo

Data Modelling With `fastn`

`fastn` language is an alternative to XML/JSON for storing data.

Optimized For Human Readability

`fastn` language is designed for humans to write data. It tries to be as minimal as possible, intuitive and readable, no quote character for strings, avoid indentation etc.
Sample data
-- record person:
caption name:
string location:
optional body bio:

-- person amitu: Amit Upadhyay
location: Banglore, India

Amit is the founder and CEO of FifthTry.
Lang:
ftd
Consider the above example where we have described our data as `person`, and notice we have type for each field. Notice also our types `caption`, which like "heading of the data", `body`, which lets people write multiline strings without worrying about quoting or indentation etc. Read our [`ftd::p1` grammar guide](/p1-grammar/) to understand the low level grammer better.

Rich Data Modelling

It has support for [typed variables](variables/), [`records`](ftd/record/) (`struct` in other languages), [`or-type`](ftd/or-type/) (`enum` in Rust, also called "algebraic data type") and [lists](ftd/list/). `fastn` files can be validated to conform to strict type or not, and this can be used by editors to assist humans write correct `fastn` files.

Better Organization Of Data

`fastn` also supports referring to other `fastn` files, so one can describe the schema or data in one file and refer it from other files.