Minimal VSCode with reason-vscode


#1

I’m hoping to move some coursework in my introductory CS course from Ocaml to Reason, and perhaps to use VSCode as a “development environment”. I put that in quotation marks because the largest programs students will write are perhaps a few hundred lines. They’re used to writing Racket code in DrRacket, where they can type code and easily run it from within the same interface, and it appears that reason-vscode might provide that within VSCode. [Please correct me if I’ve misunderstood this!]

To be clear: I’m an utter novice here. I’ve never used VSCode, and never written a Reason program.

I installed VSCode on my Macbook; i added the reason-vscode extension. I created a new “.re” file on the desktop containing only this:

let a = 4;

and I was hoping to be able to run this minimal program and see something like

val a:int = 4

I tried Debug…Start Without Debugging, and was prompted to “Select Environment”, with Node.js as the only alternative, so I selected that, and got a warning “Cannot find a program to debug.”

In doing this, I was trying to follow the hints given at https://medium.com/@ryyppy/a-quick-look-on-my-reasonml-workflow-with-vscode-637685f9417a, which seemed to suggest “Get VSCode; install the reason-vscode extension; do stuff!”, but it appears that at a bare minimum, there’s an expectation that a bunch of other things are installed. Given how Reason appears to work, some BuckleScript stuff, and Node.js, seem to be a bare minimum.

If someone can help me get a minimal setup working, I’ll produce a document that says how to do it step-by-step (for the benefit of my class) and share it widely, helping avoid stupid questions like this one in the future.

By the way, I’d be completely happy with pointers to other things I can read.


#2

Hi, have you checked out https://sketch.sh/ ? It sounds like that’s exactly what you’re looking for.


#3

What you’re looking for sounds like an REPL. Reason/Ocaml has one and it’s called rtop/utop. But it comes with a terminal interface. sketch.sh is an UI on top of rtop/utop that provides what you need. You should check it out.