Pages tagged lisp:

How to Pick a Language
http://web.mac.com/jimbokun/iWeb/Site/Blog/AB35C167-7755-4113-938C-968F65256D76.html

Interesting article about how to pick a language
computer programming langugage
Art and code - obscure or beautiful code? | JAOO Community Blog
http://blog.jaoo.dk/2008/11/21/art-and-code-obscure-or-beautiful-code/
Through the ages a lot of interesting (and some obscure) programming languages have entertained and confused people. At JAOO Aarhus 2008 Guy L. Steele and
Through the ages a lot of interesting (and some obscure) programming languages have entertained and confused people. At JAOO Aarhus 2008 Guy L. Steele and Richard P. Gabriel gave a presentation about languages and language constructs in a presentation that is a work of art in itself.
Structure and Interpretation of Computer Programs
http://www-mitpress.mit.edu/sicp/full-text/book/book.html
Emacs ビギナーに贈る、これからバリバリ使い隊!!人のための設定講座 その1。 - 日々、とんは語る。
http://d.hatena.ne.jp/tomoya/20090121/1232536106
Bill Clementson's Blog: Understanding SLIME (Using Emacs and Lisp Cooperatively)
http://bc.tech.coop/blog/081209.html
Using Emacs and Lisp Cooperatively. A post from Bill Clementson's Blog.
Programming Textbooks
http://t3x.org/books/
Object Computing, Inc. — Java News Brief — March 2009
http://ociweb.com/jnb/jnbMar2009.html
Clojure is a LISP implementation for the Java Virtual Machine.
"The goal of this article is to provide a fairly comprehensive introduction to the Clojure programming language."
How to Design Programs, Second Edition
http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html
Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies.
great book
PLOT: Table of Contents
http://users.rcn.com/david-moon/PLOT/
“Programming Language for Old Timers (PLOT) is a new dialect of Lisp designed by Dave Moon in February 2006, and thoroughly revised and simplified November 2007 and March 2008. I have been developing PLOT as a hobby, with the idea of for once having a programming language which does everything the right way. You know it is right when both simplicity and power are maximized, while at the same time confusion and the need for kludges are minimized.”
A LISP-style programming language by David A. Moon.
Notable features: - structural macros
Abstract Heresies: Not Lisp again....
http://funcall.blogspot.com/2009/03/not-lisp-again.html
“In this course we will be using the programming language Lisp...” Argh! Not that again! What is it with Lisp? Ok, maybe at Harvard they do that sort of thing, but this was MIT! Don't they hack computers here?
“If you already know how to program, you may be at a disadvantage because you will have to unlearn some bad habits.”
interesting account of someone's first taste of lisp
cs252r Record
http://www.eecs.harvard.edu/~govereau/cs252r/
Advanced Functional Programming - Fall 2006
These pages are a record of the in-class discussions for the graduate class "Advanced Functional Programming" given at Harvard University in the Fall of 2006.
Nimrod Programming Language
http://force7.de/nimrod/
This page is about the Nimrod programming language, which combines Lisp's power with Python's readability and C's performance.
Nimrod Programming Language - efficient, expressive, elegant, statically typed, imperative, procedural, object-oriented, functional and generic
Nimrod is a new statically typed, imperative programming language, that supports procedural, object oriented, functional and generic programming styles while remaining simple and efficient. A special feature that Nimrod inherited from Lisp is that Nimrod's abstract syntax tree (AST) is part of the specification - this allows a powerful macro system which allows domain specific languages. Nimrod is a compiled, garbage-collected systems programming language which has an excellent productivity/performance ratio. Nimrod's design focuses on the 3E: efficiency, expressiveness, elegance (in the order of priority)...
Nimrod is a new statically typed, imperative programming language, that supports procedural, object oriented, functional and generic programming styles while remaining simple and efficient. A special feature that Nimrod inherited from Lisp is that Nimrod's abstract syntax tree (AST) is part of the specification - this allows a powerful macro system which allows domain specific languages.
Object Computing, Inc. - Java News Brief - March 2009
http://java.ociweb.com/mark/clojure/article.html
Clojure - Functional Programming for the JVM
Matt Sears | 20 Clojure Links To Get You Up To Speed
http://mattsears.com/2009/6/6/20-clojure-links-to-get-you-up-to-speed
Clojure is a functional programming language for the Java Virtual Machine with several powerful features for building concurrent applications. In addition, Clojure is fast, robust, and a powerful general-purpose programming language. A dialect of Lisp, Clojure embraces traditional code-as-data philosophy and a powerful macro system, plus some syntactic sugar tailored to Java.
YouTube - Broadcast Yourself.
http://www.youtube.com/view_play_list?p=AC43CFB134E85266
Presents the big ideas in Clojure, a new dialect of Lisp. Assumes basic knowledge of Java but not Lisp.
jlongster - Writing apps for the iPhone in Scheme
http://jlongster.com/blog/2009/06/17/write-apps-iphone-scheme/
Simply Scheme: Introducing Computer Science
http://www.cs.berkeley.edu/~bh/ss-toc2.html
book
in which are found tricks of the trade concerning clojure authorship - Technomancy
http://technomancy.us/126
The Scheme Programming Language, 4th Edition
http://www.scheme.com/tspl4/
my evolution as a programmer
http://lists.canonical.org/pipermail/kragen-tol/2007-March/000849.html
I was reading an article on "Lambda the Ultimate" about Bruce Mills's book "A Theoretical Introduction to Programming," and in particular about the difference between "menu-lookup" writing of glue code, and "real programming", which the author defines as "to increase the computational capacity, to begin with a set of operations, and develop them into new operations that were not obviously implicit in the original set."
A really nice and introspective peek into Kragen's development as a programmer. Lots of nice insights.
NP Contemplation: Clojure: Genetic Mona Lisa problem in 250 beautiful lines
http://npcontemplation.blogspot.com/2009/01/clojure-genetic-mona-lisa-problem-in.html
Clojure is surrounded by hype these days. The word on the streets is that Clojure is the Next Big Thing. It has access to the largest library of code and it proposes a nice solution the to the concurrency problem. Lots more has been said... But I haven't seen a lot of code. So I set out to make a small but meaningful program in Clojure to get a sense of it's potential. I give Clojure two thumbs up, and I think you'll do too. The Mona Lisa Problem The program I present tries to paint Mona Lisa with a small number of semi-transparent colored polygons. It does so by using Darwin's theory of evolution to evolve programs that draw Mona Lisa.
The (clojure) program I present tries to paint Mona Lisa with a small number of semi-transparent colored polygons. It does so by using Darwin's theory of evolution to evolve programs that draw Mona Lisa.
Relevance Blog : Rifle-Oriented Programming with Clojure
http://blog.thinkrelevance.com/2009/8/12/rifle-oriented-programming-with-clojure-2
An article describing the basic syntax of clojure
In this article, you will see some of the ways that Clojure addresses the key concerns of OO: encapsulation, polymorphism, and inheritance.
An Introduction to Lambda Calculus and Scheme
http://www.jetcafe.org/jim/lambda.html
A function accepts input and produces an output. Suppose we have a "chocolate-covering" function that produces the following outputs for the corresponding inputs: peanuts -> chocolate-covered peanuts rasins -> chocolate-covered rasins ants -> chocolate-covered ants We can use Lambda-calculus to describe such a function: Lx.chocolate-covered x This is called a lambda-expression. (Here the "L" is supposed to be a lowercase Greek "lambda" character). If we want to apply the function to an argument, we use the following syntax: Functions can also be the result of applying a lambda-expression, as with this "covering function maker": Ly.Lx.y-covered x We can use this to create a caramel-covering function: (Ly.Lx.y-covered x)caramel -> Lx.caramel-covered x (Lx.caramel-covered x)peanuts -> caramel-covered peanuts Functions can also be the inputs to other functions, as with this "apply-to-ants" function: Lf.(f)ants
AIMA Python file: utils.py
http://aima.cs.berkeley.edu/python/utils.html
Norvig
Simply Scheme: Introducing Computer Science
http://www.eecs.berkeley.edu/~bh/ss-toc2.html
@mobilebooks Simply Scheme: Introducing Computer Science http://url4.eu/dPaG [from http://twitter.com/sbepstein/statuses/4986924979]
SICP in Clojure
http://sicpinclojure.com/
This site exists to make it easier to use Clojure rather than Scheme while working through SICP.
This site exists to make it easier to use Clojure rather than Scheme while working through SICP. The folks behind SICP were kind enough to release it under a Creative Commons Attribution-Noncommercial 3.0 Unported License, which will allow me to annotate the text and adapt its source code and exercises to fit the Clojure language.
Functional Geometry
http://www.frank-buss.de/lisp/functional.html
Nice bit of drawing code.
関数プログラミングで扱う幾何学について。
Why MIT switched from Scheme to Python | Wisdom and Wonder
http://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-to-python
* Why MIT switched from Scheme to Python
http://intensivesystems.net/tutorials/monads_101.html
http://intensivesystems.net/tutorials/monads_101.html
ちょっと変わったLisp入門 - @IT
http://www.atmarkit.co.jp/fcoding/articles/gauche/01/gauche01a.html
slime -- wingolog
http://wingolog.org/archives/2006/01/02/slime
Hello Haskell, Goodbye Lisp - Lost in Technopolis
http://www.newartisans.com/2009/03/hello-haskell-goodbye-lisp.html
Comparison of the LISP and HASKELL (functional) languages
Interesting read on some programming languages I hadn't heard of until today, they are still very useful apparently
software - xml - s-exp vs XML | cat -v harmful stuff
http://harmful.cat-v.org/software/xml/s-exp_vs_XML
Erik Naggum on XML
"Robbery is not just another way of making a living, rape is not just another way of satisfying basic human needs, torture is not just another way of interrogation. And XML is not just another way of writing S-exps. "
Paul Stadig: Clojure + Terracotta = Yeah, Baby!
http://paul.stadig.name/2009/02/clojure-terracotta-yeah-baby.html
"These two seem like an interesting combination. Imagine the possibilities...kill your database, simple POJO applications, free distributed transactions, clustered JVMs with limitless memory...it would make your hair would grow back, you'd get women, and become filthy rich...well...maybe not, but at least you'd have more fun writing software." -- Paul Stadig
How I finally understood the Y Combinator (and blew my damn mind) « noeit
http://noeit.wordpress.com/2009/04/28/how-i-finally-understood-the-y-combinator-and-blew-my-damn-mind/
What Pythonistas Think of Ruby | Free PeepCode Blog
http://blog.peepcode.com/tutorials/2010/what-pythonistas-think-of-ruby
The very things I find ugly in Ruby are what make amazing Ruby software like RSpec possible, and that Python could never have (given the current implementation). Gary Bernhardt I think Ruby's syntax is ugly until they do something glorious and beautiful with it like Rake, then I think "damn it!" Unidentified Attendee
Hacker News | How I Hacked Hacker News (with arc security advisory)
http://news.ycombinator.com/item?id=639976
How I Hacked Hacker News (with arc security advisory)
Urbantastic - Tech Tuesday: The Fiddly Bits
http://blog.urbantastic.com/post/81336210/tech-tuesday-the-fiddly-bits
# My own setup.
An architectural approach that uses mostly static HTML and JSON, powered by CouchDB.
In my last post I promised to talk a little about the technology that underlies Urbantastic. It’s not the usual suspects, so it’s worth some explanation.
Annotated link http://www.diigo.com/bookmark/http%3A%2F%2Fblog.urbantastic.com%2Fpost%2F81336210%2Ftech-tuesday-the-fiddly-bits
Splitting static and dynamic data, moving the synthesis of the two to the client with javascript.
ejacs - Google Code
http://code.google.com/p/ejacs/
Ejacs is an Ecma-262 compliant JavaScript interpreter written entirely in Emacs Lisp. It should work in GNU Emacs versions 22 and higher.
Ejacs is an Ecma-262 compliant JavaScript interpreter written entirely in Emacs Lisp
JavaScript in emacs
ELispで書かれたEcma-262 インタプリタ。Emacs22以降で動くらしい
emacsでjsインタプリタ。alertとかDocument.writeとかが使えないから微妙
Clojure performance tips « Occasionally sane
http://gnuvince.wordpress.com/2009/05/11/clojure-performance-tips/
netzhansa: Trying Clojure...
http://netzhansa.blogspot.com/2008/10/trying-clojure.html
XML example
Shows good examples of XML and HTTP processing in Clojure
Zach's Journal - RIP, Erik Naggum
http://xach.livejournal.com/221433.html
Incl. list of bookmarks to "Best of Naggum" usenet articles
Some essays, flames and other stuff by Erik Naggum
Abstract Heresies: You knew I'd say something.
http://funcall.blogspot.com/2009/04/you-knew-id-say-something.html
An exhaustive exploration of recursion, tail calls and TCO
2009-04-09 - きしだのはてな
http://d.hatena.ne.jp/nowokay/20090409#1239268405
メタ役立ちそう
後者関数のラムダ式に書き間違いがある気がする。 succ = λx.λf.λx.f(n f x) => succ = λn.λf.λx.f(n f x) だと思うんだけど、どうなんだろう…。
Dan Weinreb’s blog » Blog Archive » Why Did M.I.T. Switch from Scheme to Python?
http://danweinreb.org/blog/why-did-mit-switch-from-scheme-to-python
Why Did M.I.T. Switch from Scheme to Python?
The freshman software engineering course (...) is now nearly thirty years old. Engineering has changed quite a lot in thirty years. Since 1995, Gerry and his co-author Prof. Hal Abelson have advocated changing the freshman curriculum radically, not basing it on SICP. In 1980, computer engineering was based on starting with clearly-defined things (primitives or small programs) and using them to build larger things that ended up being clearly-defined. Composition of these fragments was the name of the game. However, nowadays, a real engineer is given a big software library, with a 300-page manual that’s full of errors. He’s also given a robot, whose exact behavior is extremely hard to characterize (what happens when a wheel slips?).
"In 1980, computer engineering was based on starting with clearly-defined things (primitives or small programs) and using them to build larger things that ended up being clearly-defined. Composition of these fragments was the name of the game... Nowadays, a real engineer is given a big software library, with a 300-page manual that’s full of errors. He’s also given a robot, whose exact behavior is extremely hard to characterize (what happens when a wheel slips?). The engineer must learn to perform scientific experiments to find out how the software and hardware actually work, at least enough to accomplish the job at hand. We may not like it this way (”because we’re old fogies”), but that’s the way it is..."
Dan Weinreb’s blog » Blog Archive » Why Did M.I.T. Switch from Scheme to Python?
Some explanation of why MIT switched from Scheme to Python.
Ctrl+中指か薬指を使うキー操作が多いEmacsで指の負担を軽くする方法 - ’(rubikitch wanna be (a . lisper))
http://d.hatena.ne.jp/rubikitch/20081104/1225745862
To use JK to scroll.
briancarper.net :: Clojure 1, PHP 0
http://briancarper.net/blog/clojure-1-php-0
Annotated link http://www.diigo.com/bookmark/http%3A%2F%2Fbriancarper.net%2Fblog%2Fclojure-1-php-0
Building your own blog in clojure.
Relevance Blog : Java.next: Common Ground
http://blog.thinkrelevance.com/2008/8/4/java-next-common-ground
I have chosen four languages which together represent "Java.next": Clojure, Groovy, JRuby, and Scala. Notes on Functional programming
Annotated link http://www.diigo.com/bookmark/http%3A%2F%2Fblog.thinkrelevance.com%2F2008%2F8%2F4%2Fjava-next-common-ground
This sentence from the article says much: "In my experience, this style of coding tends to reduce the size of a codebase by an order of magnitude, while improving readability." Example from article: "...do not have to code defensively, using a slew of factories, patterns,...you can build a minimal solution and evolve it."
"Many people are looking for the "next big language." The next big language is already here, but it isn't a single language. It is the collection of ideas above (plus probably some I missed) as manifested in Java.next. -- Does the transition to Java.next deserve the name "big"? Absolutely. In my experience, the move from Java to Java.next is every bit as big as the previous tectonic shifts in the industry, both in learning curve and in productivity advantages once you make the transition."
Hyperpolyglot: Lisp: Common Lisp, Scheme, Clojure, Emacs Lisp
http://hyperpolyglot.wikidot.com/lisp
Lisp Dialects 比較
Racket
http://racket-lang.org/
Formerly PLT/Dr Scheme
With Racket, you can script command shells and web servers; you can quickly prototype animations and complex GUIs; regexps and threads are here to serve you. To organize your systems, you can mix and match classes, modules or components. Best of all, you start without writing down types.
7 lines of code, 3 minutes: Implement a programming language
http://matt.might.net/articles/implementing-a-programming-language/
Implementing a programming language is an experience no programmer should go without; the process fosters a deep understanding of computation, and beside that, it's fun!
!
Writing a new programming Language
Hacker News | Here's a very quick dump of some things waiting to be read/digested/whatever in ...
http://news.ycombinator.com/item?id=1033503
Assorted Clojure Resources from Hacker News