Hey, everyone. I'm a self-taught coder who became a lawyer, who fell in love with the opportunities to use logic programming to do knowledge representation of laws, regulations, and the like, and who after 10 years as a lawyer went to get an interdisciplinary LLM in Computational Law. Finished that spring in 2021. Immediately afterwards spent a year working on the L4 language at Singapore Management University. Since last fall, I am the Director of Rules as Code at a Canadian federal government department. "Rules as Code" is a public administration, legislative drafting, and software development methodology that takes advantage.of isolated, machine-executable representations of relevant rules, as soon as possible in the process.
The big problem with Rules as Code is the tools. The best (not the most popular) tools are based in logic programming, because of the structural similarities to how laws are written. But people who build apps seldom do knowledge representation in logic programming. And giving better tools to only the coders doesn't solve the knowledge acquisition bottleneck problem. So we need tools that are realistic for subject matter experts to learn, and use.
On the basis that of a child can do it, so can a lawyer, I decided to try and build a user-friendly interface to the Flora-2 logic programming language based on Blockly, which came from MIT's work on Scratch. The result is
www.Blawx.com.
My ideas about the features that a domain specific knowledge representation and reasoning tool for law should have keep changing as I learn, as well as my understanding of the best practices for user-friendly development environments.
I'm currently enamoured with the s(CASP) system, because I think answer sets and stable models with justifications have deep parallels in how law is read and understood. And automatic justification is an absolute necessity for trustworthy public systems, as is open source.
I'm working on satisfying myself that s(CASP) is an appropriate target language, after which I will start redesigning Blawx to use it.
I learned a lot about programming environment design from some FoP content recently, and I'm here to learn more, and be exposed to more and better ideas, particularly in the user-friendly interface design space.
I am also eagerly waiting for the advent of the world's second big 3D programming environment, after Minecraft Redstone components.
Looking forward to the learning.
π 1
π 9
ππΎ 1
π€― 9