public inbox for cgen@sourceware.org
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@redhat.com>
To: Doug Evans <dje@transmeta.com>
Cc: cgen@sources.redhat.com
Subject: Re: PATCH: Handle symbols in messages
Date: Thu, 27 Jan 2005 20:38:00 -0000	[thread overview]
Message-ID: <vt24qh2sjla.fsf@zenia.home> (raw)
In-Reply-To: <vt2brbitcgt.fsf@zenia.home>


Jim Blandy <jimb@redhat.com> writes:
> Doug Evans <dje@transmeta.com> writes:
> > fwiw, while string-concat might not clearly specify the operation
> > (though I don't have a problem with it), `concat' seems too generic
> > (or at least not string-specific enough in the way that the rest of
> > the string functions are so named).
> > 
> > string-map is to map,
> > as string-list is to list,
> > as string-<mumble> is to concat.
> > 
> > concat mightn't make sense outside of strings (and thus why have the
> > string- prefix ...), but why preclude symbol-concat? (etc.)
> > 
> > How about string-concat?
> 
> Thanks for picking at this.  I had thought I was naming it after a
> Common Lisp function, but now that I look it up I see I was getting my
> dialects confused.  (Emacs Lisp has a concat function that does type
> conversions on its arguments.)
> 
> How about string/symbol-append?  Given that there's no good precedent
> for 'concat' after all, and that concat has another meaning in CGEN
> .cpu files, and that the distinction between appending and
> concatenating is unclear, perhaps we should stick to the verb Scheme
> generally uses for this kind of operation, and simply name the types
> we're handling.

There've been no further comments on this, so I've committed the below
on the assumption that it's at least better than the status quo.  But
of course I'm happy to make further changes as people suggest.

2005-01-27  Jim Blandy  <jimb@redhat.com>

	* utils.scm (string/symbol->append): Renamed from 'concat'.
	* opcodes.scm (gen-switch): Use new name.
	* insn.scm (-sub-insn-make!): Same.
	* rtl.scm (rtx-dump): Same.
	* semantics.scm (semantic-compile): Same.

Index: cgen/insn.scm
===================================================================
RCS file: /cvs/src/src/cgen/insn.scm,v
retrieving revision 1.13
diff -c -p -r1.13 insn.scm
*** cgen/insn.scm	20 Jan 2005 22:57:10 -0000	1.13
--- cgen/insn.scm	27 Jan 2005 20:15:24 -0000
***************
*** 271,280 ****
  	 (obj:name insn)
  	 ":"
  	 (string-map (lambda (op newval)
! 		       (concat " "
! 			       (obj:name op)
! 			       "="
! 			       (obj:name newval)))
  		     anyof-operands new-values)
  	 " ...\n")
  
--- 271,280 ----
  	 (obj:name insn)
  	 ":"
  	 (string-map (lambda (op newval)
! 		       (string/symbol-append " "
! 					     (obj:name op)
! 					     "="
! 					     (obj:name newval)))
  		     anyof-operands new-values)
  	 " ...\n")
  
Index: cgen/opcodes.scm
===================================================================
RCS file: /cvs/src/src/cgen/opcodes.scm,v
retrieving revision 1.8
diff -c -p -r1.8 opcodes.scm
*** cgen/opcodes.scm	20 Jan 2005 23:12:50 -0000	1.8
--- cgen/opcodes.scm	27 Jan 2005 20:15:24 -0000
***************
*** 516,522 ****
     (lambda (ops)
       ; OPS is a list of operands with the same name that for whatever reason
       ; were defined separately.
!      (logit 3 (concat "Processing " (obj:str-name (car ops)) " " what " ...\n"))
       (if (= (length ops) 1)
  	 (gen-obj-sanitize
  	  (car ops)
--- 516,523 ----
     (lambda (ops)
       ; OPS is a list of operands with the same name that for whatever reason
       ; were defined separately.
!      (logit 3 (string/symbol-append
! 	       "Processing " (obj:str-name (car ops)) " " what " ...\n"))
       (if (= (length ops) 1)
  	 (gen-obj-sanitize
  	  (car ops)
Index: cgen/rtl.scm
===================================================================
RCS file: /cvs/src/src/cgen/rtl.scm,v
retrieving revision 1.8
diff -c -p -r1.8 rtl.scm
*** cgen/rtl.scm	20 Jan 2005 22:57:10 -0000	1.8
--- cgen/rtl.scm	27 Jan 2005 20:15:24 -0000
***************
*** 786,796 ****
  
  (define (rtx-dump rtx)
    (cond ((list? rtx) (map rtx-dump rtx))
! 	((object? rtx) (concat "#<object "
! 			       (object-class-name rtx)
! 			       " "
! 			       (obj:name rtx)
! 			       ">"))
  	(else rtx))
  )
  
--- 786,796 ----
  
  (define (rtx-dump rtx)
    (cond ((list? rtx) (map rtx-dump rtx))
! 	((object? rtx) (string/symbol-append "#<object "
! 					     (object-class-name rtx)
! 					     " "
! 					     (obj:name rtx)
! 					     ">"))
  	(else rtx))
  )
  
Index: cgen/semantics.scm
===================================================================
RCS file: /cvs/src/src/cgen/semantics.scm,v
retrieving revision 1.6
diff -c -p -r1.6 semantics.scm
*** cgen/semantics.scm	20 Jan 2005 22:57:10 -0000	1.6
--- cgen/semantics.scm	27 Jan 2005 20:15:25 -0000
***************
*** 798,808 ****
  		  sorted-outs out-op-nums)
  
  	(let ((dump (lambda (op)
! 		      (concat "  "
! 			      (obj:name op)
! 			      " "
! 			      (number->string (op:num op))
! 			      "\n"))))
  	  (logit 4
  		 "Input operands:\n"
  		 (map dump sorted-ins)
--- 798,808 ----
  		  sorted-outs out-op-nums)
  
  	(let ((dump (lambda (op)
! 		      (string/symbol-append "  "
! 					    (obj:name op)
! 					    " "
! 					    (number->string (op:num op))
! 					    "\n"))))
  	  (logit 4
  		 "Input operands:\n"
  		 (map dump sorted-ins)
Index: cgen/utils.scm
===================================================================
RCS file: /cvs/src/src/cgen/utils.scm,v
retrieving revision 1.14
diff -c -p -r1.14 utils.scm
*** cgen/utils.scm	20 Jan 2005 22:57:10 -0000	1.14
--- cgen/utils.scm	27 Jan 2005 20:15:25 -0000
***************
*** 87,93 ****
  
  ; Concatenate all the arguments and make a string.  Symbols are
  ; converted to strings.
! (define (concat . sequences)
    (define (sequence->string o) (if (symbol? o) (symbol->string o) o))
    (apply string-append (map sequence->string sequences)))
  
--- 87,93 ----
  
  ; Concatenate all the arguments and make a string.  Symbols are
  ; converted to strings.
! (define (string/symbol-append . sequences)
    (define (sequence->string o) (if (symbol? o) (symbol->string o) o))
    (apply string-append (map sequence->string sequences)))
  

      reply	other threads:[~2005-01-27 20:38 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-20 22:59 Jim Blandy
2005-01-21  0:26 ` Doug Evans
2005-01-22  2:44   ` Jim Blandy
2005-01-27 20:38     ` Jim Blandy [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=vt24qh2sjla.fsf@zenia.home \
    --to=jimb@redhat.com \
    --cc=cgen@sources.redhat.com \
    --cc=dje@transmeta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).