Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for Barry (web-based bytebeat interpreter) #54

Closed
claudeha opened this issue Mar 26, 2020 · 2 comments
Closed

Adding support for Barry (web-based bytebeat interpreter) #54

claudeha opened this issue Mar 26, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@claudeha
Copy link

I saw this project mentioned in TOPLAP networks, and found it interesting. I am developing a postfix bytebeat / rampcode interpreter called Barry (compiled to run in a web browser using emscripten) and was thinking about hacking etherpad to make a collaborative interface to Barry, but this seems a much better base to build on.

I've never used Typescript and my Javascript skills aren't so great, so I don't know where to start hacking. So this issue is mainly a request for a how-to guide on adding new languages.

Barry home page is at https://mathr.co.uk/barry
You can try Barry non-collaboratively here: https://mathr.co.uk/barry/v2
You can get Barry's C source code here: https://code.mathr.co.uk/barry
(note: Fridays are strike days)

It works like a REPL, but running in the browser: see the source code for the HTML to see how the textarea is connected to the C code (it's compiled to WASM with a JS interface). Ctrl-Enter does whole-program-compilation at the moment, switching to block-based eval would be essential for sane collaboration. I have some code to collect blocks and emit whole-program code already (Barrence) which shouldn't be too hard to port to run in the client or server (that would have the advantage of late-joining clients being in sync with the latest running code, which would be perfect for bytebeat as it has no memory).

@munshkr
Copy link
Owner

munshkr commented Mar 26, 2020

Hi Claude! Thank you for suggesting your language, looks interesting!

I'll try refactoring a bit the code related to local code evaluation as it is too coupled to Hydra right now (it's the only browser language implemented right now), and will write you back here. It should be fairly easy to add.

@munshkr
Copy link
Owner

munshkr commented Mar 28, 2020

Wrote some instructions here.

I think the first step would be to generate a compiled version and publish an npm module. That way, I could easily add it as a dependency on flok-web.

If you need help with the npm module thing, let me know. I don't have emscripten installed right now but I can try checking it out later.

@munshkr munshkr added the enhancement New feature or request label Mar 28, 2020
@munshkr munshkr changed the title adding support for Barry (web-based bytebeat interpreter) Adding support for Barry (web-based bytebeat interpreter) Mar 31, 2020
@munshkr munshkr closed this as not planned Won't fix, can't repro, duplicate, stale May 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants