Look at your favorite programming language and identify the little functional logic languages embedded in it (meaning: backtracking evaluation with unification to find unknowns). JavaScript, C#, and Java have one for regular expressions.
-
Show this thread
-
C++ has one for template parameter instantiation and overload resolution. Haskell has one for typeclass search, another for pattern matching and binding expressions, and a third with monads.
3 replies 3 retweets 35 likesShow this thread -
At some point, we should take this realization seriously and start building backtracking, failure and unification into languages as first class constructs, to replace the funky sublanguages with a general language feature.
7 replies 6 retweets 66 likesShow this thread
Check out Rust’s Chalk: https://github.com/rust-lang/chalk Long-term goal is to replace the type checker with a Prolog-like interpreter, and package Chalk independently for others to use as well.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.