Thursday, July 30, 2020

A Micro Execution DSL in Julia?

I am attending JuliaCon2020, so many great talks !

I am always talking about DSLs but never made the connection between them and Computer Algebra Systems.

JuliaCon 2020 | AlgebraicJulia: Applied Category Theory in Julia | James Fairbanks

https://youtu.be/7zr2qnud4XM




Back in 2018, I did a deep dive into Category Theory in Scala.  I was fascinated by the concept of applying mathematics to programming.   Suffice it to say, Category Theory is a very very deep pond. 

One of the practical takeaways I had from the experience was learning that you could code data flows that supported both sequential and parallel execution modes.

I had done some experimentation with the Freestyle project:

http://frees.io/docs/core/parallelism/

As it turns out, the Catlab.jl library seems very similar to this. As you can see by the diagram in the logo: parallel and sequential operations.




In previous posts, I had written about an Execution DSL that could orchestrate the operations of many containers across many Pods would be need, but I also realized that Execution DSLs that lived inside containers would also be needed. 



No comments: