mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 22:10:21 +02:00
more readable gensyms
* module/language/tree-il/peval.scm (peval): * module/language/tree-il/primitives.scm (dynamic-wind): When you make a gensym that just has to be compared against other gensyms, it will be unique if the prefix doesn't end in something that can be interpreted as a number. There's no reason to make that character something difficult like " ". So change to use a dash in that case. * module/ice-9/psyntax-pp.scm: Regenerate. More readable now.
This commit is contained in:
parent
f9685f4373
commit
6dc8c138f9
3 changed files with 5214 additions and 5989 deletions
File diff suppressed because it is too large
Load diff
|
@ -417,7 +417,7 @@ top-level bindings from ENV and return the resulting expression."
|
|||
(define (fresh-gensyms vars)
|
||||
(map (lambda (var)
|
||||
(let ((new (gensym (string-append (symbol->string (var-name var))
|
||||
" "))))
|
||||
"-"))))
|
||||
(set! store (vhash-consq new var store))
|
||||
new))
|
||||
vars))
|
||||
|
@ -919,7 +919,7 @@ top-level bindings from ENV and return the resulting expression."
|
|||
((not (constant-expression? pre))
|
||||
(cond
|
||||
((not (constant-expression? post))
|
||||
(let ((pre-sym (gensym "pre ")) (post-sym (gensym "post ")))
|
||||
(let ((pre-sym (gensym "pre-")) (post-sym (gensym "post-")))
|
||||
(record-new-temporary! 'pre pre-sym 1)
|
||||
(record-new-temporary! 'post post-sym 1)
|
||||
(make-let src '(pre post) (list pre-sym post-sym) (list pre post)
|
||||
|
@ -928,7 +928,7 @@ top-level bindings from ENV and return the resulting expression."
|
|||
body
|
||||
(make-lexical-ref #f 'post post-sym)))))
|
||||
(else
|
||||
(let ((pre-sym (gensym "pre ")))
|
||||
(let ((pre-sym (gensym "pre-")))
|
||||
(record-new-temporary! 'pre pre-sym 1)
|
||||
(make-let src '(pre) (list pre-sym) (list pre)
|
||||
(make-dynwind src
|
||||
|
@ -936,7 +936,7 @@ top-level bindings from ENV and return the resulting expression."
|
|||
body
|
||||
post))))))
|
||||
((not (constant-expression? post))
|
||||
(let ((post-sym (gensym "post ")))
|
||||
(let ((post-sym (gensym "post-")))
|
||||
(record-new-temporary! 'post post-sym 1)
|
||||
(make-let src '(post) (list post-sym) (list post)
|
||||
(make-dynwind src
|
||||
|
@ -1089,7 +1089,7 @@ top-level bindings from ENV and return the resulting expression."
|
|||
(for-tail
|
||||
(make-sequence src (list k (make-const #f #f)))))
|
||||
(else
|
||||
(let ((t (gensym "t "))
|
||||
(let ((t (gensym "t-"))
|
||||
(eq (if (eq? name 'memq) 'eq? 'eqv?)))
|
||||
(record-new-temporary! 't t (length elts))
|
||||
(for-tail
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; open-coding primitive procedures
|
||||
|
||||
;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
|
||||
;;;; This library is free software; you can redistribute it and/or
|
||||
;;;; modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -473,9 +473,9 @@
|
|||
'dynamic-wind
|
||||
(case-lambda
|
||||
((src pre thunk post)
|
||||
(let ((PRE (gensym " pre"))
|
||||
(THUNK (gensym " thunk"))
|
||||
(POST (gensym " post")))
|
||||
(let ((PRE (gensym "pre-"))
|
||||
(THUNK (gensym "thunk-"))
|
||||
(POST (gensym "post-")))
|
||||
(make-let
|
||||
src
|
||||
'(pre thunk post)
|
||||
|
@ -492,8 +492,8 @@
|
|||
'@dynamic-wind
|
||||
(case-lambda
|
||||
((src pre expr post)
|
||||
(let ((PRE (gensym " pre"))
|
||||
(POST (gensym " post")))
|
||||
(let ((PRE (gensym "pre-"))
|
||||
(POST (gensym "post-")))
|
||||
(make-let
|
||||
src
|
||||
'(pre post)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue