default  Access: edit PLT Bugs
Main PageCreateQuick QueryStandard QueryAdvanced QueryHelp
Edit

View Problem Report: 10271

or send email to interested parties or send email followup to audit-trail
Reporter's email: jay@cs.byu.edu
Number: 10271
Category: redex
Synopsis: Redex: Extending metafunctions
Class: sw-bug
Responsible: clklein
Notify-List: keiko@kurims.kyoto-u.ac.jp
Severity: serious
Priority: medium
State: closed
Confidential: no
Arrival-Date: Fri May 29 12:40:01 -0400 2009
Closed-Date: Wed Oct 20 19:51:08 -0400 2010
Last-Modified: Wed Oct 20 19:51:08 -0400 2010
Originator: Jay McCarthy
Organization: plt
Submitter-Id: unknown
Release: 4.2.0.2-svn27may2009
Environment: macosx "Darwin jay-mccarthys-mac-pro.local 9.7.0 Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386" (i386-macosx/3m) (get-display-depth) = 32
Human Language: english
(current-memory-use) 109558640

Collections:
(("/Users/jay/Library/PLT Scheme/4.2.0.2/collects" non-existent-path) ("/Users/jay/Dev/svn/plt/collects" ".DS_Store" ".svn" "2htdp" "afm" "algol60" "at-exp" "browser" "combinator-parser" "compiler" "config" "defaults" "deinprogramm" "drscheme" "dynext" "embedded-gui" "eopl" "errortrace" "ffi" "file" "framework" "frtime" "games" "graphics" "gui-debugger" "guibuilder" "handin-client" "handin-server" "help" "hierlist" "honu" "htdch" "htdp" "html" "icons" "info-domain" "lang" "launcher" "lazy" "macro-debugger" "make" "mred" "mrlib" "mysterx" "mzcom" "mzlib" "mzscheme" "net" "openssl" "parser-tools" "planet" "plot" "preprocessor" "profile" "profj" "profjWizard" "r5rs" "r6rs" "readline" "redex" "repos-time-stamp" "rnrs" "s-exp" "scheme" "schemeunit" "scribble" "scribblings" "scriblib" "setup" "sgl" "sirmail" "slatex" "slideshow" "srfi" "srpersist" "stepper" "string-constants" "stxclass" "swindle" "syntax" "syntax-color" "teachpack" "test-box-recovery" "test-engine" "tests" "tex2pa!
ge" "texpict" "trace" "typed" "typed-scheme" "version" "waterworld" "web-server" "wxme" "xml"))
Computer Language: (("Module") (#(#t write mixed-fraction-e #f #t debug) (default) #() "#lang scheme\n" #t))
Description: I have a language SL that is an extension of TL. The extension adds a new expression form. In TL, I define a substitution function, subst-e.

Currently, I can use define-extended-language and extend-reduction-relation to define SL's grammar and reductions.
(BTW, extend-reduction-relation requires the redefinition of alternative arrows.)

I expected that define-metafunction/extension would work the same way: defining an extension to subst-e that would work for SL's e and TL's e. But, I must give it a new name, which means that TL's reduction relation won't use the extension, so I have to actually the reduction and I get to the point of wondering what good extend-reduction-relation even was.

I might be able to reorganize things to make it work anyways, but this was an annoyance that I thought I'd record in a bug report.
File Attachments:
How-To-Repeat: I can send you a bundle, but it is too big for this box.
Fix:
Release-Note:
Unformatted:

or send email to interested parties or send email followup to audit-trail

Audit Trail:

From: Robby Findler <robby@eecs.northwestern.edu>
To: jay@cs.byu.edu, bugs@plt-scheme.org
Cc: nobody@plt-scheme.org, eli@plt-scheme.org, matthias@plt-scheme.org,
        sk@plt-scheme.org, mflatt@plt-scheme.org, clements@plt-scheme.org,
        jay@plt-scheme.org, meunier@plt-scheme.org, kathyg@plt-scheme.org,
        jacobm@plt-scheme.org, cce@plt-scheme.org, samth@plt-scheme.org,
        ryanc@plt-scheme.org, gcooper@plt-scheme.org, sstrickl@plt-scheme.org,
        sperber@deinprogramm.de
Subject: Re: [plt-bug] all/10271: Redex: Extending metafunctions
Date: Fri, 29 May 2009 12:03:08 -0500

 In the short term, assuming that the extended language doesn't
 introduce any binding forms, you might try a strategy in the
 substitution function here:
 
 http://redex.plt-scheme.org/lam-v.html
 
 Robby
 
 On Fri, May 29, 2009 at 11:40 AM,  <jay@cs.byu.edu> wrote:
 > A new problem report is waiting at
 > =C2=A0http://bugs.plt-scheme.org/query/?cmd=3Dview&pr=3D10271
 >
 > Reported by Jay McCarthy for release: 4.2.0.2-svn27may2009
 >
 > *** Description:
 > I have a language SL that is an extension of TL. The extension adds a new=
  expression form. In TL, I define a substitution function, subst-e.
 >
 > Currently, I can use define-extended-language and extend-reduction-relati=
 on to define SL's grammar and reductions.
 > (BTW, extend-reduction-relation requires the redefinition of alternative =
 arrows.)
 >
 > I expected that define-metafunction/extension would work the same way: de=
 fining an extension to subst-e that would work for SL's e and TL's e. But, =
 I must give it a new name, which means that TL's reduction relation won't u=
 se the extension, so I have to actually the reduction and I get to the poin=
 t of wondering what good extend-reduction-relation even was.
 >
 > I might be able to reorganize things to make it work anyways, but this wa=
 s an annoyance that I thought I'd record in a bug report.
 >
 > *** How to repeat:
 > I can send you a bundle, but it is too big for this box.
 >
 > *** Environment:
 > macosx "Darwin jay-mccarthys-mac-pro.local 9.7.0 Darwin Kernel Version 9.=
 7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386 i386"=
  (i386-macosx/3m) (get-display-depth) =3D 32
 > Human Language: english
 > (current-memory-use) 109558640
 >
 > Collections:
 > (("/Users/jay/Library/PLT Scheme/4.2.0.2/collects" non-existent-path) ("/=
 Users/jay/Dev/svn/plt/collects" ".DS_Store" ".svn" "2htdp" "afm" "algol60" =
 "at-exp" "browser" "combinator-parser" "compiler" "config" "defaults" "dein=
 programm" "drscheme" "dynext" "embedded-gui" "eopl" "errortrace" "ffi" "fil=
 e" "framework" "frtime" "games" "graphics" "gui-debugger" "guibuilder" "han=
 din-client" "handin-server" "help" "hierlist" "honu" "htdch" "htdp" "html" =
 "icons" "info-domain" "lang" "launcher" "lazy" "macro-debugger" "make" "mre=
 d" "mrlib" "mysterx" "mzcom" "mzlib" "mzscheme" "net" "openssl" "parser-too=
 ls" "planet" "plot" "preprocessor" "profile" "profj" "profjWizard" "r5rs" "=
 r6rs" "readline" "redex" "repos-time-stamp" "rnrs" "s-exp" "scheme" "scheme=
 unit" "scribble" "scribblings" "scriblib" "setup" "sgl" "sirmail" "slatex" =
 "slideshow" "srfi" "srpersist" "stepper" "string-constants" "stxclass" "swi=
 ndle" "syntax" "syntax-color" "teachpack" "test-box-recovery" "test-engine"=
  "tests" "tex2pa!
 > =C2=A0ge" "texpict" "trace" "typed" "typed-scheme" "version" "waterworld"=
  "web-server" "wxme" "xml"))
 > Computer Language: (("Module") (#(#t write mixed-fraction-e #f #t debug) =
 (default) #() "#lang scheme\n" #t))
 >
 >

Responsible changed from "nobody" to "clklein" by clklein at Fri, 04 Dec 2009 12:51:41 -0500
Reason>>> Matthew has asked about this too. I'm planning to improve
the extension forms in the not too distant future.



State changed from "open" to "closed" by clklein at Wed, 20 Oct 2010 19:51:08 -0400
Reason>>> I think this is fixed now.