strudel/packages/mondo
2025-03-16 22:07:03 +01:00
..
test mondo highlighting 2025-03-16 21:04:05 +01:00
mondo.mjs mondo: slightly improve error handling 2025-03-16 22:07:03 +01:00
package.json rename uzu to mondo 2025-03-16 02:01:16 +01:00
README.md rename uzu to mondo 2025-03-16 02:01:16 +01:00
vite.config.js rename uzu to mondo 2025-03-16 02:01:16 +01:00

mondo

an experimental parser for an uzulang, a custom dsl for patterns that can stand on its own feet. more info:

import { MondoRunner } from 'uzu'

const runner = MondoRunner({ seq, cat, s, crush, speed, '*': fast });
const pat = runner.run('s [bd hh*2 cp.(crush 4) <mt ht lt>] . speed .8')

the above code will create the following call structure:

(speed 
 (s 
  (seq bd 
   (* hh 2) 
   (crush cp 4) 
   (cat mt ht lt)
  )
 ) .8
)

you can pass all available functions to MondoRunner as an object.