|
@@ -0,0 +1,34 @@
|
|
|
|
+# Muesli is a Multi Use Embeddable Scripting Language Implementation.
|
|
|
|
+
|
|
|
|
+## Introduction
|
|
|
|
+It is a scripting language implemented in Go, that has a simple command based
|
|
|
|
+TCL like syntax but with rich semantics. Unlice TCL, all values are typed,
|
|
|
|
+and many types are supported, not just string values. Additionaly, if so
|
|
|
|
+desired, every symbol used in the syntax can be replaced by a key word,
|
|
|
|
+leading to a native language programming feel.
|
|
|
|
+
|
|
|
|
+## Syntax
|
|
|
|
+
|
|
|
|
+A Muesli program consists of one or more commands, separated by newlines or
|
|
|
|
+periods. Commands can be grouped together in blocks between braces {}.
|
|
|
|
+Lists are formed bu placing their contents between brackest []. A single command
|
|
|
|
+can be placed in parenthesis (), where the return value of the command will be
|
|
|
|
+subsituted.
|
|
|
|
+
|
|
|
|
+A command starts with a word, and is followed by any number of arguments,
|
|
|
|
+which may be blocks, parenthesis, lists , or values. Like this, the language
|
|
|
|
+itself has no control statements, such as if, these are implemented as commands
|
|
|
|
+in stead.
|
|
|
|
+
|
|
|
|
+Muesly supports several kinds of values, namely:
|
|
|
|
+- Integers
|
|
|
|
+- Floats
|
|
|
|
+- Strings between "double quotes"
|
|
|
|
+- The booleans !true and !false
|
|
|
|
+- The nil value !nil
|
|
|
|
+- Words, which are simple runs of alphanumercial characters starting with a lower case lettter, such as foo
|
|
|
|
+- Types which are runs of alphanumerical characters starting with an upper case letter. such as Foo
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|