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.

Reply via email to