Lisp is a (family of) general purpose functional programming language(s), based on the lambda calculus, and with the ability to manipulate source code as a data structure.
6
votes
2answers
487 views
Could we build a functional computer?
As mush as FP has done, in the end, all our programs are structured.
That is, it doesn't matter how pure or functional we make a them - they are always translated to assembly,
so what actually runs ...
4
votes
3answers
316 views
Is there a way to use a higher level language in a competition that only has C, C++ and Java by default?
On that competition, you gain access to a system with gcc, vim, emacs and Java. You can't take any file with you and there's no internet access, but you can do whatever you want inside that system. ...
5
votes
2answers
166 views
Are square brackets and curly braces in Clojure still S-expressions?
I am trying to learn Lisp and looking at all the Lisps out there and their differences.
I see that in some implementations of Scheme, you can use square brackets interchangeably with round brackets ...
1
vote
1answer
101 views
Online courses focussed on learning LISP for beginners? [closed]
I'm looking for an online course that I can use to learn programming using Lisp (especially Scheme), from scratch. I didn't find anything similar on Coursera/Udacity - the only resource I found was on ...
1
vote
1answer
88 views
Ring of numbers where adjacent entries sum up to a prime
Given a number n, find a permutation of the numbers 1...n such that all adjacent entries sum up to primes. If such a permutation does not exist, throw an error.
Is there a purely-functional way to do ...
9
votes
4answers
996 views
In what programming language did “let” first appear?
I was wondering about the origins of the "let" used in Lisp, Clojure, and Haskell. Does anyone know which language it appeared in first?
1
vote
4answers
422 views
What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?
I spent couple of months learning Scala and got overwhelmed by number of different constructs it had,
After looking at partial functions, partially-applied functions, pattern matching, actor syntax,
I ...
8
votes
3answers
414 views
What is the difference between a stock-hardware and a micro-coded machine in “A Critique of Common Lisp”?
I was reading this article: A Critique of Common Lisp and finding it hard to make out the precise definition of "stock-hardware machine" and its difference with "micro-coded" machines. I tried to ...
9
votes
3answers
386 views
Byte code weaving vs Lisp macros
I have been reading about the libraries people have written for languages like Java and C# that make use of byte code weaving to do things like intercept function calls, insert logging code, etc. I ...
2
votes
1answer
229 views
Common Lisp Implementations - threading and multiplatform?
I'm learning Common Lisp, mostly as a "mind gym" hobby thing, but I want to end up with a set of skills that would also be usable "in real life", because when you learn a language you also accumulate ...
12
votes
2answers
498 views
Which Common Lisp implementation to use?
There seems to be an immediate problem with starting to develop in Common Lisp: choosing an implementation. What should one take into account, and how much weight should it bear when considering a CL ...
0
votes
1answer
194 views
How to translate Lisp to Javascript [closed]
I have some legacy code, which uses Lisp as it's scripting language. To broaden, ease and accelerate scripting I'd like to replace Lisp by Javascript.
In order to be able to built on all present ...
4
votes
3answers
261 views
Is Reading the Spec Enough? [closed]
This question is centered around Scheme but really could be applied to any LISP or programming language in general.
Background
So I recently picked up Scheme again having toyed with it once or twice ...
12
votes
5answers
985 views
What is a recent programming language of choice for the AI?
For a few decades the programming language of choice for AI was either Prolog or LISP, and a few more others that are not so well known. Most of them were designed before the 70's.
Changes happens a ...
2
votes
2answers
295 views
Is eval the defmacro of javascript?
In Common Lisp, defmacro basically allows us to build our own DSL.
I read this page today and it explains something cleverly done:
But I wasn't about to write out all these boring predicates ...
16
votes
19answers
2k views
Programming languages with a Lisp-like syntax extension mechanism [closed]
I have only a limited knowledge of Lisp (trying to learn a bit in my free time) but as far as I understand Lisp macros allow to introduce new language constructs and syntax by describing them in Lisp ...
1
vote
5answers
685 views
Compiler design in LISP
With some googling, I could easily find some documents in compiler design in C/Java/C# and even in Haskell, but not in LISP except implementing SCHEME/LISP in LISP.
Is LISP not so popular in ...
3
votes
2answers
572 views
How stable is Common LISP as a language?
I have been reading a bit about Common Lisp and I am considering trying to learn it (I only know very basic concepts) or even using it for some project.
Question: how stable is Common Lisp as a ...
2
votes
3answers
398 views
Does this happen in Common Lisp?
From Steve Yegge's "Lisp is Not an Acceptable Lisp":
Lisp has a little syntax, and it shows up occasionally as, for instance, '(foo)
being expanded as (quote foo), usually when you least expect it.
...
1
vote
3answers
177 views
When are multimethods useful in practice?
The Common Lisp Object System (CLOS) supports multiple dispatch (multimethods). When is this a useful feature in practice? I'm not just looking for an example of hypothetical functionality that ...
5
votes
1answer
204 views
Lisp Macros: A practical approach
On my way to learn Lisp I have discovered the all powerful and feared so called Macros, then after spending a hard time trying to understand them and their usefulness I said to myself, I FINALLY GOT ...
17
votes
2answers
460 views
What are the typical applications of Lisp macros?
I am trying to learn some LISP and I have read a lot about the importance of LISP macros so I would like to get some working experience with them.
Can you suggest a practical application area that ...
5
votes
2answers
167 views
Can the Clojure set and maps syntax be added to other Lisp dialects?
In addition to create list using parentheses, Clojure allows to create vectors using [ ], maps using { } and sets using #{ }.
Lisp is always said to be a very extensible language in which you can ...
1
vote
2answers
479 views
According to Paul Graham in 2002, languages can be ranked in power order and Lisp is the first on that ranking. Is this still accurate? [closed]
His arguments are based on the premise a programmer can see when a language is less powerful than that he is using because the lack of an essential key feature, and that Lisp's macros is a key feature ...
2
votes
2answers
234 views
Why does Scheme r5rs have no module system
With all the controversy surrounding scheme r6rs, I stuck with r5rs and I am wondering why the designers decided to not implement a module system. How does one organize code in this?
2
votes
3answers
179 views
Implementing `let` without using a macro
I'm learning Lisp, and I've just gotten to let, which I don't quite understand (the implementation of).
A common definition for it is given in terms of lambda as a macro. However, nowhere have I ...
2
votes
2answers
357 views
What are examples of Lisp's accomplishments? [closed]
I've more than once heard that sometimes a few individuals come up with great accomplishments from using Lisp. What are those refering to? What are concrete examples of people using Lisp to create ...
3
votes
2answers
303 views
What is a dotted pair's analogy in other Lisp implementations?
What is Scheme's dotted pair construct analogous to in other Lisp implementations? I can make a vector or list quite easily, and understand those in Clojure, even though the syntax is a little ...
3
votes
6answers
738 views
Programming language for numerical computing [closed]
I am attending a course in numerical computing next semester, so I thought I could prepare this summer. My guess is that all of the stuff in the course is language independent, but it is cool to try ...
-2
votes
2answers
403 views
Where are functional languages used? [duplicate]
Possible Duplicate:
Functional Programming in Commercial Software
Which problems domains are more suited to functional programming solutions
I just wonder where do functional programming ...
5
votes
6answers
325 views
Do non-pure interpreters still make the guarantees of functional programming?
I am assuming the implementations/compilers/generated C code (referred to hereinafter as generic, 'interpreter') for most functional programming languages are written in non-pure functional languages. ...
4
votes
5answers
348 views
Why is the empty list used as the list terminator in Lisp?
It seems to me that the list terminator in Lisp could be any arbitrary value. For example, the string terminator in C is the null pointer. Is there a philosophical reason why the empty list was chosen ...
8
votes
5answers
906 views
Data structures in functional programming
I'm currently playing with LISP (particularly Scheme and Clojure) and I'm wondering how typical data structures are dealt with in functional programming languages.
For example, let's say I would like ...
9
votes
3answers
353 views
Making LISPs manageable
I am trying to learn Clojure, which seems a good candidate for a successful LISP. I have no problem with the concepts, but now I would like to start actually doing something.
Here it comes my ...
6
votes
2answers
769 views
normal order evaluation -vs- applicative order evaluation
I am going through Abelson and Sussman (Structure and Interpretation
of Computer Programs) and I am a little confused about when normal order evaluation is used and when applicative order evaluation ...
11
votes
9answers
1k views
Greenspun's Tenth Rule, does every large project include a Lisp interpreter?
Greenspun's tenth rule (actually the only rule) states that:
Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of ...
18
votes
5answers
2k views
Is is preferable to design top down or bottom up?
As I understand, top-down design is by refining the abstract high level concept into smaller concrete and comprehensible parts, until the smallest building block is defined. On the other hand, bottom ...
30
votes
13answers
1k views
Problems (such as maintenance) in development with unpopular language
I'm developing some application with clojure(lisp) alone in my team. It starts as small application. No problem. But as it's having features and extending the area, it's becoming important program.
I ...
4
votes
3answers
768 views
Are there any “enterprise ready” functional programming languages? [closed]
By "enterprise ready" I am referring to availability of tools: dependency management, build management, message servers, databases, application platforms and servers, and are secure and scale well?
...
3
votes
3answers
573 views
Lisp As A Langauge For A Beginner? [closed]
Should I learn Lisp as my first programming language? I have no prior experience but have heard great things about it from programming friends.
-3
votes
5answers
1k views
Why would you ever use Lisp? [duplicate]
Possible Duplicate:
Why is Lisp useful?
Lisp has always stricken me as a very peculiar language... interesting in concept, but it just doesn't seem intuitive as, for instance, Java or C or ...
0
votes
2answers
176 views
Does syntax matters for a (Lispy) Domain Specific Language (MELT, inside GCC)?
I am the main author and designer of MELT, a domain specific language to extend GCC (the Gnu Compiler Collection). The implementation is available free software (GPLv3 licensed). If you want a ...
8
votes
1answer
510 views
What are the essential Clojure libraries to learn beyond the basics of “core”
I am teaching myself Clojure. I've started using Leiningen, I'm working on Clojure Koans, plan to do LabREPL next, and will have a look at Noir.
My question is: what are the essential "must know" ...
13
votes
5answers
747 views
How useful are Lisp macros?
Common Lisp allows you to write macros that do whatever source transformation you want.
Scheme gives you a hygienic pattern-matching system that lets you perform transformations as well. How useful ...
5
votes
2answers
260 views
S-expressions readability
In a nutshell and for those who didn't know it, Lisp functions/operators/constructs are all uniformly called like this:
(function arg0 arg1 ... argN)
So what in a C-like language you would express ...
5
votes
1answer
629 views
What's cool about Lisp nowadays? [duplicate]
Possible Duplicates:
Why is Lisp useful?
Is LISP still useful in today's world? Which version is most used?
First of all, let me clarify: I'm aware of Lisp's place in history, as well ...
5
votes
1answer
216 views
Process arbitrarily large lists without explicit recursion or abstract list functions?
This is one of the bonus questions in my assignment.
The specific questions is to see the input list as a set and output all subsets of it in a list. We can only use cons, first, rest, empty?, empty, ...
12
votes
3answers
2k views
On the path to Enlightenment: Scheme, Common Lisp, Clojure? [closed]
A lot of people smarter than me keep writing about when you learn Lisp it makes you a better programmer because you "get it".
Maybe all I hear about Lisp(s) changing your life is just a big practical ...
9
votes
4answers
2k views
Example of where Functional Programming is Superior to Imperative or Object-Oriented Programming? [duplicate]
Possible Duplicate:
Which problems domains are more suited to functional programming solutions
I've been reading about functional programming. I've been using mostly C#.net recently, and ...
10
votes
2answers
760 views
Is IronScheme complete enough or stable enough to be worth learning?
IronScheme is mentioned on Wikipedia as a successor to a failed project called IronLisp, bringing Lisp to CLR and .NET, the way Clojure does for the JVM. Does anyone have experience with this ...