<script type="text/javascript">
<!--
document.write('<div id="oa_widget"></div>');
document.write('<script type="text/javascript" src="https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=undefined&type=result"></script>');
-->
</script>
While folklore teaches us that closures and objects are two sides of the same coin, they remain quite different in practice, most notably because closures are opaque, the only supported operation being to call them. In this article we discuss a few cases where we need functions to be less opaque, and propose to satisfy this need by extending our beloved �� so as to expose as sorts of record fields some of the variables it captures. These open closures are close relatives of CLOS's funcallable objects as well as of the function objects of traditional object-oriented languages like Java, except that they are functions made to behave like objects rather than the reverse. We present the design and implementation of such a feature in the context of Emacs Lisp.
Functional programming, Function objects, Translucent functions, Emacs Lisp
Functional programming, Function objects, Translucent functions, Emacs Lisp
citations This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |