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
[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