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.
var names = ["Peter", "Mag", "Stewie"]
loop.over(names).do(name => {
print(name)
})
every(1000).print('hello world')
PUZZLE runs in any JavaScript environment, including Node and Browsers.
Node
$ npm i puzzlelang --global
const puzzle = require('puzzlelang');
after(2000).run(() => print('hello'))
Browsers
<script src="https://cdn.jsdelivr.net/npm/puzzlelang@latest/puzzle.browser.js">
<script type="text/javascript">
repeat(7).run(() => print("hello from the browser!"))
</script>
print('hello')
Variables can be defined either the JavaScript way or using puzzle syntax
set('name', 'Peter')
Persistend variables are stored locally
set('name', 'Peter').local()
Like variables, functions can also be defined either the JavaScript way or using puzzle syntax
set('sayHello', (name) => {
print('hello ' + name)
})
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 can iteragte over data (arrays)
var array = [1,2,3]
loop.over(data).do(it => {
print(it)
})
// min and max
min([1,4,6,7]).as('result')
max([4,7,8,2]).as('result')