puzzlelang

0.0.977 • Public • Published

puzzle

An abstract, fluent programming language on top of JavaScript

Comes with ready-to-use features for any purpose

Important: The puzzle project is in early stage and under development. It's not yet production ready. If you'd like to contribute to the code or the module ecosystem, feel free to open a PR.

Example

every(1000).print('hello world')

Get started

PUZZLE runs in any JavaScript environment, including Node and Browsers.

Node

$ npm i puzzlelang --global
const puzzle = require('puzzlelang');

print('hello')

Browsers

<script src="https://cdn.jsdelivr.net/npm/puzzlelang@latest/puzzle.browser.js">
<script type="text/javascript">
  print("hello from the browser!");
</script>

Language Basics

Print

print('hello')

Variables

Variables can be defined either the JavaScript way or using puzzle syntax

// with JavaScript
var name = 'Peter';

// with Puzzle
set('name', 'Peter')
print(name)

Persistent Variables

Persistend variables are stored locally

set('name', 'Peter').local()

Functions

Like variables, functions can also be defined either the JavaScript way or using puzzle syntax

set('sayHello', (name) => {
  print('hello ' + name)
})

// With JavaScript
var sayHello = () => {
  print('hello')
}

Scheduled Functions

Functions can be scheduled

// Repeat every X milliseconds
every(2000).run(sayHello)

// Repeat X times
repeat(10).run(sayHello)

// Run after X milliseconds
after(10000).run(sayHello)

Loops

Loops can iteragte over data (arrays)

var array = [1,2,3]

loop.over(data).do(it => {
  print(it)
})

Math

// min and max
min([1,4,6,7]).as('result')
max([4,7,8,2]).as('result')

Readme

Keywords

none

Package Sidebar

Install

npm i puzzlelang

Weekly Downloads

37

Version

0.0.977

License

MIT

Unpacked Size

905 kB

Total Files

15

Last publish

Collaborators

  • marcoboelling