User:Will Gajate/TryJ
Project Name: Try J / J playground
Team: Jon Hough, Michael Wallace, Will Gajate
Goal: Offer J console web application (with labs) from J Wiki
Purpose: Increase interest in the language with turnkey (fast and one-click) entry into J environment with labs
Roadmap:
Week 1 (Dec 30): Meet with Wiki group
- discuss roadmap
- get project team members contact info and agree on communication medium.
- high latency -> email, low latency -> what's app or other instant messenger
Week 2 (Jan 5): Meet with Joe Bogner
- Schedule meeting with Joe Bogner and other interested wiki team members
- How should we update the existing code base (j-emscripten-src)?
- What is the build process, toolchain, artifacts (e.g. Vagrant, Linux, make)
- Should we know about any tricks/traps that would accelerate/stall development and deployment?
- How should we add J labs to console?
Week 3 (Jan 12) : Set up Github repo to host J Playground on J source github
- Create new repo on Github
- Configure webpage and URL hosting
- Configure committer rights
- Set up Readme.md
Week 4 (Jan 19): Update j-emscripten-src to use J.903
- Commit updated project repo
- Document build process for future maintainers
- Test TryJ, JPlayground (beta version)
- Features: one lab, basic functionality
Week 5 (Jan 29): Discuss V1 features to include
- Links to learning resources
- Adding existing labs, create new labs?
- should we align with Jupyter notebooks?
https://github.com/joebo https://github.com/joebo/j-emscripten-src
based on: https://tryapl.org/#
Building instructions Great news... I started down the track of option #1 (starting over with latest emscripten) and make progress with J7
The main hack was that I had to find/rename link() in the source to something else since link is part of the stdlib and was giving linker errors
I haven't tested it extensively but it seems to work better than my hacked up proof of concept .For example, i.10 works without any post-compilation hacks
This is using wasmer https://github.com/wasmerio/wasmer to execute and emscripten 1.38.43 https://github.com/wasmerio/wasmer/issues/2589
The next step from here would be to try and compile j9... I took a few minutes and explored it. I tried changing https://github.com/jsoftware/jsource/blob/master/make2/build_jconsole.sh#L51 to emcc to build with emscripten, however it outputted a bunch of errors that I didn't have a chance to dig into
SO - the good news is that j7 seems buildable with a newer emscripten stack without as many hacks... The less-good news is that we'd still need to create a web UI front-end to use the wasm and also figure out how to compile a newer version of J which has departed much from the J7 gpl source.
I still think this will take up more time than I have to dedicate at the moment but happy to try and help from the sidelines.
1. Clone the repo at https://github.com/joebo/j-emscripten-src 2. Get a working copy of emscripten. It looks like the portable version I used is no longer available 3. Try building using
make -f makefile.emscripten