Re: Sockets Layer Counter Proposal Takashi Kato 11 Oct 2012 17:54 UTC

(2012/10/11 5:18), John Cowan wrote:
> Shiro Kawai scripsit:
>
>> If you don't like all-caps names, I'd suggest to use
>> a *consistent* rule to convert well-established names
>> to schemey-names.  E.g. SOCK_STREAM -> *sock-stream*
>
> The cl-posix-generalities page on Cliki has this set of mapping rules:
>
>      A symbol name is derived from the C binding's name, by:
>
>          1) uppercasing, then
>
>          2) replacing underscore (#\_) characters with the hyphen (#\-)
>
>          3) where the fields of a C structure all have a common prefix
>          (for example, "st_"), we omit it.
>
>          4) constant names get prefix and suffix '+'s.
>
>      No other changes to "Lispify" symbol names are made, so creat()
>      becomes CREAT, not CREATE.
>
> Rule 1 would not be relevant to Scheme, of course.  +...+ names are
> valid in R7RS but not in R6RS or earlier.
If I apply the rule to constant variables, let's say AF_INET, is this
the right result?

  1) donwcasing (schemey way I guess)
     -> af_inet
  2) replacing #\_ to #\-
     -> af-inet
  3) omit common prefix. here comes my question, in this case `af-'
     looks like a prefix, how should we treat?
    3.1) omit it
      -> inet
    3.2) expand it (more precise name)
      -> address-family-inet or address-family-internet
    3.3) keep it
      -> af-inet
  4) add '*' as both prefix and suffix. (+ is not a valid before R6RS so
     use * instead)
     -> *${result-of-3}*

If we keep name consisted with UNIX, then take 3.3 process. I'm not sure
what is the best SRFI way or Scheme way. (I believe not 3.1, though)

--
_/_/
Takashi Kato
E-mail: xxxxxx@ymail.com