Re: [racket-users] How to eval a custom language from inside a module?

2018-11-12 Thread Matthew Butterick
> On Nov 12, 2018, at 2:11 PM, Andrew Wilcox wrote: > > How about providing eval-example from a module? > > ; eval-example.rkt > #lang racket > > (provide eval-example) > > (define example-namespace (make-base-empty-namespace)) > > (parameterize ((current-namespace example-namespace)) >

[racket-users] software engineering (Was: Does Racket support tail call elimination?)

2018-11-12 Thread Neil Van Dyke
Full stack web development is a multi-discipline area that demands a high level of knowledge and skill to architect a working application. IMO, the vast majority of all web developers are not qualified to be doing it. We, ourselves, might be able to improve this situation, with education,

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread George Neuner
On 11/12/2018 4:59 PM, Matthias Felleisen wrote: > On Nov 12, 2018, at 4:53 PM, George Neuner wrote: > > I agree re: *explaining* the behavior in the browser. I don't necessarily agree that either side needs continuations in order to *implement* the behavior. Nor do I agree that persisted

[racket-users] How to eval a custom language from inside a module?

2018-11-12 Thread Andrew Wilcox
Suppose I've defined a simple language: ; example.rkt #lang racket (provide foo) (define-syntax foo (syntax-rules () ((foo) (printf "foo!~n" Now I want to create an eval-example function which will evaluate forms in my language: > (eval-example '(foo)) foo! If I'm working

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread Matthias Felleisen
> On Nov 12, 2018, at 4:53 PM, George Neuner wrote: > > I agree re: *explaining* the behavior in the browser. I don't necessarily > agree that either side needs continuations in order to *implement* the > behavior. Nor do I agree that persisted continuations are the best way to do > it. >

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread George Neuner
On 11/12/2018 3:54 PM, Matthias Felleisen wrote: > On Nov 12, 2018, at 2:22 PM, George Neuner wrote: > >> PS: Why do web-servers need CPS? > > In general they don't. They need continuations, because BACK buttons, cloning of TABs and similar actions force a control flow on interactive

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread Matthias Felleisen
> On Nov 12, 2018, at 2:22 PM, George Neuner wrote: > >> PS: Why do web-servers need CPS? > > In general they don't. They need continuations, because BACK buttons, cloning of TABs and similar actions force a control flow on interactive web programs that is easily explained and programmed

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread Rudi C
Thanks! Very informative!  I have some more questions but I should google them responsibly first☺️ On Mon, Nov 12, 2018 at 10:52 PM George Neuner wrote: > > On 11/12/2018 10:45 AM, Rudi C wrote: > > How is mutual recursion via a loop any better than mutual recursion > > just by tail call

Fwd: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread Rudi C
-- Forwarded message - From: Rudi C Date: Mon, Nov 12, 2018 at 11:20 PM Subject: Re: [racket-users] Does Racket support tail call elimination? To: George Neuner Thanks! Very informative!  I have some more questions but I should google them responsibly first☺️ On Mon, Nov

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread George Neuner
On 11/12/2018 10:45 AM, Rudi C wrote: How is mutual recursion via a loop any better than mutual recursion just by tail call elimination? You can't necessarily turn recursion into a loop using only TCE. TCE turns an ordinary call/return sequence into a non-returning jump [or fall through

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread George Neuner
On 11/12/2018 5:52 AM, Rudi C wrote: Does Racket support tail call elimination? I am not asking about just tail recursion, but any tail calls. If not, how about mutual tail recursion (where two functions keep tail callin each other, aka trampoline)? Racket does tail call elimination [as

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread Matthias Felleisen
Please call it “proper implementation of tail calls (PITCH)”. The others got it wrong. > On Nov 12, 2018, at 6:07 AM, Philip McGrath wrote: > > As a descendant of Scheme, Racket has proper tail calls. Beyond that, in > Racket, "there is no such thing as stack overflow; you can run out of

Re: [racket-users] Does Racket support tail call elimination?

2018-11-12 Thread Philip McGrath
As a descendant of Scheme, Racket has proper tail calls. Beyond that, in Racket, "there is no such thing as stack overflow; you can run out of memory if a computation involves too much context, but exhausting memory typically requires orders of magnitude deeper recursion than would trigger a stack

[racket-users] Does Racket support tail call elimination?

2018-11-12 Thread Rudi C
Does Racket support tail call elimination? I am not asking about just tail recursion, but any tail calls. If not, how about mutual tail recursion (where two functions keep tail callin each other, aka trampoline)? -- You received this message because you are subscribed to the Google Groups

[racket-users] Re: Announcing Minimalistic Languages track at FOSDEM 2019

2018-11-12 Thread Jérôme Martin
Hello! I'm currently working on a presentation and a workshop for this devroom :) @everybody: The deadline for registering activities is the 25th of November, don't miss it! See you there :) On Monday, November 12, 2018 at 8:27:01 AM UTC+1, Manolis Ragkousis wrote: > > Hello all, I am