[HN Gopher] Logic Programming in Rust
       ___________________________________________________________________
        
       Logic Programming in Rust
        
       Author : tosh
       Score  : 29 points
       Date   : 2024-03-05 20:10 UTC (2 hours ago)
        
 (HTM) web link (s-arash.github.io)
 (TXT) w3m dump (s-arash.github.io)
        
       | arijun wrote:
       | Looks cool, although I wonder a bit at the benefit of writing it
       | as a dsl in Rust. It seems like you would usually write the whole
       | program in the dsl and just hit run in regular Rust.
        
         | codetrotter wrote:
         | From their linked paper:
         | 
         | > Rust's powerful macro system permits Ascent to be compiled
         | uniformly with the Rust code it's embedded in and to
         | interoperate with arbitrary user-defined components written in
         | Rust, addressing a challenge in real-world use of logic
         | programming languages: the fact that logical programs are parts
         | of bigger software systems and need to interoperate with other
         | components written in imperative programming languages.
         | 
         | https://s-arash.github.io/ascent/cc22main-p95-seamless-deduc...
         | 
         | Another benefit, mentioned at the end of the original page:
         | 
         | > The feature wasm-bindgen allows Ascent programs to run in
         | WASM environments.
        
         | arijun wrote:
         | The white paper answered me right in the abstract!
         | 
         | > ...written in Rust, addressing a challenge in real-world use
         | of logic programming languages: the fact that logical programs
         | are parts of bigger software systems and need to interoperate
         | with other components written in imperative programming
         | languages.
        
       | chc4 wrote:
       | Related: The "missing" graph datatype already exists. It was
       | invented in the '70s
       | https://news.ycombinator.com/item?id=39606885
        
       ___________________________________________________________________
       (page generated 2024-03-05 23:01 UTC)