datahike

https://datahike.io/, Join the conversation at https://discord.com/invite/kEBzMvb, history for this channel is available at https://clojurians.zulipchat.com/#narrow/stream/180378-slack-archive/topic/datahike
whilo 2020-12-23T00:58:16.162900Z

We are very happy to announce a first version of cljs browser support: https://twitter.com/lambdaforge/status/1341564453792456706

👍 2
🎉 10
2020-12-23T06:11:47.166200Z

If I may have a suggestion: I believe it is a good practice to avoid core async in public apis if possible, it provides fewer place to shoot on our feet.

mpenet 2020-12-23T06:15:13.168500Z

It's controversial, but I guess the fact datomic client api embraces core.async is a counter argument. Personally I don't mind, quite the opposite, especially when you need xplatform support.

whilo 2020-12-23T06:25:45.174200Z

@neo2551 Hey, thanks for providing feedback. Have you had problems with core.async? It is very easy to treat the returned channels as promises with callbacks, if you need to, but there is no way not to be async for us in JavaScript.

whilo 2020-12-23T06:29:52.176500Z

Note also that we already provide a restricted version of core.async with error handling such that we can compile it away on the JVM and only use it for ClojureScript. We basically treat it as a way to do synchronous function calls in an underlying asynchronous language similar to async/await in JavaScript. The semantics of our runtime is still propagating immutable values on the returned channels, we do not introduce concurrency and mutable state through the channels.