User:Will Gajate/TryJ

From J Wiki
Jump to navigation Jump to search

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


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

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?

based on:

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 to execute and emscripten 1.38.43

The next step from here would be to try and compile j9... I took a few minutes and explored it. I tried changing 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 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