trustfall
rust-semverver
trustfall | rust-semverver | |
---|---|---|
24 | 8 | |
2,285 | 641 | |
- | - | |
9.1 | 1.7 | |
5 days ago | 11 months ago | |
Rust | Rust | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
trustfall
-
Planner programming blows my mind
Pleasantly surprised to see Predrag show up as a reviewer, but at the same time not at all surprised:
- The [Firebase technical screen](https://startupandrew.com/posts/how-firebase-interviewed-sof...) would have been much easier with something like this, as it was Just Another Optimization Problem™. Part of me wants to try it again with Picat!
- He's doing other very interesting things with programming languages, e.g.: https://github.com/obi1kenobi/trustfall
-
Ask HN: Who wants to be hired? (December 2023)
Email: [email protected]
Hi, I'm u9g. I'm looking for an internship for either this winter (in a few weeks) or a summer internship!
Some things I've done:
I integrated a [query engine for lints](https://github.com/obi1kenobi/trustfall) (and contributed optimizations) into [OXC](https://github.com/oxc-project/oxc) (a new Rust-based Javascript Linter).
I wrote [several](https://github.com/u9g/money-lens) [toy](https://github.com/u9g/quickquestion/tree/main/extension) languages and syntax highlighting for them.
I also wrote a [js-to-scheme transpiler](https://github.com/u9g/js2scheme/blob/main/example.js).
Happy to work on things compiler or database oriented, but also happy to learn something new!
-
Semver violations are common, better tooling is the answer
If you'd like to dig deeper, here are some links:
- cargo-semver-checks: https://github.com/obi1kenobi/cargo-semver-checks
- Trustfall query engine, which powers cargo-semver-checks: https://github.com/obi1kenobi/trustfall
- Trustfall playground, where you can query Rust library APIs in your browser -- for example, "which structs in `itertools` are importable by more than one path": https://play.predr.ag/rustdoc#?f=2&q=*3-Structs-importable-f...
- 10min conference talk on Trustfall: https://www.hytradboi.com/2022/how-to-query-almost-everythin...
I'm also giving a talk at P99 CONF in a few months about how Trustfall's new optimizations API made cargo-semver-checks over 2300x faster: https://twitter.com/PredragGruevski/status/16893002495908003...
-
Cargo-semver-checks: Scan your Rust crate for semver violations
No worries!
Trustfall is even more general than semver actually, one can use it to query any data source -- even HN itself:
https://play.predr.ag/HackerNews
Here's a link to that project if you'd like to check it out:
https://github.com/obi1kenobi/trustfall
I gave a 10min conference talk on it last year titled "How to query (almost) everything"
https://www.hytradboi.com/2022/how-to-query-almost-everythin...
-
We created Taxi, and why we felt the need for Another Schema Language
I've had my eye on Taxi for a while, and it's neat! I agree that the problems it aims to solve are real and painful in real life.
In my experience, I'm not sure people care about schemas or schema languages — they are just implementation details best left under the hood. This is why in my own work, I started on the query end of the spectrum instead.
This is why I built Trustfall, a query engine able to query any data source: DBs, APIs, files like PDF, CSV, or JSON, or any combination of those.
GitHub: https://github.com/obi1kenobi/trustfall
Playground showing the query "which GitHub/Twitter users comment on HackerNews stories about OpenAI?": https://play.predr.ag/hackernews#?f=1&q=IyBDcm9zcyBBUEkgcXVl...
- cargo-semver-checks v0.20 and Trustfall v0.4 released — semver-check up to 2354x faster
- DuckDB: Querying JSON files as if they were tables
-
Speeding up Rust semver-checking by over 2000x
Here's an example adapter for querying RSS/Atom feeds. Here's an example adapter for querying the HackerNews APIs. Both projects also include a schema and example queries which you can run.
- Trustfall: How to Query (Almost) Everything
rust-semverver
-
A byte string library for Rust
1) No. I think semver is just fine for its intended purpose. I mean, I'm sure its spec could be improved in various ways, but its fundamental idea seems fine to me. I think it's just important to remember that semver is a means to an end, and not an end itself. It is a tool of communication most useful in a decentralized context.
2) No.
3) See: https://github.com/rust-lang/rust-semverver --- But also, this is only ever going to be a "best effort" sort of thing. Semver isn't just about method additions or deletions, but also behavior.
-
Toward fearless `cargo update`
How does this compare to cargo-semverver?
-
Are crate versions numbers all low because Rust just works?
Found this: https://github.com/rust-lang/rust-semverver but it doesn't seem to act on git log/diffs... just FYI.
-
Implied bounds and perfect derive
Enter rust-semverver!
-
my company refuses to use rust because it changes to much
Rust type system on the other hand does not allow this. Traits are monotonic logic: adding trait-impls / most qualifiers does't influence already existing and compiling code (note: for code that doesn't rely on disambiguation to compile). There's rules that clarify this disambiguations and breaking/non-breaking changes according to the type system. There's SemVerVer to automatically verify those guidelines.
-
Would you want crates.io/cargo publish to enforce strictly correct SemVer conventions?
In my case it wasn't so bad and an easy fix was fast to write, but it got me thinking of how much of a problem this is for the wider ecosystem. Some searching showed me, that of course there is a tool rust-semverver to do exactly that. Sadly it errors on my system (or maybe im just using it wrong). Would've been interesting to see how often this actually happens on crates.io and how much of a problem this really is.
-
Semantic Versioning Will Not Save You
There's been an attempt at this for the Rust ecosystem: https://stackoverflow.com/questions/41185023/what-exactly-is...
There's also a library that attempts to automatically check sermver adherence of a crate: https://github.com/rust-lang/rust-semverver
And there has been quite a bit of effort into preventing semver requirements from fracturing the ecosystem. This revolves around the compiler working with multiple major versions of a single library: https://github.com/dtolnay/semver-trick
-
cargo-incversion, a command line utility to update Cargo.toml version
Turns out it already exists: https://github.com/rust-lang/rust-semverver
What are some alternatives?
postgrest - REST API for any Postgres database
wg - Coordination repository of the embedded devices Working Group
cargo-semver-checks-action - A GitHub Action for running cargo-semver-checks
join-monster - A GraphQL to SQL query execution layer for query planning and batch data fetching.
cargo-semver-checks - Scan your Rust crate for semver violations.
graphql-java - GraphQL Java implementation
blog - My blog.
dgs-framework - [Moved to: https://github.com/Netflix/dgs-framework]
imgref-iter - A small crate for iterating over the rows or columns of `imgref` buffers
genql - Type safe TypeScript client for any GraphQL API
really-small-backpack-example - A really small example of the Backpack module system for Haskell