TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Percival – Web-based reactive Datalog notebooks, made with Rust+Svelte

22 pointsby ekzhangover 3 years ago

2 comments

rogue7over 3 years ago
Wow I find this hugely impressive !<p>I&#x27;m a big fan of reactive notebooks such as Observable in ~javascript and Pluto in Julia.<p>I&#x27;ve been thinking about something somewhat similar using js_of_ocaml instead of Rust+wasm, but I guess it should be similar. The error messages given by chumsky seem very helpful.<p>A couple questions come to mind:<p>- I see that Datalog isn&#x27;t turing-complete so you added the possibility to run js inside backquotes. Is it possible to add syntax highlighting to make it easier to read ?<p>- Why does it compile to js instead of wasm ? Wouldn&#x27;t it be potentially faster ? Is it harder because more low-level ? (I don&#x27;t know much about compilers)<p>- Since the execution happens inside web workers, I guess it could be more scalable than the other single-threaded alternatives ? Are intermediary results cached ?<p>- What do you think could be the killer use-case for Percival ? Exploratory data analysis of public datasets ?<p>- Could it be possible to embed some number-crunching stuff, like lightweight machine learning ?<p>And finally, what did you enjoy the most while building this ? Were there many pain points ?
评论 #29534807 未加载
ekzhangover 3 years ago
I also just wanted to mention here, because I saw that many people only saw the technical details in the GitHub README but not the actual tutorial &#x2F; demo notebook - please see the website below for an introduction to Percival! This was my bad for not being very clear in the description (you don&#x27;t need to install anything).<p><a href="https:&#x2F;&#x2F;percival.ink&#x2F;" rel="nofollow">https:&#x2F;&#x2F;percival.ink&#x2F;</a>