> To address this challenge, we introduce a type-constrained decoding approach that leverages type systems to guide code generation.
This should not work with type inference even at the level of C++ "auto x = " - "auto" does not constrain "x" at all and what is right of equal sign is not constrained either..
In Haskell, the gap is even wider. A long "where" clause may have dependencies constraining things in different direction.
But, what important I see here is the continuation of reinvention of Cyc, from different starting point. ;)
Definitely, "every big LLM has in support code an ad-hoc bug ridden inefficient implementation of half of Cyc." Cyc was written in Lisp, most of LLM support code is C/C++, thus, it is just a corrolary of Greenspun's Tenth Rule.
In Haskell, the gap is even wider. A long "where" clause may have dependencies constraining things in different direction.
But, what important I see here is the continuation of reinvention of Cyc, from different starting point. ;)
Definitely, "every big LLM has in support code an ad-hoc bug ridden inefficient implementation of half of Cyc." Cyc was written in Lisp, most of LLM support code is C/C++, thus, it is just a corrolary of Greenspun's Tenth Rule.