[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] How to implement protocols?

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. 



Attachment: signature.asc
Description: OpenPGP digital signature

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.