If Sketch interests you, you may also be interested in joining the Lisp game development community at #lispgames on Freenode. We had our first Lisp game jam in January and will be having another one soon.
Are there people/organizations I can follow on Twitter to watch out for the next jam? I would love to participate in a future event, but have a hard time keeping up with IRC.
Hi all, author here. Thanks! Finding Sketch on top of HN was very unexpected. If you need help running it, have suggestions, or just want to chat, ping me at #lispgames on freenode, or here.
Sketch looks fun and intuitive. I'm looking forward to experimenting with it! :)
I'm very close to being able to run the examples, but I'm seeing the following issue when running `(ql:quickload :sketch)`: "debugger invoked on a LOAD-SYSTEM-DEFINITION-ERROR in thread #<THREAD "main thread" RUNNING {10039CE893}>: Error while trying to load definition for system st
atic-vectors from pathname /home/peter/quicklisp/dists/quicklisp/software/static-vectors-1.6/static-vectors.asd: COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "cffi-toolchain" "toolchain" "asdf-compat">"
Any idea why that might be happening? AFAIK, I've installed the appropriate dependencies. I'm running Debian 8, Linux 3.16.0-4-amd64 and SBCL 1.2.4.
Static-vectors, on which Sketch depends, needs to have a working C toolchain (C compiler, linker, etc.) installed. Maybe that's the problem here?
If you do have the toolchain installed, and can call the compiler with "cc", then maybe sbcl's PATH is wrong. You can try copying your env PATH to .sbclrc:
I think PATH should only contain folders, not the full path to your binary. But now I'm not sure if even that would help. It would be the best if you could join #lispgames or #lisp on freenode so we can debug it in realtime. We might even find someone there who has more experience with cffi.
Looks like there's a lot of manual setup to get this going. That seems to be the case for a lot of CL stuff I've seen. Clojure actually has a few Linengen packages for this stuff, Overtone is one I recall for music/sound and Quil for visual design/art. Luminus is great for webapps as well.
Overall I think Clojure has taken most of what was good about lisp and turned it into a much more usable and friendly environment.
> Looks like there's a lot of manual setup to get this going.
Which is one of the things the Processing[0] environment, whose API this apparently mimics, does better than most other applications I think: you download the PDE, a (completely portable) application, and when you open it you immediately see a basic notepad with a big "Compile And Run" button above it. None of the not-yet-relevant stuff you might see in a more overwhelming IDE[1].
EDIT: comment sniped by giancarlostoro! Dr Racket is a good point of comparison too, for sure!
> Clojure actually has a few Linengen packages for this stuff, Overtone is one I recall for music/sound and Quil for visual design/art. Luminus is great for webapps as well. Overall I think Clojure has taken most of what was good about lisp and turned it into a much more usable and friendly environment.
There's also thi.ng[2]. I'm very curious to see how all of these compare, tbh.
thi.ng was just getting started when I last looked at Quil/Clojure. It looks a lot more interesting now, and Karsten Schmidt is something of a legend among creative coders.
>Overall I think Clojure has taken most of what was good about lisp and turned it into a much more usable and friendly environment.
For creative coding I completely agree. I think it's a much more rewarding environment than Processing, both from a programming point of view, and also creatively.
It's doable to make a single monolithic application out of Sketch as well, but I guess it hasn't been done yet (especially since most lispers use SLIME)
Note about Quil it is based around Processing[0] which reminds me a lot of how Dr Racket is designed (UI wise) which is really nice. I agree though, my probability in testing or using software rests upon setup, if it cannot be in a straight forward approach I'll likely not bother.
Not that much manual setup - just check it out into quicklisp local-projects directory, and run (ql:quickload "sketch")
Seriously, what kind of pre-done setup one needs these days? Even PDE-style package can be prepared for this with CL-launch and some editor support, and the editor is probably going to be biggest issue (if not using SLIME and Emacs).
I'm building a new lisp. It's not ready to show yet, but we're aiming for "Someone running Windows using notepad.exe can still have a good dev experience." We've been calling this "devex" (developer experience) and set out to specifically focus on this area. Mostly out of curiosity, but also to see whether it's a fruitful approach in general.
It uses npm as a package manager, so the setup instructions to install any library are the same: "npm install foo --save". You can then open a REPL, type (require 'foo) and begin using that library. There's also a Homebrew formula for setting it up, for those who don't have npm, so library authors could take the same approach and offer a way to "brew install" their library. I imagine we'll provide a mechanism to make this easy.
It took about six months of focused effort to achieve that, and no one should feel obliged to go through the trouble. But it was doable, and it's pretty exciting to see it work.
Performance was the other objective, which also turned out to be achievable. It comes with several example programs, one of which is a software rasterizer that pushes 7 million pixels/sec. It's 200 lines of code, entirely Lisp. Seeing a smooth 60fps without spending any effort at all on optimization was very interesting.
Which Lisp do you have in mind? The old Lisp Machines defined usable and friendly development environments. And modern Common Lisp is powerful and flexible environment that finally has easy enough package and binary management -
Clojure is easier in that sense because it leans on the JVM, but it is missing a few very important things from CL like readabe stack traces. Somebody could repackage Sketch to make it user-friendly. Overtone runs on top of, or uses SuperCollider; you can't make your own ugens AFAIK. Extempore is a scheme-based audio\visual environment that is much more powerful than Overtone or Sonic Pi.
I think what I wrote was honest and factual, and it comes from my experience with all of the items mentioned. I did not resort to writing "barf JVM stack traces" like someone else in this thread, which is BTW a copy without quotes from a January 2014 blog article [1]. There must be people on HN just itching to downvote, or they somehow read wrongly into what I have written.