That said, no logic language (or system) currently...
# of-logic-programming
n
That said, no logic language (or system) currently exists that can act as a substitute for traditional paradigms. So I'm stuck trying to invent my own semantics, based on some of the most primal existing work (e.g. Datalog), but hugely-extended such that it can hopefully become general-purpose.
w
Why do you feel that is? What do other paradigms have that logic does not?
n
I don’t think it’s “logic” in general that’s missing something, it’s just specific logic languages. For example, Datalog doesn’t include a model of interactivity/time (but Dedalus does), nor does it include number types, or spawnable “objects” with opaque identifiers (which I think are going to be necessary in any non-trivial program). Datalog doesn’t have aggregation either but other logic languages do (I’m digging into aggregation right now). Prolog’s aggregation UX is awful as well.
w
In another thread, I was just saying something about modeling SVG in a logic language. Had a bit like this:
Copy code
fill(S, red) :- bold-red(S).
stroke(S, black) :- bold-red(S).
stroke-width(S, 3) :- bold-red(S).
Then I stopped short of a neat sort of puzzle. With a similar definition
cool-blue
(specifying a fill and a stroke, make it a dashed one):
Copy code
fill(S, blue) :- cool-blue(S).
stroke(S, cornflowerblue) :- cool-blue(
... Slack, you just lost my edit!
Anyway, if you wrote:
Copy code
bold-red(s).
cool-blue(s).
you would kind of expect a mix and match of bold-red and cool-blue qualities, and you would kind long for a way to say that
s
is bold-red and/or cool-blue.