#mangle

2025-11-01

2025 is the year where there are not one but *two* #Mangle Datalog releases: v0.4.0 for your hacking pleasure.

An API to properly support "external" predicates support may be the most exciting thing, but there were also many bugfixes. Thanks to everyone who contributed!

github.com/google/mangle/relea

2025-10-21

There are many datalog implementations, but there is only one that has a mangle in its logo. #Mangle #datalog

The logo for the Mangle Datalog language. It shows a mangle, an old-fashioned device with two rollers and a crank that was used to wring out water from washed clothes and press them at the same time, similar to ironing.
2025-10-15

*En route* to ICFP/SPLASH 2025 and specifically REBASE. I haven't been to conferences in a long time and realized that - even if there is a lot of ideas being exposed and written about - I should write and talk a lot more, especially #Mangle #Datalog. I realize the #Datalog resurgence isn't actually widely known, but also during preparation had unexpected discussions with new team mates who happened to be souffle users. Classic case of unevenly distributed future. If you are on team Datalog and still around for the OOPSLA days, let's talk!

2025-09-27

My elder daughter, who helped me press the button when I open-sourced #Mangle a few years ago, asked me what a mangle is. I found this great explanation "Mangle's a fantastic piece of machinery ..." youtu.be/FxLdobQ-gbI?feature=s

What does it have to do with programming? Well, on one level, Mangle's evaluation is like turning the crank on the data ... 😉

2025-08-25

#mangle in the "news"... An editor's pick, no less! 😉

Seriously, even if the release was actually years ago and nothing whatsoever changed recently, I appreciate the "publicity". Making datalog more widely known is a major project goal. Every additional user, PR, odd article contributes to that. Not gonna lie, this made my day!

#mangle datalog is an idea whose time has come. It won't kill SQL, but give us a handle on explainable data modeling and integration, a knowledge graph semantics more practical than binary predicates.

marktechpost.com/2025/08/22/go

Hacker Newsh4ckernews
2025-08-18

Mangle – a language for deductive database programming

github.com/google/mangle

2025-08-14

@tekknolagi You are on a blogging spree!

I believe in an alternate, better world, we would likely teach liveness using datalog.

It is a pity that datalog did not exist when dataflow analysis was invented.

Here is a link to my "liveness in #mangle #datalog" example:
github.com/google/mangle/blob/

2025-05-21

I've cut a new #Mangle release v0.3.0 for your logic programming pleasure. Should really do this more often!

github.com/google/mangle/relea

Garbatronic_EsGODGarbatronic_EsGOD
2025-03-29

A closer look at and a closer look at the logo

A closer look at #Puppet #Mangle and a closer look at the #FiveNightsAtFreddys2Movie logo
Garbatronic_EsGODGarbatronic_EsGOD
2025-03-28

First Look at the Logo and also at and

First Look at the #FiveNightsAtFreddys2 Logo and also at #Puppet and #MangleFirst Look at the #FiveNightsAtFreddys2 Logo and also at #Puppet and #Mangle
2025-03-08

A colorful example how to aggregate and sum in #mangle datalog.

Maybe we should rebrand datalog with aggregation as a programming language for explainable machine learning 😉

github.com/google/mangle/issue

2025-01-21

#mangle got a tiny step towards more readable type syntax. I know I should rather write docs and pull of a bit of datalog-baaed static analysis but the syntax hack for structs was too terrible to endure. Now it is terrible with sugar. github.com/google/mangle/commi

2024-12-18

How cool to discover happy #mangle #datalog users! It is used in a schema analysis tool that is described here: techblog.citystoragesystems.co

2024-12-04

I accidentally found a way to trick myself into #writing overdue #mangle documentation. I used to get a few hours on Saturday that I spent 50% procrastinating, 40% looking for words and 10% actually flowing before time runs out and I am frustrated the rest of the weekend. Today I had 15 mins before the next meeting at work, and I am like just send it for review, oh just a tiny little finishing touch and I go write for 15 mins straight. Same time, no frustration. 5 stars will do again.

2024-09-01

Was reading up on using emscrioten with wasm runtimes and found the V8 team's blog posts tagged webassembly - good stuff:
v8.dev/blog/tags/webassembly

Pretty convinced #wasm will become a very effective common server runtime environment for many languages and platforms.

I want an in-process plugin/extension system for #mangle that works for multiple languages and #wasm with "system interface" looks like the only game in town today (ok, two if you count V8 and asking devs to translate their code to JS separately).

2024-08-17

It is really hard to capture the use of models and theories in a way that most people can understand. Struggling with that in my attempt to write something how to use #mangle for practical knowledge representation.

I very much like this discussion on "metaphors, models & theories" here:

edge.org/conversation/emanuel_

It has gems like "theories require verification, models require explanation, we need both" and "Sweep Dirt Under The Rug, But Let Users Know About It"

2024-08-14

#mangle has the beginnings of user docs now mangle.readthedocs.io/en/lates

2024-05-04

@mwillsey

In #mangle, you can write this program and it will give you all paths, with their weights added.

```
path(Src, Dst, W) :- edge(Src, Dst, W).
path(Src, Dst, W) :- path(Src, X1, W1), edge(X1, Dst, W2) |> let W = fn:plus(W1, W2).
```

This is no longer datalog: to compute the weight, we have to add (call fn:plus).

(There is also a "custom lattice" way that will only retain the shortest path. I should really write some docs.)

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst