Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

... to one somebody hoped was better suited to the task. That hope is not necessarily realized.

If it is not lossy, it is likely not to be providing net value.



That's not true. Consider the problem of detecting null pointer dereferences. Bucketing points into "null" and "not null" is lossless w.r.t. this problem domain. This can be very useful. When you stick Top and Bottom into the possible options is where you get lossy behavior. That can be useful too, but it isn't strictly necessary.


Binning pointers into "null" and "not null" is, exactly, lossy.


With respect to the domain it isn't.


The domain is, exactly, lossy.


If you aren't considering an abstraction with respect to a specific domain then there every single abstraction is lossy, not just the useful ones. You cannot transform state in any way without loss because, given enough effort, all properties of state are observable. This makes "lossy" a worthless descriptor using your approach.

Instead, I propose that we consider abstractions with respect to some problem domain. If you have states {null, notnull} then this is lossless but {null, notnull, top, bottom} is lossy.


Where you put your lossiness is a matter of choice and taste.


You're not wrong.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: