Playing Along with Rules as Code
The Government of Canada, much to my delight, is currently working on their first-ever Rules as Code discovery project. I’ve decided to play along in the hopes that it will both me and their discovery project team the opportunity to compare notes.
I’m going to chronicle the journey here for people who are interested in seeing it play out in real time.
This series of posts is going to include a lot of code, written in the Flora-2 (aka ErgoLite) programming language. These posts are not intended as a tutorial for Flora-2, but I am hoping to make them useful for non-programmers to read to be able to understand the legal engineering process involved in encoding legislation and using Rules as Code. If you’re not a coder, and you’re not interested in becoming a coder, you should safely be able to skip the code parts. But here’s a quick primer for how to read the code:
This::That. // A This is a type of That.This[|attribute=>\datatype|]. // A This has one or more attributes
// of type datatype.This[|relationship=>That|]. // A This has a relationship to one
// or more objects of type That.
I would prefer to be able to play along in Blawx, but the fact of the matter is that Blawx does not currently have the ability to deal properly with dates, which is a critical part of the project that the Rules as Code team has selected. So I’m going to work in…