lisp

Lisp Community - Quality tutorials/resources

As many other people interested in learning Lisp, I feel the resources available are not the best for beginners and eventually prevent many new people from learning it. Do you feel it could be created some sort of community, with a website, forum or something, that provides good (as in quality) resources/tutorials, for Lisp users, possib...

Emacs :TODO indicator at left side

I want to have sort of indiacator at left side of the line wherever I have in the source code #TODO: some comment //TODO: some comments The indicator could be a just mark and I already enabled line numbers displayed at emacs. ...

SBCL initialization file

Hi! I would like to know where I should save my .sbclrc file. I tried saving it in my .sbcl folder, but it doesn't seem to be working. I'm using Windows XP with Emacs version 23. I'm trying to set up asdf-install, that is why I'm mucking around with the initialization file. Thanks for your time. ...

Why is consing in Lisp slow?

I read in the book 'On Lisp' that one should avoid excessive use of cons in the body of expanded macros. Why is cons considered to be an inefficient operation? Does Lisp not do structure sharing with the cons cells? ...

emacs lisp skip-syntax-forward help

hello I am trying to implement function which moves to the next blank/whitespace character. I have read manual, and it seems I can use skip-syntax functions. However, I cannot figure out how to use them correctly. Here is what I have: (skip-syntax-forward " ") However, this does not seem to work. If I use "^ " it works, but if point ...

How to change emacs config in Lisp In A Box

Hi, I have been a programmer for a decade now, but I believe this is the first time I've ever asked a question on a forum. I just can't figure this out and can't find the answer already online. I am trying to turn on CUA mode so that emacs is more bearable for a windows user (normal copy paste functions). I am running Windows 7 and i...

homework on scheme

how to design a function content which inputs a single list of atoms lat and which returns the content of lat.Thus the content of '(a b c a b c d d) is '(a b c d). ...

How to write self-documenting code in Clojure/any other lisp

I'm used to Java code, with its long descriptive names, and with lots of temporary variables used only to give a name to some return value. This kind of code is very easy to understand even after a year break. When using Lisp, however, I can't understand things like "what is in the 3rd position of this list" the next day, or even next h...

Schliemann's method of programming language learning

Background: 19th-century German archeologist Heinrich Schliemann was of course famous for his successful quest to find and excavate the city of Troy (an actual archeological site for the Troy of Homer's Iliad). However, he is just as famous for being an astonishing learner of languages - within the space of two years, he taught himself...

Convert code from Lisp to F#

I have the following code in Lisp: (defun Is_List_Even (lista) (cond ((null lista) t) ((null (cadr lista)) nil) (t (Is_List_Even (cddr lista))))) Can someone help me to write in F#? I'm new to F# and I'm in a hurry. Regards, Voicu. ...

What are best practices for including parameters such as an accumulator in functions?

I've been writing more Lisp code recently. In particular, recursive functions that take some data, and build a resulting data structure. Sometimes it seems I need to pass two or three pieces of information to the next invocation of the function, in addition to the user supplied data. Lets call these accumulators. What is the best way to...

Homoiconicity, How does it work ?

Hi, Can someone suggest articles that explain the concept of Homoiconicity, especially using Clojure. Why is it that Clojure is homoiconic but its hard to do that in other languages such as Java ? ...

Lexical closures over macrolet?

Is there a way to do something like lexical closures using macrolet? What I want to do is make the following macro a local recursive helper that calls a function on each combination instead of generating a list as it does now calling the macro in the repl results in: CL-USER> (combinations nil '(1 2 3) '(4 5 6)) ((1 4) (1 5) (1 6) (2 4...

How does Lisp let you redefine the language itself?

I've heard that Lisp lets you redefine the language itself, and I have tried to research it, but there is no clear explanation anywhere. Does anyone have a simple example? ...

What do you use newlisp for?

Do you use newlisp? What have you used it for? ...

An Emacs alternative which exposes a text model to a scriptable environment?

Hello, everybody out there! I'm currently seeking for a technical solution to create a nice literate programming environment. Unfortunately, most editors are too much hard coded, and their functionalities just cover most famous needs, and can't cleanly cover special needs. I came to Emacs (later after some others), but I also came to n...

sbcl runs forever on second call of function

The function: Given a list lst return all permutations of the list's contents of exactly length k, which defaults to length of list if not provided. (defun permute (lst &optional (k (length lst))) (if (= k 1) (mapcar #'list lst) (loop for item in lst nconcing (mapcar (lambda (x) (cons item x)) (permute (remov...

Suggestions for algorithmic analysis of Lisp programs?

Which operations in Common Lisp programs are to be considered sufficiently primitive so as to count for a single "step" in algorithmic analysis? How widely do modern lisps vary in their implementation? Certainly arithmetic with small integers would count as a single step, but what about larger numbers? And what about considering the d...

What features is lisp lacking?

I have read that most languages are becoming more and more like lisp, adopting features that lisp has had for a long time. I was wondering, what are the features, old or new, that lisp does not have? By lisp I mean the most common dialects like Common Lisp and Scheme. ...

Lisp simple question

Hi! I have some not understanding actions from gnu clisp Suppose, I have some code like (let ((x "Hi!"))(print x)). If I execute it from console (like, clisp fileName.lisp) I see Hi! But, when I execute it from interpreter, I see this text twice. Why? Help me, please. ...