From 9b53485519cec1b54c1b80efbbd16bb903f48752 Mon Sep 17 00:00:00 2001 From: Jeff Date: Fri, 17 Nov 2023 20:46:18 -0500 Subject: [PATCH] Write README --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c771b39..0059e4d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Dust -Dust is a programming language and interactive shell. Dust can be used as a replacement for a traditional command line shell, as a scripting language and as a data format. Dust is fast, efficient and easy to learn. +Dust is a general purpose programming language that emphasises concurrency and correctness. A basic dust program: @@ -17,7 +17,18 @@ async { } ``` -Dust is an interpreted, general purpose language with first class functions. It is *data-oriented*, with extensive tools to manage structured and relational data. Dust also includes built-in tooling to import and export data in a variety of formats, including JSON, TOML, YAML and CSV. +You can make *any* block, i.e. `{}`, run its statements in parallel by changing it to `async {}`. + +```dust +if (random_boolean) { + (output "Do something...") +} else async { + (output "Do something else instead...") + (output "And another thing at the same time...") +} +``` + +Dust is an interpreted, dynamically typed language with first class functions. It emphasises concurrency by allowing any group of statements to be executed in parallel. It is *data-oriented*, with extensive tools to manage structured and relational data. Dust includes built-in tooling to import and export data in a variety of formats, including JSON, TOML, YAML and CSV. - [Dust](#dust) @@ -263,7 +274,6 @@ async { } ``` - ```dust data = async { (output "Reading a file...")