Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
tybug
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
1.
▲
Property-Based Testing
(tybug.dev)
2 points
by
tybug
3mo ago
|
0 comments
2.
▲
Swarm Testing
(tybug.dev)
2 points
by
tybug
4mo ago
|
0 comments
3.
▲
by
tybug
5mo ago
We plan to rewrite hypothesis in rust and expose an FFI through that! This is a medium term plan (months, not weeks or years), but we're acutely aware that relying on a python component is not a long-term solution.
4.
▲
by
tybug
5mo ago
Yes! I just wrote up documentation for the protocol earlier this week: https://hegel.dev/reference/protocol . In reality, we hope to provide more guidance than this to people who want to write their own language fronten
5.
▲
by
tybug
5mo ago
I didn't expect to see Hegel when opening up HN today! Feel free to ask any questions about it. We released hegel-go earlier this week, and plan to release hegel-cpp sometime next week, so look forward to that :)
6.
▲
by
tybug
6mo ago
To put it on the record: my position is current models can't get us there, and neither can the next iteration of models, but in two model iterations this will be worth doing. There's a lot of fiddly details in Hypothesis that ar
7.
▲
by
tybug
6mo ago
`from_type` just supports a bunch more things than rust ever can due to the flexibility of python's type system. `from_type(object)` is amazing, for example, and not something we can write in rust.
8.
▲
by
tybug
6mo ago
Yep, `#[derive(DefaultGenerator)]` and `generators::default<T>()` are the right tools here. This is one of the areas we've dogfooded the least, so we'd definitely be happy to get feedback on any sharp corners here! I think `
9.
▲
by
tybug
6mo ago
I actually think there's another angle here where PBT helps, which wasn't explored in the blog post. That angle is legibility . How do you know your AI-written slop software is doing the right thing? One would normally read all t
10.
▲
by
tybug
6mo ago
As possibly the one community on earth where it's actually better to post the code than the blog post: TL;DR this is a universal property-based testing protocol ( https://github.com/hegeldev/hegel-core ) and family
11.
▲
Property-based testing is about to rule the (software) world
(tybug.dev)
2 points
by
tybug
7mo ago
|
0 comments
12.
▲
by
tybug
10mo ago
Appreciate the thoughts <3. I do think there might be stronger examples we could choose. Possibly json encode/decode..
13.
▲
by
tybug
11mo ago
(Hypothesis maintainer here) If you have recommendations for a better example on the front page, I'd love to hear them! (I mean this entirely genuinely and non-sarcastically; I agree sorting can give misleading ideas, but it is also co
14.
▲
by
tybug
11mo ago
(Hypothesis maintainer here) Yup, a standard test suite just doesn't run for long enough for coverage guidance to be worthwhile by default. That said, coverage-guided fuzzing can be a really valuable and effective form of testing (see
15.
▲
by
tybug
1y ago
Nice! "testing your test code" is particularly important when dealing with PBT distributions, especially when your generator gets more complicated. Tyche [0] is another cool tool for addressing the same problem, visualizing the PB
16.
▲
by
tybug
1y ago
The Hypothesis explain phase [1][2] does this! fails_on_empty_third_arg( a = "", # or any other generated value b = "", # or any other generated value c = "", d = "",
17.
▲
by
tybug
2y ago
That kind of behavior can happen at the threshold of Hypothesis' internal limit on entropy - though if you're not hitting HealthCheck.data_too_large then this seems unlikely. Let me know if you have a reproducer, I'd be curio
18.
▲
by
tybug
2y ago
(not OP but I would be surprised if the answer wasn't) yes, because you're changing the order in which the random draws are interpreted. But this isn't a problem in practice because you generally aren't changing the gene
19.
▲
by
tybug
3y ago
You're right, I misstated this - but I don't think this is fatal. The other sibling commenters pointed out the real issue with my thinking. The argument goes the same even though I misspoke here. If the machine {halts, runs foreve
20.
▲
by
tybug
3y ago
I suppose I did! I was having a hard time reconciling this with the intuition that BB(n) is in principle "computable" (colloquially speaking) for any n - my thinking went that if I want to compute BB(n), I can enumerate turing mac
21.
▲
by
tybug
3y ago
I'm hoping someone can enlighten me here. My understanding is that there is a turing machine of 748 states [0], which halts iff ZFC is inconsistent (Thm 1). But this machine is a "physical" object, in the sense that we can ma
22.
▲
by
tybug
3y ago
No disagreement here. But I hold that this is an especially confusing way of describing independent statements, especially in this paper, which certainly was written by a logician. I take particular issue with the phrasing because it conf
23.
▲
by
tybug
3y ago
A common misconception in the first paragraph: > However, Godel shattered these aspirations in 1931 by proving the existence of true but unprovable mathematical formulas. Godel sentences are unprovable, but they are not "true"
24.
▲
by
tybug
4y ago
Formal systems need not be consistent; if a formal system assumes both P and ~P as axioms, you can derive S and ~S (for any S) by explosion.
25.
▲
by
tybug
4y ago
I would argue "reasoning about programs" formally means "can prove P Q R ..." (with appropriate choices for P Q R) and doesn't implicitly carry an assumption of consistency. But, fair enough.
26.
▲
by
tybug
4y ago
> But the same reasoning can be applied to any formal system F, with fairly minimal assumptions: Strictly speaking, F has to be satisfiable/consistent as well. {P, ~P} is a trivially recursively enumerable, complete theory which con
27.
▲
by
tybug
5y ago
I realize this quote isn't meant to be taken literally, and it's a nice one-liner encapsulation of metaclasses, but it always bothered me. The people who "actually need metaclasses" were, at some point, learning about me
28.
▲
by
tybug
5y ago
The most salient example I can think of is tracking all subclasses of a class. This is how django tracks `Model` subclasses to create a table for each model, for instance. I wrote a blog post on this topic: https://tybug.github.i