There's nothing wrong with ignoring the continuation support in the
Web server, either the native ones or stateless ones. If you do, I
recommend using something like `create-none-manager` [1]  as the
`#:manager` argument to `serve/servlet` so that you don't accidentally
start using them. The "too far" line is that you can't use
`send/suspend`. In the web-server/servlet/web [2] module, you just
want to use `send/back` and `with-errors-to-browser`, and no other
functions.

Jay

1. 
https://docs.racket-lang.org/web-server/servlet.html?q=none-manager#%28def._%28%28lib._web-server%2Fmanagers%2Fnone..rkt%29._create-none-manager%29%29
2. 
https://docs.racket-lang.org/web-server/servlet.html?q=send%2Fsuspend#%28part._web%29
On Fri, Nov 30, 2018 at 2:17 PM Brian Adkins <lojicdot...@gmail.com> wrote:
>
> A while ago, I read Jay's response about how to use the Racket web server w/o 
> continuations here:
>
> https://groups.google.com/forum/#!msg/racket-users/bTBj-RbMLDA/k80HNazuFAAJ
>
> At the time, I didn't dig very deeply into it and just assumed avoiding 
> web-server/servlet would be sufficient, but I just read through the 
> documentation on stateless servlets here:
>
> https://docs.racket-lang.org/web-server/stateless.html
>
> In particular, section 3.2, where it states things like:
>
> "All uses of letrec are removed and replaced with equivalent uses of let and 
> imperative features."
>
> "The program is defunctionalized with a serializable data-structure for each 
> lambda"
>
> "First, this process drastically changes the structure of your program. It 
> will create an immense number of lambdas and structures your program did not 
> normally contain. The performance implication of this has not been studied 
> with Racket."
>
> It seems like there is quite a bit of stuff going on to support continuations 
> with stateless servlets. Since I'm not planning on using continuations at 
> all, I'm not sure I want the changes to my code described in section 3.2.
>
> I'm coming from an entirely stateless architecture w/ Ruby/Rails, and I was 
> planning on using a similar style w/ Racket, so I'm just trying to get a feel 
> for how low in the stack I need to be to avoid the extra functionality that I 
> don't want/need. Eventually, I'm planning on resuming work on a web app 
> framework in Racket that steals my favorite things from Rails & other 
> frameworks, and leaves out the cruft. For that, I expect I'll need to base my 
> code on lower levels, but for my current app, I don't have time to create too 
> much infrastructure, so I'd like to leverage basic things from built-in 
> Racket functionality without going "too far", and I'm not even able to 
> articulate well where the "too far" line is.
>
> Thanks,
> Brian
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



-- 
-=[     Jay McCarthy               http://jeapostrophe.github.io    ]=-
-=[ Associate Professor        PLT @ CS @ UMass Lowell     ]=-
-=[ Moses 1:33: And worlds without number have I created; ]=-

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to