[racket-users] Modeling a context-sensitive evaluation context with PLT Redex?

2019-11-09 Thread Alexis King
Hello, I am trying to model a (not quite algebraic) effect system in PLT Redex, but I’m struggling to encode my evaluation contexts into Redex’s pattern language. My question is best explained via example, so I’ll start with a bog-standard call-by-value lambda calculus: (define-language la

Re: [racket-users] Modeling a context-sensitive evaluation context with PLT Redex?

2019-11-09 Thread Jay McCarthy
First, any inductive definition could be defined with `define-judgment-form` (although derivations will only be discoverable if you can give a mode spec.) If the semantics you're talking about can't be written as an inductive definition, then it probably doesn't make any sense. Second, remember th

Re: [racket-users] Modeling a context-sensitive evaluation context with PLT Redex?

2019-11-09 Thread Alexis King
Hi Jay, I appreciate your pointers! However, I think either I didn’t make my question clear enough, or I misunderstand your explanation (or perhaps some of both). What I am trying to model is, indeed, a form of delimited control. I have already written a model that supports a couple classic con

Re: [racket-users] Modeling a context-sensitive evaluation context with PLT Redex?

2019-11-09 Thread Robby Findler
I am not sure how the details work out but I guess Jay's advice of writing a judgement form that shows how terms reduce is the right thing (and that judgment form may or may not use context decomposition patterns). Robby On Sat, Nov 9, 2019 at 6:31 AM Alexis King wrote: > Hi Jay, > > I apprecia

[racket-users] Evaluating to get the output with a specific lang

2019-11-09 Thread Christopher Lemmer Webber
(Caveat: I know the sandbox evaluator exists. I'm trying to understand how to do this without it, to understand the evaluation machinery for something.) Let's say I write "#lang foo". For whatever reason, I have programs that are coming in from users that are not necessarily being saved to a fil

Re: [racket-users] Evaluating to get the output with a specific lang

2019-11-09 Thread Jay McCarthy
Modules don't evaluate to values. They have effects and they have exported symbols. If you want to observe the evaluation of your language's module, you'll have to look at one of those two things. Both are used by existing Racket languages and infrastructure: `raco test` relies on test modules maki

Re: [racket-users] Modeling a context-sensitive evaluation context with PLT Redex?

2019-11-09 Thread Jay McCarthy
That is an interesting idea. I want to emphasize this point again: "remember that an evaluation context is just a way of describing more succinctly what you could otherwise define by hand as a big, complicated relation on individual terms." There is nothing special about evaluation contexts. I th

Re: [racket-users] Modeling a context-sensitive evaluation context with PLT Redex?

2019-11-09 Thread Alexis King
> On Nov 9, 2019, at 09:18, Jay McCarthy wrote: > > "remember that an evaluation context is just a way of describing more > succinctly what you could otherwise define by hand as a big, > complicated relation on individual terms." Yes, that makes sense — I wasn’t really considering what it would