Ah, yes, that's true indeed. On Wed, Oct 19, 2016 at 2:33 PM adonovan via golang-nuts < golang-nuts@googlegroups.com> wrote:
> On Wednesday, 19 October 2016 16:50:55 UTC-4, Thomas Bushnell, BSG wrote: > > On Wed, Oct 19, 2016 at 1:47 PM Pietro Gagliardi <and...@lostsig.net> > wrote: > > Manual memory management is a part of life in the C world. defer is the > solution that Go comes up with to situations where explicit cleanup is > necessary, and it's a powerful tool that I'm pretty sure *is* an innovation > Go did first. > > > Oh my, no. It's a wonderful thing, but it's essentially equivalent to > Lisp's UNWIND-PROTECT or (in the outward case) Scheme's dynamic-wind. > > > Unwind-protect and the better known but equivalent try/finally both > operate at the level of balanced lexical blocks: expressions in Lisp, > statement blocks in Java or C++. In contrast, defer operates at the > function level and requires a dynamic stack, and in that sense it is novel, > but I can't think of a single time I've actually wanted to defer an action > beyond the point when try/finally would have executed it. > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.