Skip to content

Commit 282a69b

Browse files
authored
Merge pull request #60 from thefrontside/cl/add-detailed-docs-intro
Add a simple introduction to PlatformScript
2 parents 12c008d + 7473744 commit 282a69b

1 file changed

Lines changed: 41 additions & 2 deletions

File tree

www/docs/introduction/index.md

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,45 @@
11
---
22
title: Introduction
3-
description: Docs intro
3+
description: Introduction to PlatformScript
44
---
55

6-
PlatformScript is _real_.
6+
PlatformScript is a declarative, statically typed, secure, and embeddable
7+
programming language that uses 100% pure YAML as its syntax.
8+
9+
## Features at a Glance.
10+
11+
- Uses lexically scoped **variables** to bind values names to values and
12+
reference them later.
13+
- **Functions** are first class citizens. They can even be bound to variables
14+
and passed to other functions for higher order programming.
15+
- Fluent **templating** allows building strings with _any_ set of PlatformScript
16+
expressions, not just simple substitutions.
17+
- Define new syntactic forms with PlatformScript itself using **macros**.
18+
- Compose programs with an elegant **module system** for sharing code based on
19+
simple URLs.
20+
- **Native extensions** expose new functionality with any language that can be
21+
compiled to WASM
22+
- Powerful execution model based on **structured concurrency** prevents leaked
23+
resources by default.
24+
25+
## Philosophy
26+
27+
PlatformScript is designed to eliminate the bugs, validation errors, and tedium
28+
of working with YAML by bringing to bear all the rigor and tooling of a modern
29+
language such as type-checkers, language servers, linters, etc...
30+
31+
It will always use plain YAML without extensions as it syntax, so that
32+
all PlatformScript programs can be represented as YAML documents, and
33+
it adopts a policy of "no magic" as in no magic functions, no magic
34+
variables, and a small, consistent set of evaluation rules.
35+
36+
PlatformScript should always be an excellent choice to replace configuration
37+
files and special one-off DSLs, especially those that use YAML for their syntax.
38+
39+
## Built with Deno
40+
41+
PlatformScript is built with [Deno][Deno], but more than that, it adopts Deno's
42+
system of thinking about developer experience; especially as it pertains to
43+
modules and code sharing.
44+
45+
[Deno]: https://deno.land

0 commit comments

Comments
 (0)