Call for Discussion: New Project: Babylon

Paul Sandoz paul.sandoz at oracle.com
Fri Sep 15 23:25:17 UTC 2023


A question was sent privately that I have permission to reproduce and reply here for the benefit of everyone (sender CC’ed)

> On Sep 15, 2023, at 1:43 AM, Shaq Oliver <shaqos1987 at gmail.com> wrote:
> 
> Hello,
> will project Babylon deliver features that help with creating domain specific languages in Java?
> Also will it deliver features that could help with neurosymbolic programming?
> 
> Thanks a lot.

I am not very familiar with neurosymbolic programming, so I read up a bit and I am just a little bit more familiar and far from expert. My answer is I guess maybe so :-), if we can use an API in combination with natural language constructs to express both the neural net model with its layers and the symbolic components, from which we can obtain code models and reason about the Java code in symbolic form.

Relatedly, an example where I think code reflection can apply is to probabilistic programming, e.g., see Vate [1]. 

Vate currently specifies its own language for defining models, which I suppose one can describe as a DSL (and perhaps fits into the form of a symbolic component?). A Vate program is compiled to Java code that can execute at scale. The Vate language is designed to be familiar to Java developers (and I believe shares much of the grammar). 

I strongly suspect we could devise a Java API combined with natural language constructs so developers could write a Vate program directly in Java, rather than using a separate language. The Vate compiler would then become one that operates on code models, transforming them to executable Java code. Interestingly, I wonder if that transformation could generate code that uses the GPU programming model.

Hth,
Paul.

[1] https://labs.oracle.com/pls/apex/f?p=94065:10:109345727860596:7229


More information about the discuss mailing list