![](https://lemm.ee/pictrs/image/a614d197-4df4-4e74-8161-b5714ce2254c.webp)
![](https://beehaw.org/pictrs/image/c0e83ceb-b7e5-41b4-9b76-bfd152dd8d00.png)
The company didn’t abandon, Microsoft bought them out indirectly and killed the competition. Nothing to see here.
The company didn’t abandon, Microsoft bought them out indirectly and killed the competition. Nothing to see here.
ANTLR is for writing parsers. You don’t need a new custom parser, just use an existing XML parser.
There are IDE extensions that show the diff of the entire PR locally without having to squash anything. So yes, it’s weird to reinvent a square wheel.
I am currently writing a C compiler, with my own backend (and hopefully, frontend) in OCaml.
But why write your own C frontend? It’s much more of a pain than people imagine. I maintain a C frontend implemented in OCaml (the project itself goes back 25 years) and it’s still not on par with GCC or Clang.
For any other language, sure, but C has so many “wonderful” features, starting with the lexer hack. Your grammar conveniently overlooks this issue but it’s something you’ll have to deal with to actually implement it. So it simply won’t be as nice as theory suggests.
Yes, but with things like syscalls it’s easier to do this than require every high-level thing building on the syscall to be modified and recompiled. Very few people need to use such low-level APIs.
Visit takeout.google.com and select Google Podcasts to export your Google Podcasts data in OPML format.
I wonder when that became a thing. I migrated at the beginning of the year and had to manually add all subscriptions because Google Podcasts had no way of exporting anything.
I guess someone made a GDPR complaint.
The proof of work is the commit content itself! Unlike some arbitrary brute force task of no value.
Now we know how much they’re making with tracking and ads per user.
Yeah, titlegore material.
Pascal is a simpler and more limited language, so it’s not entirely surprising. It also has less and smaller standard libraries to link in.
As to C# and F#, what’s wrong with the difference? The functional coding style of F# prefers immutable data over possibly mutable ones in C# and that requires more allocations and garbage collection.
That allows processes to be reused but the interpreter must still be set up cleanly each time and torn down. That includes things like open files, database connections and application configurations.
Or you could just write your backend in JS and save a lot according to this table.
The big inefficiency of PHP is that every request is handled in a new instance as opposed to one process running the server continuously.
So it has the intended effect.
Log files themselves don’t, but I’m just comparing it with simpler files with simpler structure with simpler algorithms with better complexity.
It’s not necessarily about the load, it’s about the algorithmic complexity. Going from lists (lines in a file, characters in a line) to trees introduces a potentially exponential increase in complexity due to the number of ways the same list of elements can be organized into a tree.
Also, you’re underestimating the amount of processing. It’s not about pure CPU computations but RAM access or even I/O. Even existing non-semantic diff implementations are unexpectedly inadequate in terms of performance. You clearly haven’t tried diffing multi-GB log files.
How do you expect it to be shown though?
Because text is text and all }
are the same.
Diffing algorithms on trees might not be as efficient, especially if they have to find arbitrary node moves.
But where’s the start?
That was fast.