https://github.com/the2ndslimshady/slimscript
A Small, Turing-Complete Embeddable Scripting Language Designed to Interop With .NET
https://github.com/the2ndslimshady/slimscript
csharp dotnet scripting-language turing-complete
Last synced: over 1 year ago
JSON representation
A Small, Turing-Complete Embeddable Scripting Language Designed to Interop With .NET
- Host: GitHub
- URL: https://github.com/the2ndslimshady/slimscript
- Owner: The2ndSlimShady
- License: mit
- Created: 2024-08-20T09:04:42.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-28T16:29:27.000Z (almost 2 years ago)
- Last Synced: 2025-01-20T07:42:37.654Z (over 1 year ago)
- Topics: csharp, dotnet, scripting-language, turing-complete
- Language: C#
- Homepage:
- Size: 61.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://opensource.org/licenses/MIT)
# Slim Script
Slim script is an interpreted scripting language for embedding it into your
projects. The interpreter is written in C# so it can (at least to a certain level)
interact with .Net ecosystem.
## Notes
It's a bit slow because of
the usage of reflection under the hood but still, its decent enough (i think?)
## Further Reading
See [the docs](docs/docs.md)
## TODOs
- [ ] Current `@module` directive is stupid. Gonna make them act like both header-guards and namespaces.
- [ ] `SlimScript.Word` loses every single quotation mark (") in given value. We just want to lose the ones denoting start and end.
- [ ] `delete` keyword is broken. Shame on me.
- [ ] A lot of functions in standard library are broken. Again, shame on me.
- [ ] Exception handling is still on plan. (probably will stay a plan forever)
- [ ] nameof function (probably won't)
- [ ] Adding arrays to arrays without having to create temporary variables. Should be easy.
- [ ] Initializing multidimensional arrays (Adding arrays to arrays in init-time).
- [ ] `range` function (currently `array.createRange` is a workaround)
- [ ] Standard library documentation
- [ ] Standard library improvements
- [ ] proper `@module`ing
Yep. That's all, and that's a lot.