Edit scheme on your iPad via the parse tree: Lisping launched
slidetocode.com
slidetocode.com
I really think Self on iPad could be a nice beastie, it is way more visual and touchable than even an adapted text editor like Lisping (though not a visual programming environment)
It looks more like the structure editors of the 1970s adapted for a tablet. Mid/end 70s several structure editors were written in Lisp, for example DEdit for Interlisp-D.
See chapter 11.3, Using The Lisp Structure Editor http://www.bitsavers.org/pdf/xerox/interlisp/3102300_interlD...
and especially
Chapter 16. List Structure Editor http://www.bitsavers.org/pdf/xerox/interlisp/3101273_Interli...
There were also others which worked over textual terminals.
If only it was available on Android. Why, oh why did I not go Apple when I had the choice...
Xerox's machines came with a parse tree editor similar in concept to this one. You were always working with the specific parse tree. A terribly powerful concept.
The Symbolics machines came with emacs and traditional edit a file, load/compile a file kind of editing.
I believe the Symbolics machines were much more successful in the market, however, both kinds of machines are pretty much dead, but fwiw, the emacs style still survives.
That said, on an iPad I think this system might be quite nice.
Very cool project, though!
EDIT: Per the manual: "Lisping registers the .scm filetype with iOS so that you can import Scheme source into lisping by emailing a .scm file to your iPad." You can use Dropbox, etc. to get code in/out as well. Given Apple's history, doubt this will survive long.
[1] A Lua IDE and game engine for the iPad http://twolivesleft.com/Codea/
1. You cannot distribute an interpreter that can be used for running program code downloaded from the internet. So, for example, your user can save their script and use it themselves but they cannot give it to others (except perhaps through the app store bundled as an app itself).
2. Your interpreter cannot dynamically generate binary code so JIT compilers that generate binary code on-the-fly are not allowed.
edit: For example, LuaJIT cannot do JIT compilation on iOS but it can do JIT compilation for higher performance on Android.
However, I speculate even the 2nd restriction is partly for business reasons because it prevents some third-party toolkits (such as those compiling to LLVM) from achieving high performance. You might remember that Adobe was compiling Flash to LLVM to allow devs to port their Flash apps to iOS, but since LLVM cannot do proper JIT compilation on iOS, it will reduce performance.
FWIW: WinRT imposes both the restrictions above. Android technically doesn't impose either for sideloaded apps. But if you want to distribute app through Google Play, the 1st restriction is indeed imposed.
I hadn't considered this before, but that means that you could potentially use JS as an intermediate representation for other languages in order to leverage Safari's JIT under iOS. Probably too inefficient to be worthwhile for any language that isn't a dialect of JS, but an intriguing concept nonetheless.
Javascript in Safari is jitted - but JS in a UIWebView used by a third-party app is not.
I'm toying with the idea of getting an aws server and run an ssh client there, to get Emacs and bash. With dropbox installed on the server and an external keyboard -- I could maybe skip my heavy portable?!
Anyone has experiences/advice? [edit: E.g. git/svn integration instead of the Dropbox on the server? Or should I use an ssh app for file sync?]
I found this http://yieldthought.com/post/12239282034/swapped-my-macbook-...
http://apple.stackexchange.com/questions/48043/how-to-ssh-fr...