About

Sagal is a programming framework born from my long-standing passion for both linguistics and software engineering. After many years of programming, I find it intriguing—and at times frustrating—that my problem-solving mindset has been so deeply shaped by the tools and frameworks I use as a developer. Whether it's the logical flow of structured systems or the rigid frameworks I work with, I often catch myself applying these patterns to life's messier, more abstract problems, even when they don't really fit.

As Dijkstra wisely noted:

The tools we use have a profound and devious influence on our thinking habits, and therefore on our thinking abilities.

This realization set me on a path to answer two fundamental questions:

  • What if programming could follow the structure of meaningful, human expressions as seen in natural languages?
  • What if human expression could be formalized to precisely describe the computational accuracy required by machines?

Sagal represents my attempt to answer these questions. It’s a framework designed to blend the intuitive expressiveness of language with the technical demands of machine logic. Built on a collection of linguistic ideas and grounded in the belief that:

Just as letters combine to form words, grammatical particles are the letters of semantics.

Whether you see it as a framework, formal grammar, or a programming language, Sagal is still evolving. For a quick glimpse of the big picture, check out my recent article here (opens in a new tab). In Sagal, I aim to:

  • Define cross-linguistic rules and heuristics for identifying grammatical particles (opens in a new tab).
  • Establish a core set of grammatical particles.
  • Define primitives for instructions, entities, and data types, which are necessary for an arbitrary programming language to function.
  • Build a toy programming language (simple English) as a proof of concept.
  • Incorporate querying features into the language as declarative operations.

Links

Below are some key links that have influenced or shaping the development of Sagal:

Contacts

Feel free to reach out if you'd like to collaborate, whether you have feedback, new insights, or just want to explore possibilities, I’m always open to connecting. As Sagal is in its early stages, your contributions can play a pivotal role in shaping its future.

You can contact me on LinkedIn (opens in a new tab) or via Email. Salam! 👋