Pointing to the main project page felt more canonical, and it is simple and has a fancy video, but if like me you like to read good old informative text with pictures, Lean More about what Larch does is the link you're looking for.

I like the concept, but I've got to admit the lack of documentation puts me off enough that I'm probably not going to get to the stage of playing around with it. The examples in the "what does it do" doc are interesting and somewhat compelling, but they don't give me the slightest clue what's involved in writing a __present__ method ... the best impression I can get is that it's sketchily presented in the videos, and I know I'm not alone in finding that an incredibly frustrating way to consume technical information.

I like the concept, but I think it certainly needs to be improved further.

One thing I'd do is throw out the non-developer mode. It's all about worksheets which are both presented, and then editable/executable, so why allow disabling that? I think it just adds an extra layer of confusion which isn't needed. Just keep it in developer mode permanently.

I included two modes so that it can be used to construct user facing applications. See the regular expression tester found on the tools page of the website for an example. This way, developing an application is quite easy; build it within developer mode and mark the code blocks as hidden. Return to user mode and (hopefully) you have a working application.

The main problem I had, is that for your examples there is very little difference between development and presentation mode. It's simply that presentation mode, does less.

A separate mode only makes sense, if it's applicable to most worksheets. If it's only applicable to a minority of worksheets, then I would find an alternative way to meet their needs.

For example a third option could be to have a way of programmatic-ally switching from development mode into a present mode. i.e. "run this sheet". A worksheet could then run a user facing application, which is presented in a far more prominent way to the user.

I'm thinking something like in PowerPoint, where you are clearly in development mode for most of the time, but can then chose to go into a presentation mode where the content is fullscreen and made more prominent.

Either way, the differences do not seem big enough to justify two modes right now.

I am very impressed with this, but it wasn't clear from the video whether output could be directed to a second window for those of us with multiple monitors. If this were the case there would be less scrolling up and down to check on results and productivity would skyrocket.

A web-based version (of sorts) is in development. The underlying architecture has been implemented for a web based environment.

It's nowhere near as advanced as the desktop version that is available. I would expect that it would be possible to develop an IPython style interface without too much difficulty. Going as far as embedding interactive visuals and GUIs within code would require much more work however.

I really like this idea. The end result of the project I'm working on is meant to be something similar, and it's really refreshing to see other people implement systems from which I can draw some inspiration.

I'm with grayvedigga in that I wish the docs were a bit better. If they are at the point where they are demoing the product to others, then they should put in the extra effort to describe the functionality of the core components in a way that would allow people to better understand what they are moving towards. That said, I might still play around with it if only for the "ooh, shiny" factor.

I tried this a while back but found it to be too much investment for dabbling and too specialized/obscure for general use. It's not quite as ambitious, but the IPython notebook has inline images, notebook interactivity and, a much simpler web-based setup.

If Larch doesn't already support this, I humbly suggest that you support automatic ellipsis for long lists, or some lazy-loaded double-ended queue which supports fetch / generation on demand horizontal scrolling to cope with larger data structures.

Reminds me a little bit of the Sage environment. Though of course the purposes are different with Sage being designed as a replacement for MATLAB or Maple, and this being an actual IDE. Very cool, and I imagine that something like this would be far more enjoyable for a new programmer than a bare-bones text environment.