dang @nikomatsakis is awesomehttps://internals.rust-lang.org/t/lets-push-non-lexical-lifetimes-nll-over-the-finish-line/7115/8 …
-
-
Replying to @steveklabnik
In my opinion the hero of this story is
@frankmcsherry1 reply 0 retweets 12 likes -
Super impressive to see how much differential dataflow speeds stuff up in practice--it's too easy to forget how impressive it is when you're comparing it to microoptimized research database performance and not production software.
2 replies 0 retweets 3 likes -
Replying to @awesomeintheory @nikomatsakis and
Now I'm wondering how hard it would be to write a procedural macro to automatically generate dataflow from Datalog style rules for simple stuff like this...
1 reply 0 retweets 2 likes -
This could be pretty neat. My attempts at vanilla macros .. flailed. Datalog is pretty terse, and if you miss on any of its simplicity the resulting string can be hard to understand. E.g. I had to write repeated vars as `y1` and `y2` rather than the same name, which ... =/
2 replies 0 retweets 2 likes -
I don't think vanilla macros could really do what you want here anyway (since you sort of need to be able to compare variable names). It would be interesting, though, if vanilla macros could understand binding sites, uses, and scopes, allowing shadowing like Rust let statements.
1 reply 0 retweets 0 likes -
Replying to @awesomeintheory @frankmcsherry and
It might be easier to use macros if you were willing to use "SQL-flavored Datalog" (ignoring NATURAL JOIN and USING), since then you need to make the comparison explicit in syntax. That's a lot less terse, of course.
1 reply 0 retweets 0 likes -
Right, I think I ended up with naming the bindings, then stating equalities in terms of bindings, e.g. `datalog!(rel1(a,b1,c1), rel2(c2,b2,d), (b1,c1) == (b2,c2))`, which .. is arguably an improvement, but it would indeed be an argument.
1 reply 0 retweets 1 like -
I'm willing to call it a big improvement, actually! At least, I find it much easier to comprehend than the long-form Rust. But obviously a procedural macro could do better :)
1 reply 0 retweets 1 like
I was also debating making a procedural macro at some point =) can't use them in the compiler yet though
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.