[HN Gopher] Mangle, a programming language for deductive databas... ___________________________________________________________________ Mangle, a programming language for deductive database programming Author : aarroyoc Score : 26 points Date : 2022-11-26 21:14 UTC (1 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | theodpHN wrote: | Some of the other stuff looks intriguing, but regarding the claim | that "Unlike SQL, our Mangle rule projects_with_vulnerable_log4j | has a name and can be referenced in other queries." goes, SQL in | a VIEW or common table expression (CTE) can also be referenced in | other queries. | jitl wrote: | Interesting; Google engineer previously published Datalog | variants for BigQuery: https://research.google/pubs/pub43462/ & | https://logica.dev/ | | This new language seems similar to differential-Datalog (which is | sadly in maintenance mode): | https://news.ycombinator.com/item?id=33521561 | triska wrote: | This seems already _almost_ valid Prolog syntax, which is also a | syntactic superset of Datalog. | | The main question I have for implementors of Datalog and Prolog | variants like this: If you are _that_ close to using Prolog | syntax, why not go all the way and rely fully on Prolog, a | language for which a well-defined ISO standard and several | interesting implementations already exist. One of the key | benefits you get in this way is Prolog 's strength for meta- | programming and reasoning about programs with the same formalism | you use to state the specification and queries. Abstract | interpretation, query optimization etc. could be easily | implemented in this way, instead of having to parse an additional | formalism. | | It may be possible to implement such Prolog-"variants" entirely | within Prolog by defining suitable infix or prefix operators, or | adding _conforming_ extensions in implementations. A conforming | extension is one that does not conflict with existing ISO syntax. | For example, something that would be a syntax error in conforming | Prolog implementations could be used as an implementation- | specific extension. | tmptmpgo wrote: | linkdd wrote: | Inventing a language seems to be a rite of passage for every | engineer at google. | | Go, Dart, Carbon, Mangle, am I missing some? | | I'm not criticizing, I would not dare as I'm creating my own | language as well :P | drittich wrote: | Yes - my only attempt was in the early 1980s when I started to | develop a language implemented on top of interpreted BASIC. It | was called MAL (My Attempt at a Language). I wish I still had | it - I have no recollection what my design goals were, if any! | The only thing I have left is the name, and I'm quite sure that | was the best part about it anyway. | nicoburns wrote: | 4 languages doesn't really seem that many given how many | engineers there are at google... | eximius wrote: | those are just the public ones ___________________________________________________________________ (page generated 2022-11-26 23:00 UTC)