On Thu, Jul 07, 2016 at 06:08:43PM +0100, Richard W.M. Jones wrote: > On Thu, Jul 07, 2016 at 07:00:46PM +0200, Pino Toscano wrote: > > On Thursday 07 July 2016 17:30:03 Richard W.M. Jones wrote: > > > This adds imperative list manipulation functions inspired by Perl. > > > The functions are passed list refs which get updated in place. > > > > > > This allows us to replace some awkward pure functional code like: > > > > > > let xs = ys in > > > let xs = if foo then xs @ zs else xs in > > > > > > with: > > > > > > let xs = ref ys in > > > if foo then append xs zs; > > > --- > > > > TBH I've always found the "shift" and "unshift" naming of Perl > > functions slightly awkward, but can live with them. (At least the > > new functions do the same as Perl ones.) > > I agree, but for consistency I thought it was better to keep those > names rather than trying to think up new ones which would be different > from everything else.
Actually I forgot that C++ (STL vector, deque etc) have functions called push_front, pop_front, push_back, pop_back. Don't know if that would be better. Is it obvious what front and back mean? Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
