README.md
# FusionDsl
FusionDsl is a domain specific language build on top of elixir.
**FusionDsl is still under heavy development and change. refere to [Todo list](#todo-list)**
## Todo list
### Logical functionalities
- [x] basic types (numbers, boolean, strings)
- [x] define maps
- [x] define arrays
- [x] Addition of numbers
- [x] Additions of Strings
- [x] Addition of arrays
- [x] Insert between arrays
- [x] Remove from arrays
- [x] Get specific element of variable
- [x] Subtract numbers
- [x] Divide numbers
- [x] Multiply numbers
- [x] Remaining of division of numbers
- [x] Defining mutable variables
- [x] Defining immutable variables
- [x] Setting variables
- [x] Getting variables
- [x] += operator for string and numbers
- [x] -= operator for numbers
- [x] \*= for numbers
- [x] /= for numbers
- [x] Dispose variables
- [x] Getting map object value
- [x] Setting map object value
- [x] Remove object from map
- [x] String/Array contains
- [x] String/Array index_of
- [x] String/Array index_of_last
- [x] String/Array length
- [x] String/Array starts_with
- [x] String/Array ends_with
- [x] String/Array replace
- [x] String/Array reverse
- [x] Substring / Subarray
- [x] Regex match
- [x] Regex replace
- [x] Regex run
- [x] Regex scan
- [x] Defining procedures
- [x] Calling procedures
- [x] Procedure return
- [x] Condition (if, else)
- [x] `while` loop
- [x] loop break
- [x] loop continue
- [x] parse number strings
- [x] to_string numbers
- [x] cast numbers to int
- [x] round floats
- [x] wait
- [x] true/false keywords
### Integration
- [ ] add new functions to config
- [ ] add new Environments
- [ ] implement functions