Roadmap
-
Validate the design
- Have devs made Rimu DSLs?
- Have non-devs made using Rimu DSLs?
-
Expressions
-
Atoms
- Null
- Boolean
- Number
- String
- Function : pull#57 (opens in a new tab)
- Identifier
-
Collections
- List
- Object
-
Unary operations
-
-
(negate) -
!
(not)
-
-
Binary operations
-
+
(add) -
-
(subtract) -
*
(multiply) -
/
(divide) -
>
(greater than) -
>=
(greater than or equal) -
<
(less than) -
<=
(less than or equal) -
==
(equal) -
!=
(not equal) -
&&
(and) -
||
(or) -
^
(xor) -
%
(remainder)
-
-
Other operations
- Call Function
- Get Index
- Get Key
- Get Slice
-
Other features
- Destructuring
-
-
Blocks
-
Collections
- List
- Object
-
Operations
- Call Function: pull#58 (opens in a new tab)
-
let
: pull#8 (opens in a new tab) -
if
: pull#7 (opens in a new tab) -
switch
: issue#47 (opens in a new tab) -
switchAll
: issue#48 (opens in a new tab) -
type
: issue#53 (opens in a new tab) -
apply
-
fn
-
Other features
- Multi-line strings
- Destructuring
-
-
Standard Library
-
length
: pull#65 (opens in a new tab) -
range
: pull#65 (opens in a new tab) -
map
: issue#49 (opens in a new tab) -> pull#65 (opens in a new tab) -
mapValues
: issue#50 (opens in a new tab) -
filter
: issue#51 (opens in a new tab) -
flatten
-
flattenDeep
-
merge
-
mergeDeep
-
sort
-
reverse
-
-
Documentation
- Playground website: play.rimu.dev (opens in a new tab)
- Docs website: rimu.dev (opens in a new tab)
-
Type system
-
Dev experience
- Code formatter: issue#32 (opens in a new tab)
- CodeMirror Lezer grammar: pull#59 (opens in a new tab)
- Tree-sitter grammar
- Autocomplete: issue#43 (opens in a new tab)
- LSP (language server protocol) server