4 ms·
I hadn't heard the concept of a reducer. Very cool!
by egonschiele 6y ago
I hadn't heard the concept of a reducer. Very cool!
- macintux 6y agoErlang QuickCheck, and I would guess Haskell as well, offers a reducer. It’s really quite impressive. Any John Hughes talk is worth watching; here’s one where he demonstrates the functionality. https://youtu.be/gPFSZ8oKjco https://youtu.be/gPFSZ8oKjco
- FeepingCreature 6y agoThere's also DustMite for D. https://dlang.org/blog/2020/04/13/dustmite-the-general-purpose-data-reduction-tool/ https://dlang.org/blog/2020/04/13/dustmite-the-general-purpo... It's fairly D specific though. I've submitted dozens of bugs with it. It's pretty great.
- TacticalCoder 6y agoSo does Clojure's test.check. Even though Clojure ain't typed you can define "specs" of your data and then have generators generating random data (it's not the only use of specs: they can also be used as a way to verify inputs to functions). The generators data can be used to, say, quickly create fake database with lots of data or fed into test.check which then does fuzzy testing and then tries hard to reduce failing test cases to minimal cases.
- yudlejoza 6y agoI hadn't either. But I refer to the method as 'code isolation'. There are a bunch of related stuff that's interesting: - code slicing (known as code-splitting in JS community). - round-trip compilation
- pabs3 6y agoC-Vise and C-Reduce are common ones for C/C++: https://github.com/marxin/cvise https://github.com/marxin/cvise http://embed.cs.utah.edu/creduce/ http://embed.cs.utah.edu/creduce/