Thanks Robby. This will be very handy.
On Sat, Feb 11, 2012 at 11:01 AM, Matthias Felleisen
wrote:
>
> Thanks, this looks just like what we have needed for a while. -- Matthias
>
>
>
> On Feb 11, 2012, at 4:26 AM, Robby Findler wrote:
>
>> Hi Stephen: I've added define-union-language to Redex no
Thanks, this looks just like what we have needed for a while. -- Matthias
On Feb 11, 2012, at 4:26 AM, Robby Findler wrote:
> Hi Stephen: I've added define-union-language to Redex now. For the
> example below, you'd write this:
>
>
> #lang racket
> (require redex)
>
> (define-language L1
>
Hi Stephen: I've added define-union-language to Redex now. For the
example below, you'd write this:
#lang racket
(require redex)
(define-language L1
(e 1))
(define-language L2
(f 2))
(define-union-language L L1 L2)
(define-metafunction L
L1->L2 : e -> f
[(L1->L2 1) 2])
or you could also wri
On Tue, Feb 7, 2012 at 12:50 PM, Matthias Felleisen
wrote:
>
> On Feb 7, 2012, at 1:28 PM, Robby Findler wrote:
>
>> One other design question: would having the same non-terminal name in
>> both languages be allowed
>
>
> Yes, absolutely, it's critical.
Just to be clear, I'm asking about the case
On Feb 7, 2012, at 1:54 PM, Robby Findler wrote:
> On Tue, Feb 7, 2012 at 12:50 PM, Matthias Felleisen
> wrote:
>>
>> On Feb 7, 2012, at 1:28 PM, Robby Findler wrote:
>>
>>> One other design question: would having the same non-terminal name in
>>> both languages be allowed
>>
>>
>> Yes, abso
On Feb 7, 2012, at 1:28 PM, Robby Findler wrote:
> One other design question: would having the same non-terminal name in
> both languages be allowed
Yes, absolutely, it's critical.
_
Racket Developers list:
http://lists.racket-lang.org/dev
On Tue, Feb 7, 2012 at 1:28 PM, Robby Findler
wrote:
>
>> 2. Support `define-union-language', without worrying too much about
>> its typesetting, because it would be primarily used for defining these
>> metafunctions and not explicitly described in a paper.
>
> I see. I'll think more about this op
On Tue, Feb 7, 2012 at 12:24 PM, Sam Tobin-Hochstadt wrote:
> On Tue, Feb 7, 2012 at 12:18 PM, Robby Findler
> wrote:
>> On Tue, Feb 7, 2012 at 10:21 AM, Sam Tobin-Hochstadt
>> wrote:
>>> On Mon, Feb 6, 2012 at 9:18 PM, Robby Findler
>>> wrote:
Actually, on second thought, I'm not yet sur
On Tue, Feb 7, 2012 at 12:18 PM, Robby Findler
wrote:
> On Tue, Feb 7, 2012 at 10:21 AM, Sam Tobin-Hochstadt
> wrote:
>> On Mon, Feb 6, 2012 at 9:18 PM, Robby Findler
>> wrote:
>>> Actually, on second thought, I'm not yet sure how the typesetting is
>>> going to go. Say you have something like
On Tue, Feb 7, 2012 at 10:21 AM, Sam Tobin-Hochstadt wrote:
> On Mon, Feb 6, 2012 at 9:18 PM, Robby Findler
> wrote:
>> Actually, on second thought, I'm not yet sure how the typesetting is
>> going to go. Say you have something like this:
>>
>> (define-language L1
>> (a ... somestuff ...))
>>
On Feb 7, 2012, at 11:21 AM, Sam Tobin-Hochstadt wrote:
>
> In most papers that I see, nothing other than context would
> disambiguate them, and that would be plenty.
>
> For example, take the following paper:
> http://dl.acm.org/citation.cfm?doid=1596550.1596592
>
> That paper has a large num
On Mon, Feb 6, 2012 at 9:18 PM, Robby Findler
wrote:
> Actually, on second thought, I'm not yet sure how the typesetting is
> going to go. Say you have something like this:
>
> (define-language L1
> (a ... somestuff ...))
>
> (define-metafunction L1
> f : a -> a
> [(f a) ...somestuff.
You're raising an issue that already exists, right?
Say we have only this:
> (define-language L1
>(a ... somestuff ...))
>
> (define-metafunction L1
> f : a -> a
> [(f a) ...somestuff...])
>
> (define-language L2
>(a ... somedifferentstuff ...))
>
> (define-metafunction
Actually, on second thought, I'm not yet sure how the typesetting is
going to go. Say you have something like this:
(define-language L1
(a ... somestuff ...))
(define-metafunction L1
f : a -> a
[(f a) ...somestuff...])
(define-language L2
(a ... somedifferentstuff ...))
Looks like a good design, and we really want this. Thanks -- Matthias
On Feb 6, 2012, at 11:16 AM, Robby Findler wrote:
> Something like that should be straightforward to accommodate in Redex.
> I'm imagining:
>
> (define-union-language ( ...)
> ( ...) ...)
>
> where
>
>::= | (
Something like that should be straightforward to accommodate in Redex.
I'm imagining:
(define-union-language ( ...)
( ...) ...)
where
::= | ( )
The extra non-terminals and productions would be like a immediate
language extension to the union'd language (and indeed, would make
defi
I have just read a dissertation with something like this. The type setting
used all bold for one language and plain font for the other. Hard to read
but you could figure it out. The grammar, however, used annotated nonterminals.
The experience suggests that doing this plainly is a bad experien
How will you disambiguate them on the printed page for readers of your paper?
Robby
On Sun, Feb 5, 2012 at 9:36 PM, Neil Toronto wrote:
> I think in my case I actually do want the same nonterminal names. The
> higher-order language has lambdas while the first-order language doesn't.
> The first-
I think in my case I actually do want the same nonterminal names. The
higher-order language has lambdas while the first-order language
doesn't. The first-order language has an outer `let' while the
higher-order language has no `let'. Every other kind of expression is
the same and has the same r
Yes, you guys are right-- this is not supported. You'd have to put
everything into a single language to make it work.
I've shied away from this because it seems overly complicated, but
also because the language names ("L1" and "L2" in Stephen's example)
don't show up anywhere in the typeset versio
On 02/05/2012 03:11 PM, Stephen Chang wrote:
I want to write a redex metafunction contract that goes between two
languages. Is there currently a way to do this?
For example,
#lang racket
(require redex)
(define-language L1
(e 1))
(define-language L2
(f 2))
(define-metafunction L1
L1->
I want to write a redex metafunction contract that goes between two
languages. Is there currently a way to do this?
For example,
#lang racket
(require redex)
(define-language L1
(e 1))
(define-language L2
(f 2))
(define-metafunction L1
L1->L2 : e -> f
[(L1->L2 1) 2])
> (term (L1->L2 1))
22 matches
Mail list logo