Hacker News new | past | comments | ask | show | jobs | submit login

In my experience, recursion is the hard part of teaching a functional language like Sch^H^H^H Racket.

I've often wondered if purpose-building a tool for visualizing recursive processes would help.

They could call it Ponzi.




I learned recursion in C. Visualizing the stack, which was encouraged for whatever reason in the books I was reading, was useful to me.


In a Ponzi Scheme, one concentrates on the stock, rather than the stack, I think... ;)


What books were those? Sounds useful, I'd like to read that too.


Programming Abstractions in C: http://www.amazon.com/Programming-Abstractions-Second-Comput...

there might have been others but that was the main one where afterward recursion no longer confused or scared me.

there may be other books that are far more suitable. i would be surprised if there weren't, even. but that's the one i used.


I checked the author, Eric Roberts, and it looks like recursion is his specialty. Good reference, thanks for the link!

http://www.amazon.com/Eric-Roberts/e/B001IOH3DO/ref=ntt_athr...


> In my experience, recursion is the hard part ...

My limited experience has been different. I've been trying to make time to learn Scheme lately, and recursion seems simple enough. You can just practice it until it makes sense. What I find difficult is understanding what symbols are and what single-quoting actually means. No Scheme book I've seen yet just comes out and actually tells you in plain language what a symbol is.


Single quoting lets you pass a list without evaluating it.

(car (eval '(a b c))) vs. (car (a b c))

Do the same thing.

Have you read SICP? Somewhere in the 1st-3rd chapter there's an explanation of first-order evaluation that scheme uses. Once you know how scheme evals sexps, it makes sense that quote skips some of the steps of evaluation. I strongly recommend the SICP/Little Schemer/Seasoned Schemer if you haven't heard of them.


> Have you read SICP?

I'm still in chapter 1.

Thanks for the explanation of the single quote. Can I convince you to add something about what a "symbol" is (and if it's connected in some way to the single-quote mechanism)?



Thank you.


Don't macros change the rule a bit?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: