this post was submitted on 01 Feb 2024
18 points (100.0% liked)
SneerClub
983 readers
6 users here now
Hurling ordure at the TREACLES, especially those closely related to LessWrong.
AI-Industrial-Complex grift is fine as long as it sufficiently relates to the AI doom from the TREACLES. (Though TechTakes may be more suitable.)
This is sneer club, not debate club. Unless it's amusing debate.
[Especially don't debate the race scientists, if any sneak in - we ban and delete them as unsuitable for the server.]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
from the orange site thread:
this is a very specific sneer, but it’s a fucking head trip when you’ve got in-depth knowledge of whichever obscure shit the orange site’s fetishizing at the moment. I like Prolog a lot, and I know it pretty well. it’s intentionally very far from a generalized reasoning engine. in fact, the core inference algorithm and declarative subset of Prolog (aka Datalog) is equivalent to tuple relational calculus; that is, it’s no more expressive than a boring SQL database or an ECS game engine. Prolog itself doesn’t even have the solving power of something like a proof assistant (much less doing anything like thinking); it’s much closer to a dependent type system (which is why a few compilers implement Datalog solvers for type checking).
in short, it’s fucking wild to see the same breathless shit from the 80s AI boom about Prolog somehow being an AI language with a bunch of emphasis on the AI, as if it were a fucking thinking program (instead of a cozy language that elegantly combines elements of a database with a simple but useful logic solver) revived and thoughtlessly applied simultaneously to both Prolog and GPT, without any pause to maybe think about how fucking stupid that is
Oh, I don't know, maybe that reasonable notions of "reasoning" can include things other than mechanistic search through a rigidly defined type system. If Prolog is capable of reasoning in some significant sense that's not fairly reasonably achieved with other programming languages, how come we didn't have AGI in the 70s (or indeed, now)?
You're not alone. I like Prolog and I feel your pain.
That said I think Prolog can be a particularly insidious Turing tarpit, where everything is possible but most things that feel like a good match for it are surprisingly hard.
oh absolutely! I’ve been wanting to go for broke and do something ridiculous in Prolog like a game engine (for a genre that isn’t interactive fiction, which Prolog excels at if you don’t mind reimplementing big parts of what Inform provides) or something that touches hardware directly, but usually I run into something that makes the project unfun and stop.
generally I suspect Prolog might be at its best in situations where you really need a flexible declarative language. I feel like Prolog might be a good base for a system service manager or an HDL. but that’s kind of the tarpit nature of Prolog — the obvious fun bits mask the parts that really suck to write (can I even do reliable process management in Prolog without a semi-custom interpreter? do I even want to juggle bits in Prolog at all?)
one of the most recent things I've seen in this space is https://www.biscuitsec.org/, which is built on datalog and aims to solve a problem in a fairly interesting domain. I still mean to try it out on a few things, to see how well it maps to use in reality
that seems very cool! I’ve been frustrated in the past by rules-based auth libraries implementing half-baked but complex declarative DSLs when Datalog is right there, so I’m hoping it works well in practice because I’d love to use it too
what, you don't like the 10~15y old pattern of someone slapping together a DSL in a weekend because they read a blogpost about it last week, and then having to deal with the evolving half-restricted half-allows-eval mess in [ruby,erlang,...] with its syntax denoted in some way that isn't equivalent between operating languages? sheesh. what kind of modern web engineer are you?!
lukewarm take: the fact that "yaml engineer" exists as a joking self-deprecating referential description of what so many people do is both an indictment of their competencies (so, so many of these people would rather twiddle variables than even think of learning to write a small bit of programming), but also of the tools that claim to provide more abstractions and an "easier way" to do things
(yes I have a whole rant about this bullshit stored up)
one day the things we do with yaml will correctly be seen as a crime, but very likely only after yaml is replaced by something significantly worse, cause our field stubbornly refuses to learn a damn thing. it’s probably not a coincidence that the only declarative languages I know that aren’t monstrosities are from academia, and they’re extremely unpopular compared to the approach where a terrible heap of unreadable yaml is made worse by shoving an awful macro language into every field
""" just as They have erased the pyramid building knowledge from our historic memory, They just don't want you to know that Prolog really solved all of this in the 80s. Google and OpenAI are just shitty copies - look how wasteful their approaches are! all of this javascript, and yet... barely a reasoned output among it all
told you kid, the AI Winter never stopped. don't buy into the hype """
Well, Prolog also allows recursion, and is Turing complete, so it's not as rudimentary as you make it out to be.
But to anyone even passingly familiar with theoretical CS this is nonsense. Prolog is not "reasoning" in any deeper sense than C is "reasoning", or that your pocket calculator is "reasoning". It's reductive to the point of absurdity, if your definition of "reason" includes Prolog then the Brainfuck compiler is AGI.
Datalog is specifically a non-TC subset of Prolog with a modified evaluation strategy that guarantees queries always terminate, though I was being imprecise — it’s the non-recursive subset of Datalog that’s directly equivalent to TRC (though Wikipedia shows this by mapping Datalog to relational algebra, whereas I’d argue the mapping between TRC and Datalog is even easier to demonstrate). hopefully my imprecision didn’t muddy my point — the special sauce at Prolog’s core that folks seem to fetishize is essentially ordinary database shit, and the idea of a relational database having any kind of general reasoning is plainly ridiculous.