[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] How to implement protocols?
Hannes could you expand on what's meant by "Abstraction should be used where needed"? I kinda agree with the second part of the quoted snippet.For one thing, chosen abstractions are partly a matter of taste -- one person's abstraction is another person's abomination... For another, abstractions are devised based on what's suitable at the time for a project. We have to be pragmatic. And times change. Abstractions should change with the times too.I think this is what the second part of the quoted snippet refers to; "legacy" abstractions can be a burden, even to the original author/s. Perhaps it might also be useful to clarify what's meant by "abstraction" to begin with :) The beginning of the paragraph suggests that it stands for function/lambda abstraction, but the end of the paragraph can be interpreted more broadly. Would it be more convenient for you if feedback were provided off-list (in comments to the gist perhaps), or is it fine to continue discussing this on the mailing list? Nik On 2015-11-13 11: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. Other than that the document feels like unstructured, poorly written [1], random rumblings. Best, Daniel [1] E.g. "A fundamental feature of functional programming is that communication between functions is done via arguments and result values solely." _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |