ragax
ragax copied to clipboard
A Talk on Ragalur Expressions
A Talk on Ragalur Expressions
Using Ragas, scales from Indian Classical Music, you will get to know the Brzozowski Derivative. The Brzozowski Derivative is a more intuitive way to match strings using Regular Expressions, than the standard Thompson's construction algorithm. Functional concepts such as Laziness, Memoization and Least Fixed Point can enhance the capabilities of Derivatives to even validate Recursive Regular Expressions (Context Free Grammars). Finally we'll see what I use derivatives for.
Videos
After giving the talk several times, I have turned it into a series of videos and blog posts:
Brzozowski's Derivatives of Regular Expressions (1/4)

Blog Post
How to take the Derivative of a Regular Expression explainedRagax - Extending Regex Derivatives to Context Free Grammars (2/4)

Generating Ragas using Brzozowski Derivatives for Regular Expressions with Ableton Live and Max MSP (3/4)

Relaxing Raga (Indian Classical Music) Computer Generated (4/4)

Slides
The slides are located in the latex folder. If you missed the talk you can also download the slides with notes which include my exact speech as notes.
Demos
The code is split into 2 projects:
- ragabot: the albeton, maxjs and javascript folders. Open the albeton live project and start playing.
- playground: the golang and root folders. Open the playground website.
Locations
I have given this talk 7 times:
- Functional Programming Cape Town Meetup Scarborough, Cape Town, South Africa - April 2016
- Technopark, Stellenbosch, South Africa - May 2016
- Jexia, Apeldoorn, The Netherlands - May 2016
- eBay Office, Amsterdam, The Netherlands - May 2016
- Stellenbosch University, Stellenbosch, South Africa - June 2016
- eBay Office, Amsterdam, The Netherlands - April 2018
- Functional Programming Amsterdam Meetup, Amsterdam, The Netherlands - May 2018