

Open-Sourcing My Gambit Scheme iOS Game from 2010 - jlongster
http://jlongster.com/Open-Sourcing-My-Gambit-Scheme-iOS-Game-from-2010

======
hoprocker
Thanks so much! I was really stoked by yesterday's related post (and your
discussion in the comments). I also find it really interesting to see Scheme
used in production; I sort of marginalized it (unfairly to myself, I'm sure)
after college as being a good toy Lisp for things like demonstrations in SICP.

~~~
orthecreedence
I sometimes wish there was a language inbetween scheme and common lisp that
actually caught on. They're both powerful languages, but to me the little
scheme I've done makes me feel like I'm just reinventing common lisp as I go
along, and sometimes common lisp leaves me wanting for something a bit
"smaller" that doesn't take up 30mb of memory just to open the REPL. This
especially holds true in the mobile world.

~~~
chenglou
Not sure what you mean by between Scheme and CL, but if there's one Lisp
that'll catch on to today's practical needs, it's probably Clojure (and
ClojureScript).

~~~
orthecreedence
What I meant by inbetween is something exactly like CL with a smaller
footprint and possibly a smaller library. I believe CL more than covers
today's practical needs (real threading, compiling to machine code, calling
out to C, etc etc). I might choose Clojure if I was writing something highly
concurrent that required a more functional approach, but for any other general
purpose app I'll take CL any day. (Disclosure: I've never actually built
anything in Clojure).

------
davexunit
This is really great! I loved the live coding demo with the sine wave
animation. You've inspired me to do some more hacking on my pet project. I am
developing a 2D game engine in GNU Guile Scheme and it shares many features
with what you've developed:

\- A "cooperative" REPL server that plays nice with the running event loop

\- An Emacs development environment with Geiser providing the remote REPL
integration

\- Cooperative multitasking using coroutines and a scheduler

\- OpenGL renderer

\- Functional reactive programming

~~~
dharmatech
I ported Box2D-lite to R6RS Scheme a few years ago:

[https://github.com/dharmatech/box2d-lite](https://github.com/dharmatech/box2d-lite)

If you decide to add a physics engine to your project, that might give you a
head start, or at least some ideas. :-)

~~~
davexunit
Thanks! This could be very useful!

------
bagosm
On an irrelevant note, I started research on "that thing people are talking
about", scheme/gambit. Given the quote from scheme-faq-general:

>> Scheme is often used in computer science curricula and programming language
research, due to its ability to represent many programming abstractions with
its simple primitives. [..] There are few known uses of Scheme in "real-world"
systems.

What's the motivation to start using it in production code? Besides smart
people around you talking about it/using did you find that you benefited from
the switch from C++ to Scheme?

------
j_m_b
Awesome! This is some of the coolest stuff I've seen on HN in awhile. Thanks
for posting this writeup and making your code open-source.

~~~
louisremi
Couldn't have said it better. Thanks for sharing your experience!

