Seriously though, I'd love to see a video of someone doing live-coding. I've been looking for a good live-coding environment ever since I found fluxus[1], and subsequently found out that development of it had stopped.
Who said C++ is not productive, please? Alright, all credits goes to Paul. :)
[1] http://lists.pawfal.org/pipermail/fluxus-pawfal.org/ [2] https://savannah.nongnu.org/git/?group=fluxus
They aren't the decisions I'd have made but they're good decisions. The inlined state stuff especially looks exciting and clever.
Not if the language allows you to mix tabs and spaces; in that case semantic details can be invisible.
Also, how do you do scoping without a var or val keyword? E.g. what if I want to have a variable local to a function (or method, I guess?). Or what if I want to reassign a variable outside of the current scope?
For variable scoping, if you use the same name inside a "for" or "if" block then it'll assign that name in the outer scope. A function however can't assign to names outside of the function - each function needs to explicitly declare its inputs & outputs. There's some holes in the current design, so adding a "val" keyword is the current plan.
I managed to compile both build/circa and build/circa_d (build/circa_t is broken).
circa ➤ export CIRCA_HOME=`pwd`
~CIRCA_HOME ➤ export PATH=$PATH:$CIRCA_HOME/build
~CIRCA_HOME ➤ python tools/prebuild.py
~CIRCA_HOME ➤ scons build/circa build/circa_d
I can run the tests: ~CIRCA_HOME ➤ tools/ca-tests.py
Ran 105 tests, 0 failed, 11 disabled.
But I can't launch the repl (circa_d --repl) nor get anything from the samples. On some of the samples I get errors, on others I get nothing.Am I missing something?
There is definitely some breakages in there, and most of those samples won't run currently. I'm rewriting the app that runs things in a graphical shell and I hope to have that ready soon. If you are feeling brave, you can go back in time to use Plastic (the SDL-based shell that I was relying on for a while). Instructions for that:
Checkout revision efb5300
Delete the files at src/generated/*.cpp and run prebuild.py again
scons build/plas_r (this will require SDL)
Launch with: build/plas_r samples/asteroids.ca (or some other sample)
circa_d -repl
This works fine. Not sure why I used -- :-)With that version I can build build/plas_r but there are some missing Box2D files. Might come back to it later when I have more time or when the the next app is out :-)
The project looks awesome btw! :-)
I was just curious since there seem to be a few languages that only have single line comments. But usually it just results in people finding "hacks" so they can make them anyway (like Python's doc-strings) which just ends up being uglier than supporting them natively.
Until Cicra is ready, where else can I learn to use these features?
Game devs love to have tweakable variables, so there's a lot of libraries that will help with this. One example: http://www.antisphere.com/Wiki/tools:anttweakbar