An open API service indexing awesome lists of open source software.

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 ✪

Awesome Lists containing this project

README

          



Pulse language

pulse

A dynamically typed language with automatic memory management

![Continuous Integration](https://github.com/PulsarBlow/Pulse/workflows/Continuous%20Integration/badge.svg)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/ce19d9bed4a64236885f25e8e469a3ec)](https://www.codacy.com/gh/PulsarBlow/Pulse/dashboard?utm_source=github.com&utm_medium=referral&utm_content=PulsarBlow/Pulse&utm_campaign=Badge_Grade)
[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/ce19d9bed4a64236885f25e8e469a3ec)](https://www.codacy.com/gh/PulsarBlow/Pulse/dashboard?utm_source=github.com&utm_medium=referral&utm_content=PulsarBlow/Pulse&utm_campaign=Badge_Coverage)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)

---

> A tribute to my team mates at Payfit who are so incredibly inspiring. Pulse is my first step to follow their track.

## About

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).