Light Table reaches 300k necessary for Python support
kickstarter.com
kickstarter.com
Any why the hell is there a music video?
The screenshot isn't readable, feels odd tacked on at the bottom, and if you click it, you don't get an enlarged version. This is a language, not an editor, right? That's what the title says. But where is the hello world? Where is the list of snippets to give you a feel for the language?
Editing on an AST is a neat idea. I think it is a neat idea for an editor. Coupling tightly to a particular editor is going to hurt the adoption of your language, just like coupling to a particular language hurts the adoption of your editor.
But it seems like you have some neat ideas and I hope you are not too discouraged by the negative feedback.
I would love to see this evolve into something bigger. Keep up the good work!
Or the universe, if not glorified matter?
This concept/potential implementation has more syntactic intelligence.
Seriously, what if Python is specially hard to support for some reason? I feel if it was in the easy-to-medium-hard space, there would be a Slime port to Python, and if there isn't, its because its probably hard...
If those hard things require people working full-time on solving them, then yes, money does magically makes them happen.
>Seriously, what if Python is specially hard to support for some reason?
This is engineering and computer science, there are no magical reasons, only specifics. What would make Python difficult to support exactly? It has full introspection, several IDEs like PyCharm, it's straightforward to parse, it has a REPL, etc etc. I don't see how Python is harder to support than say Smalltalk (which had excellent IDE environments 20 years ago).
>I feel if it was in the easy-to-medium-hard space, there would be a Slime port to Python, and if there isn't, its because its probably hard...
Or maybe whether a Slime port exists or not reflects just the lack of any volunteers to undertake the effort and the lack of commercial interest too. Not to mention that Slime, IIRC, is for Lisp like languages. What would Python had to do with it?
Decorators in general are a widely used tactic to execute arbitrarily Python code with potentially unknown runtime state to transform the Python code you just parsed into a totally new function.
There is just very little you can learn from parsing Python code, you need runtime state to understand some functions. It is potentially as difficult as Lisp, and with a much larger set of primitives to cover.
And if you take the approach that you aren't going to just parse, you are going to implicitly execute the Python that is being written, then you need to sandbox the whole of Python. It's not like a REPL where everything is explicit and if a programmer writes subprocess.call(['rm', '-rf', '/']) they want their filesystem to blow up. You can't just go around implicitly executing WIP code.
Now, a reasonable approach might be to punt on the whole issue and say, "If your code doesn't execute in a vacuum, with standard python libraries and no funny business with decorators and monkey-patching, then we won't touch it" but I think the reality is that there is a lot of important Python code that can't be correct in such a vacuum.
It's not a total lost cause, but I do think there are many good reasons why a Python Light Table is very hard.
I'd dispute this.
Where you are certainly right is that monkeypatching may occur in a project and this is only one of many ways that Python's being very dynamic makes it extra hard to write static analysis tools.
The rm -rf problem is not as bad if you are previewing (say) a page view, which hopefully is not being developed on a production server and hopefully doesn't contain an rm -rf. But I agree that solving this in the general case is probably intractable without some kind of container.
Are there in Smalltalk?
>There is just very little you can learn from parsing Python code, you need runtime state to understand some functions. It is potentially as difficult as Lisp, and with a much larger set of primitives to cover.
Yes, but Clojure, a "Lisp", is supported no? If in that case it's the JVM that provides extra runtime intelligence, they could make it support Jython instead of CPython.
Many of the cool features in LightTable are already supported by fancy python interpreters like iPython and bPython.
LightTable must either implement a Python parser and a partial interpreter/evaluator that is used to analyze call graphs and such or use the relevant parts from the Python core. Not a simple task to implement (and maintain) but most definitely doable.
But this IDE is amazing, really nice. Would be great to get also Rubysupport (with plugins you can Rock this also i think).
Does anybody know if they are working with flash, opengl or something like that? The look remembers me on Adobe Air and i hope this is not their engine.
How much I wonder? I can't decide whether it would be more complex than Python or less...