On Mon, Nov 28, 2016 at 10:05:15PM +0100, Ludovic Court??s wrote: John Darrington skribis: > On Mon, Nov 28, 2016 at 02:59:09PM +0100, Ludovic Court??s wrote: > > ???match???, > > > > Have another look: + (let* ((host (match (string-split source #\:) ((h _) h))) > > Right, but there are other occurrences of ???car??? for ???getaddrinfo???. :-) > > But that occurance applies to a real list, rather than a list used as record. > In other words, I really do just want to get the first item of that list. > As I understand it, match is supposed to be used for heterogenous lists where > each member has its own semantics. That is not the case here. ???match??? can be used to match anything, and I highly recommend using it for lists (info "(guile) Pairs"): it generates clearer and foolproof code. In this case ???getaddrinfo??? might well return an empty list. So then "car" would raise an error (unless I check it first with pair?) - just as match would raise an error unless I add a catch-all case. I'm still not convinced that match has any advantages in this case. However I've changed it despite that, and pushed this patch to master. I hope it's ok. J' -- Avoid eavesdropping. Send strong encrypted email. PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key.