I see my work as getting rid of the semantic layer. Layers are bad if theyβre lossy and one-way, which OLAP cubes certainly were.
06.01.2026 16:05 β π 4 π 0 π¬ 0 π 0I see my work as getting rid of the semantic layer. Layers are bad if theyβre lossy and one-way, which OLAP cubes certainly were.
06.01.2026 16:05 β π 4 π 0 π¬ 0 π 0Morel Rust
Morel is now in Rust! I just made the first release of the new Rust toolchain for Morel. Morel-Rust implements same language as Morel-Java. It's early days, but potentially performance will be much better.
blog.hydromatic.net/2025/10/23/m...
Thanks - I'll give that a read. Morel's terminal "compute" step is intended provide monoid comprehensions. And the "into" step does something similar. github.com/hydromatic/m...
22.06.2025 20:34 β π 3 π 0 π¬ 0 π 0I think I have found a way to remove aggregate functions from Morel. They become ordinary functions applied to the collection of elements gathered by the "group" operator (or a query on those elements if you want to pre-filter). github.com/hydromatic/m...
22.06.2025 20:25 β π 4 π 0 π¬ 1 π 0How we simplified the syntax of Morel's "order" step blog.hydromatic.net/2025/06/20/s...
21.06.2025 01:07 β π 2 π 0 π¬ 1 π 0Tragedy of the commons
19.06.2025 20:21 β π 1 π 0 π¬ 1 π 0I'm pleased to announce release 0.7 of Morel! This is a huge release, adding support for ordered/unordered data, set operators, and revised order syntax. A major rework of Morel's type inference algorithm delivered function overloading. blog.hydromatic.net/2025/06/08/m...
09.06.2025 04:42 β π 3 π 0 π¬ 0 π 0Java doesn't let parameters of lambdas overshadow local variables, but it does let them overshadow fields. I don't think the rule against overshadowing has ever helped me.
08.06.2025 18:01 β π 0 π 0 π¬ 1 π 0Thank you! I donβt really want to innovate in type theory, so followed the Wadler/Wehr/Odersky paper as closely as I could. But the result is good - you can write a query with a mixture of bags and lists, no type annotations, and it comes up with the right type.
08.06.2025 07:14 β π 1 π 0 π¬ 0 π 0We might both be right. Cocker is a great writer; Shatner is a great performer.
07.06.2025 22:40 β π 0 π 0 π¬ 0 π 0
I have no idea whether it's fast. I assume you are competing with people who have sweated many weekends to squeeze out performance gains.
But the name 'dijkstralog' is definitely a keeper.
I guess some people are still buying Buicks and so Buicks get the modern tech, like adaptive cruise control, only five years after everyone else.
07.06.2025 19:06 β π 2 π 0 π¬ 0 π 0
Not sure about that. Iβve seen Star Trek but never heard that cover.
Bigger question: will Jarvis Cocker be up there with the great English humorists, Oscar Wilde, Jake Thackray, Flanders & Swann?
It is telling that neovim started it for you. In the nineties, Windows nearly wiped out real operating systems, and notepad was the gateway drug. People loved double-clicking files to open them, but without the command line, lost their place in the universe.
07.06.2025 18:25 β π 1 π 0 π¬ 1 π 0Database tables are unordered, but functional programming languages work best over ordered lists. Which should Morel prefer? Both! We now have "list" and "bag" types, and full relational algebra over both. blog.hydromatic.net/2025/06/06/o...
07.06.2025 01:08 β π 11 π 4 π¬ 1 π 0Be honest, did you ever find a real-world use for SQL's "INTERSECT ALL" operator? Now we did! This post explains how you can use Morel's "intersect" to compute GCD (greatest common divisor). blog.hydromatic.net/2025/06/03/i...
04.06.2025 03:40 β π 3 π 3 π¬ 0 π 0Am I the only one who uses this git trick? To split a commit (in this case a8aee880), include it twice in the rebase script with a b (break) step in the middle. When rebase pauses, revert the parts of the commit that you don't want. They will be applied in the next commit.
03.06.2025 19:59 β π 5 π 2 π¬ 0 π 0Is it possible to do serious programming (such as solving Wordle) in a query language? If not, what's missing? The video of my DataCouncil talk is posted. www.youtube.com/watch?v=xwFs...
03.06.2025 19:58 β π 6 π 2 π¬ 0 π 0OK, I merged ordered/unordered queries. Next, an "unorder" step and an "ordinal" expression, so that you can more easily convert between lists and bags.
22.05.2025 23:24 β π 2 π 1 π¬ 0 π 0I'm getting ready to merge a big new feature to Morel - ability to query unordered data sets (bags, and database tables), ordered data sets (lists), and hybrid queries that mix the two. I'd appreciate feedback on whether the specification is clear. github.com/hydromatic/m...
21.05.2025 18:52 β π 1 π 0 π¬ 0 π 1
I started a discussion about supporting SQL Pipe syntax in
Apache Calcite. Please chime in. lists.apache.org/thread/1ggd3...
Yes, it is.
19.05.2025 06:21 β π 1 π 0 π¬ 0 π 0I feel the same way as you. But I guess when I visit other peopleβs houses I realize that their definitions of βtidyβ and βcomfortableβ are different from mine. Abstraction is ick to a lot of people.
18.05.2025 20:17 β π 0 π 0 π¬ 0 π 0
The other fascinating thing about spreadsheets is that the code is embedded in the data. You start off with pure data and can gradually add little bits of code.
Copying the code involves also copying the data. To apply the same code to a different data set, some kind of abstraction is required.
I wonder whether spreadsheets are attractive to non-programmers because they don't require abstraction. Abstraction is possible (the scripts and functions you mention) but is not the norm.
18.05.2025 19:00 β π 0 π 0 π¬ 1 π 0Spreadsheets are the one and only βlanguageβ that lets users solve their problems without hiring or βbecomingβ programmers. Since then the software folks have been trying (with limited success) to figure out how to make programming languages more like spreadsheets.
18.05.2025 17:15 β π 8 π 0 π¬ 1 π 1So much for DJT ending this war quickly. He literally can't get Putin to come to the negotiating table.
16.05.2025 17:30 β π 3 π 0 π¬ 1 π 0Should Morel be rewritten in Rust? The Rust data community is compelling, but moving to Rust might cause us to lose focus on Morel's bigger goals. I ponder the question in a blog post. blog.hydromatic.net/2025/05/11/r...
12.05.2025 02:20 β π 6 π 1 π¬ 0 π 0
Peak power (the 200 hp, or 150kW, number you quote) isn't relevant. No one continuously accelerates for 100s.
Miles per kWh is more important. Aptera claims 10, my Taycan gets 3.
The key question is: How far can I drive on an 8 hour solar charge? Based on their numbers, Aptera gets 5 miles.
A big reason we have seen vendors like Firebolt and Databricks quickly add support is that pipe syntax is easy to implement. Some syntactic sugar, but downstream validation and algebra are unchanged.
Pipes are also close to the algebra. Note similarity to calcite.apache.org/docs/algebra...