many modularisation abstractions can be overused - either coz excess
abstraction is done (there just aren't that many really different
types/cases of use) or coz it turns into an efficiency killer (or both) -
this showed up in a big open source router project called Xorp at berkeley
where they made the dubious decision to use C++ - talk to people about the
nightmare of coding conventions they ended up with - dunno if it was
written up anywhere but people that tried re-purposing the code (a primary
test of the appropriateness of an abstraction or modular decision) ended up
re-writing it....oops (and I mean that most linguistically)

On Fri, Nov 13, 2015 at 3:22 PM, Hannes Mehnert <[email protected]> wrote:

> On 11/13/2015 12:00, Daniel Bünzli wrote:
> > "Abstraction should be used where needed, keeping in mind that every
> abstraction is a burden on the reader of the program (e.g. yourself in 5
> years)."
> >
> > WTF. Abstraction is what makes it easier to read and understand the
> program. That's precisely what I see missing from people doing system
> programming in OCaml. Lack of decomposition of your problem into
> well-defined denotational structures and functions. Lack of decomposition
> of the functions themselves into well defined and *named* subexpressions.
> etc.
>
> I may have phrased it wrongly: my intention is that you shouldn't
> abstract over all potential modules (such as IO), but rather provide a
> simple interface (exposing intended actions).
>
> I personally find the cohttp and TCP/IP code hard to read due to the use
> of lots of functors / module abstractions, which are not necessarily
> needed IMHO.
>
> > Other than that the document feels like unstructured, poorly written
> [1], random rumblings.
>
> thanks,
>
> hannes
>
>
>
> _______________________________________________
> MirageOS-devel mailing list
> [email protected]
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
>
_______________________________________________
MirageOS-devel mailing list
[email protected]
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

Reply via email to