Lua-quick-try-out : A simple, low-barrier Lua IDE
brischalle.de
brischalle.de
A Lua IDE to quickly try out algorithms
Many years ago when i wrote my first programs on a Atari 800XL you only had to turn on your computer wait some seconds and after that you could start to draw lines our print some strings on the screen. Today computers are much faster und programming is much more complex. Before you can draw lines, diagrams or tables you have to build a GUI and you have to do a lot of other things that have nothing to do with your problem that you want to be solved.
Sometimes I only want to check if an algorithm works as expected or I would like to see the result of the computation of an intersection of lines or circles by drawing a vector grafic. I would like to start to program my algorithms without wasting time to build a GUI. Thats the reason why I started to develop this tiny Lua IDE.
Even forgetting things like Processing, various projects exist for other languages for visualization IDEs or to add graphics support to their REPLs. A few: http://ipython.org/ http://kidsruby.com/ http://hackety.com/ http://nodebox.net/ http://docs.python.org/library/turtle.html or even my own https://github.com/peterc/trtl
You can't build a user-application with the basic Lua VM in any fashion other than as a command line tool. If you want more sophisticated GUI, you do have to wrap it somehow to get this working in the context of the Lua VM.
(Disclaimer: I'm currently developing professionally using the MOAI toolkit..)
There are plenty of solutions to the problem of not having a GUI/user-interaction built-in, of course - you can emit .png files, or you could get raw framebuffer support somehow, or you could even interface to the native GUI .. but all of this has to be done extra, its not something that works, out of the box, with the basic Lua VM ..
One thing I was wondering is if there was anyway to read the table cells? And read them interactively? (perhaps have the option of "on changed" event callbacks) It would be really nice if the table can be used to control the graphics output.
A suggestion - an option to swap the tabs (source code, table, diagram, etc) between tabs and dock windows would be really really awesome, that way I could, for example, view the source code and the graph side-by-side.
I haven't got the time to check out the source code right now, but maybe over the weekend or early next week I will, so I may try and add these features myself, so don't worry about it if you don't want to add them just now.
In any case, good job! I've been meaning to brush up on my Lua skills for a while now and this seems like a great tool to use to play around with the language.
I've been playing around a little with a lua based game framework called LÖVE and that was a really pleasant experience. Perhaps you could integrate love into Lua-quick-try. That would be a fantastic way to introduce people to programming since you can get pretty results quickly. Most tutorials I've seen starts with printing texts and calculating Fibonacci numbers which is good to know but I'm sure that starting with writing a pong clone would be more rewarding.
http://github.com/antirez/load81
Lua sure is a lovely language for this sort of thing!
Tools which don't attempt to do too much are sometimes just what you need.
Practically it may depend on where they were produced / tested. If Mint is all the developers use, then it would be tricky for them to decide if the packages are compatible with previous distros (Ubuntu, Debian)
It's just the Ubuntu repository, with a different default installation and some 'out-of-repository' settings, script and GUI applications.
Mint is not a build target in any way shape or form. Ubuntu however, deviates enough from Debian (patched kernel, patched/out-of-sync glibc, as well as patched core libraries) that one would have to explicitely test on Debian proper.
To call these packages Mint specific is like calling the windows executable HP-Windows-Executable, because you had HP crapware preinstalled.
So, for a dynamically linked application, you need to build specifically for Ubuntu. With a statically linked app, that is distrobuted with its libraries .. you can make a generic linux application that should work just about everywhere.
Mint is a completely different story. They don't patch the kernel, or stuff like that. They just preinstall different packages from the Ubuntu repo, and have a different default user-skeleton. (different default settings in userspace). They also add some extra GUI tools and scripts.
But they are Ubuntu, just like HP Windows is just Windows and run Windows applications.