On Tuesday, August 1, 2017 at 1:25:03 PM UTC+2, Greg Trzeciak wrote: > > On Monday, July 24, 2017 at 11:01:33 PM UTC+2, amz3 wrote: >
> > > > That said, I am not sure it can scale as much as I want/need given > racket thread model [5]. I will experiment. > > > > [5] > http://docs.racket-lang.org/reference/eval-model.html#(part._thread-model) > > > > Anyway, I stumbled upon rscheme persistence [6] and though that it could > change my approach of disk persistence. Also someone on the IRC channel > told me about GemTalk Systems which apparently achieve transparent > persistence and distribution. Are you aware of such work in racket? Can you > recommend something to read regarding the subject? Is pointer swizzling a > good start? > > > > [6] http://www.rscheme.org/rs/a/2005/persistence/ > > > Since I am not the right person to answer the questions you've asked at > the end of your detailed post let me at least help you bumping the thread. > Thanks :) > I want to give you also words of encouragement for your planned efforts as > racket (and my humble self) will definitely benefit from more industry > targeted frameworks/tools. > I tried to engage with racket community about what was missing in racket to build "industry grade web application". I got only silence in reply :( AFAIK one missing piece is something like Python Celery. That can be replaced with a crontab. See my notes regarding background tasks <https://github.com/amirouche/urban-octo/tree/master> (also known as asynchronous task) dubbed Dynamic Task Scheduling in academia but that is more like research than industry standard. Other stuff that are might be missing (at least GNU Guile doesn't have them) is readily available libraries to hook into log and metrics warehouses like sentry, rollbar etc... Regarding Datomic - isn't it more Datascript ( > https://github.com/tonsky/datascript > <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Ftonsky%2Fdatascript&sa=D&sntz=1&usg=AFQjCNGVWvXQ7Vdb3pd5vViyDiA-bPX7iA>) > > that you are trying to achieve? > The page says: > An immutable in-memory database and Datalog query engine in Clojure and ClojureScript. My project is not in memory, it is durable on disk. > Whichever way you go, having Datomic/Datascript alternative in the Racket > world sounds exciting. > By the way, I made a prototype that covers different niche but is relatable, see this document <https://github.com/amirouche/zehefyu93/blob/master/doc/MOCHA2018/preview/neon-mocha-2018-preview.pdf>. By the way, the "datalog" you see everywhere around datomic is an overstatement. In the end, I figured that, based on available documentation, datomic was not more expressive than my own experiments using minikanren. With the advent of FoundationDB is now possible to build a datomic clone that scales horizontally while allowing to run on a single machine. That said it requires POSIX threads, and I am not sure modern Racket expose POSIX threads. Follow [1 <https://github.com/amirouche/asyncio-foundationdb/blob/master/found/base.py#L82>] or [2 <https://github.com/apple/foundationdb/blob/master/bindings/python/fdb/impl.py#L36>] for more information. I plan to build bindings using PFFI, apparantly it support Racket (plt-r6rs 6.1.1) <https://github.com/ktakashi/r6rs-pffi#supporting-implementations> not sure what it means. Regarding browser side, I made progress with chibi scheme WASM build, it might be of interest, even if it doesn't support XHR for the time being: [ demo <http://scheme-lang.com/cons/>] [source <https://github.com/amirouche/scheme-lang/tree/master/cons>]. Have a nice day! -- 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.