Brachylog
Brachylog copied to clipboard
A terse declarative logic programming language
[https://chat.stackexchange.com/transcript/message/38392326#38392326](https://chat.stackexchange.com/transcript/message/38392326#38392326)
If all elements of the input list are bound, we should relax the constraint that there cannot be any leading zero. If they are not all bound, then the behavior...
# Predicates - Modpow (overload `^`) - Bitwise operators (and, or, xor, not, left-shift, right-shift) - Power of 2 - Power of 10 - GCD - LCM - Split at...
The constraint `all_distinct/1` is typically preferable: When `all_distinct/1` is slower than `all_different/1`, it is typically _acceptably_ slower. On the other hand, when `all_different/1` leads to slower programs than using `all_distinct/1`,...
Please add a set of test cases to the distribution, so that it is easier to verify changes in the compiler. The PlUnit framework may come in handy for this....
Currently, the Input and the Ouput are always the first and last variable of a rule. Most of the time, when the first of last token of a rule is...
Currently, `\ - transpose` uses the `transpose/2` predicate from `library(clpfd)`. This predicate doesn't work when parts of the first argument are uninstantiated, or on strings, or on numbers, etc.
e.g. `?₁` is the second element of `?`, `?₎` is the last element of `?`, etc. This can be done by adding predicates calls like constraint variables at the beginning...
Use something like `'float':Mantissa:Exponent` to represent floats in the transpiler and built-ins, so that we can apply constraints on the mantissa and exponent of a floating point number. This could...