Hi, I'm working on project to port the Ruby Rack framework to Racket scheme. If you're not familiar with Rack, it creates a layer to manage the http response/requests, and a level of abstraction to build a chained list of middle ware clients - each calling the next in chain.
Switching from from Ruby's OOP paradigm to Scheme's more functional paradigm, a problem has presented itself that I would like some advice on. In the Rack middleware in the chain, each piece of the middleware receives a hash which encapsulates the response/requests, and the middleware mutates this hash depending on the functionality it adds. I could port this hash exchange in my Racket implementation, but I have an aversion to the side effects inherently in mutating this hash. My question, then, is does anyone have a more functional approach to how I could implement this middleware chain? Any advice anyone could offer would be greatly appreciated. I'm going to open sourcing the project soon. -- Chad
____________________ Racket Users list: http://lists.racket-lang.org/users