Page 1 of 1

Hello

Posted: Sat Jan 16, 2016 9:47 pm
by 50L6
Hi— Just wanted to introduce myself (and see if I could attract any quick helpful insights), and in order to cut down on the excess of internet verbiage to to save time, I will resort to bullets:

• Started learning CL, Haskell and Racket about 18 months but gave up because of pressures from school and work

• Gave up on Haskell after a few chapters of LYaHfGG— does not suit me whatsoever, I am not smart enough

• Returned to CL and Racket a week ago and have put in ~30 hours of tutorials and reading

• Done a little javascript, php, python, etc., and I find Lisp class languages far more difficult

• All the tutorials I'm interested in tend to be in CL, but I keep trying to shove things into Racket

• Strongly dislike Clisp, if for no other reason than that it doesn't seem to support basic emacs/CLI style keyboard
navigation, and there's no code highlighting (that I know of)

• However, I cannot get SLIME working despite spending three hours tonight entering various paths… emacs always cannot find inferior mode, or swank will not run… extremely frustrated… dying on the inside… have looked at dozens of questions and solutions about this already (and I feel terrible asking about something so mundane and time-wasting)

• I'm an armchair linguistics drop-out whose goal is to enjoy mess around with zork-like adventures, and to create programs that will help me with my language studies

• Have gone through Casting SPELs (and the first few chapters of about 6 other of the most recommended books) and all
resources I've seen are excellent, though I understand extremely little. One main thing very troubling to me is how in Casting SPELs symbols are used instead of strings, and I very much want to find a way to understand how I will need to change the code to make things string oriented. Someone posted a Racket version but it throws errors I don't understand, but I'd rather play with it there since Clisp is so inimical to me

• Would *love* to find someone to hang out with here in Portland, Oregon who is also a total beginner

Cheers :D

Re: Hello

Posted: Wed Jan 20, 2016 7:57 am
by sylwester
Hello

I had the same experience as you. I know a lot of languages and knowing how easy it was learning them I though it would be easy to just find out how to do <java feature> in lisp and just program in the same way.
The reason it doesn't work is because I only knew many dialects of ONLY ONE programming language, namely Algol. Python and C++ is just dialects and not really a completely new language to learn.

You'll have the same in LISPs too. Learning Racket after doing Common Lisp is as easy as learning PHP after perl.

Racket has it's own beginner book: How to design programs
Racket is a 'dirty' Scheme dialect. It's not backwards compatible, but racket the application supports Scheme standards like R5RS and R6RS.
If you learn Scheme you would learn much racket as well. I really like the SICP videoes. There is a SICP book too, but I really love the wizards in action.

If you like Common Lisp, but not CLISP then change implementation. There are many to choose from. A very common choice is SBCL.
I personally have a copy of Land of LISP, which Casting Spels are a chapter. I strongly recommend it if you want Common Lisp. A Racket version exists which is called Realm of Racket, which I think doesn't get close to the original version, but is perhaps more fun since you are making visual games.

Of course. The only way to understand stuff is to create LISP. You may create it in a LISP (eval) borrowing from the underlying implementation or you can do it in any of your Algol languages. Either way you'll learn a lot. SICP does this. There are also other excellent books on making interpreters if you're interested.

Re: Hello

Posted: Sun Apr 10, 2016 10:06 am
by CADTechie
My introduction to Lisp is through programming in Autolisp for CAD years ago. The common implementation that I use is clisp. I think the key is a good editor. For that I use UltraEdit. I use UltraEdit for all of my lisp and python programming, and you can create a custom tools that will initialize the compiler to compile your code or you can run your code with the interpreter if you want. It has syntax highlighting, parenthesis matching, and smart templates (code completion).
-KS