https://github.com/pulsarblow/pulse
✪ A dynamically typed language with automatic memory management ✪
https://github.com/pulsarblow/pulse
dynamic garbage-collector language pulse
Last synced: 11 months ago
JSON representation
✪ A dynamically typed language with automatic memory management ✪
- Host: GitHub
- URL: https://github.com/pulsarblow/pulse
- Owner: PulsarBlow
- License: mit
- Created: 2020-10-11T23:52:26.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-13T12:27:08.000Z (over 5 years ago)
- Last Synced: 2023-05-06T21:37:25.296Z (about 3 years ago)
- Topics: dynamic, garbage-collector, language, pulse
- Language: C#
- Homepage:
- Size: 134 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
pulse
A dynamically typed language with automatic memory management

[](https://www.codacy.com/gh/PulsarBlow/Pulse/dashboard?utm_source=github.com&utm_medium=referral&utm_content=PulsarBlow/Pulse&utm_campaign=Badge_Grade)
[](https://www.codacy.com/gh/PulsarBlow/Pulse/dashboard?utm_source=github.com&utm_medium=referral&utm_content=PulsarBlow/Pulse&utm_campaign=Badge_Coverage)
[](/LICENSE)
---
> A tribute to my team mates at Payfit who are so incredibly inspiring. Pulse is my first step to follow their track.
Pulse is a dynamically typed programming language. It combines successful concepts from mature languages like Scheme, JavaScript and C#.
Pulse aims to be small, clean and efficient.
It is not feature complete, it is not intended for production, and it does have bugs.
### Grammar
```text
program → statement* EOF ;
statement → exprStmt
| printStmt ;
exprStmt → expression ";" ;
printStmt → "print" expression ";" ;
expression → literal
| unary
| binary
| grouping ;
literal → NUMBER | STRING | "true" | "false" | "nil" ;
grouping → "(" expression ")" ;
unary → ( "-" | "!" ) expression ;
binary → expression operator expression ;
operator → "==" | "!=" | "<" | "<=" | ">" | ">="
| "+" | "-" | "*" | "/" ;
```
## Attributions
Pulse implementation is largely inspired by the fabulous [Crafting Interpreter](http://craftinginterpreters.com/) book from [Robert Nystrom](https://github.com/munificent).