M
Mark Tarver
lambdassociates.org · Personal blog · on HN since 2007
Mark Tarver, creator of the Qi and Shen Lisp languages, writes about Lisp, programmer psychology, open source, and British universities.
What HN saysHN commenters often cite his essay "The Bipolar Lisp Programmer", calling it brilliant for describing a familiar type of gifted but overreaching hacker.
88HN people shared it
52linked it in comments
45stories submitted
1.2Kstory points
5 years agolast shared
2007people per year2026
Most-shared posts
- 1The Bipolar Lisp Programmer31 people · 476 points · first shared 2007 · 86 comments on HN
- 2Why I am Not a Professor, or The Decline and Fall of the British University7 people · 341 points · first shared 2007 · 124 comments on HN
- 3All Programmers May Be Self Taught But The Best Are Also "Martial Artists"6 people · 53 points · first shared 2007 · 12 comments on HN
- 4The Problems of Open Source6 people · 24 points · first shared 2009 · 2 comments on HN
- 5Qi, arc competitor? Qi is lisp for 21st century.6 people · 8 points · first shared 2007 · 15 comments on HN
- 6The Next Lisp: Back to the Future3 people · 36 points · first shared 2009 · 13 comments on HN
- 7Functional Programming in Qi3 people · 34 points · first shared 2010 · 4 comments on HN
- 8Doc3 people · first shared 2010
- 9Shen 1.7, successor to Qi II, released2 people · 36 points · first shared 2011 · 9 comments on HN
- 10K Lambda and the Development of Qi2 people · 35 points · first shared 2010 · 2 comments on HN
- 11Lisp for the 21st Century2 people · 17 points · first shared 2007 · 15 comments on HN
- 12Qi: An interesting Lisp with pattern matching2 people · 9 points · first shared 2008 · 2 comments on HN
- 13Supporting Shen: an appeal2 people · 3 points · first shared 2010 · discussion on HN
- 14The Bipolar Lisp Programmer1 people · 38 points · first shared 2007 · 32 comments on HN
- 15There is no free software, only software that is paid for by somebody else.1 people · 24 points · first shared 2009 · 55 comments on HN
What HN people wrote when they linked it
fallintothis · 2007-07-01
Paul Graham has most of the work done for me: http://paulgraham.com/lisps.html
He has A, B, C, D, E, F, G, I, J, K, L, M, N, O, P, S, V, and X - though I certainly can name some dialects of the same letters which are not listed. Not going to really bother on that one, though.
This leaves H, Q, R, T, U, W, Y, and Z, of which I can supply Qi ( http://www.lambdassociates.org/ ) and T ( http://mumble.net/~jar/tproject/ ). Bringing the list of unnamed (for me) to:
H, R, U, W, Y, Z.
That's the best I can do. Anyone else?
mtrimpe · 2014-09-20
LightTable will continue on, but it seems to no longer be the main focus of Chris.
The curse I speak of is http://www.lambdassociates.org/blog/bipolar.htm Not that I'm implying Chris is bipolar at all but it's an apt description of the trap many great Lispers fall into.
meric · 2013-02-11
I suggest looking at Common Lisp for additional programming power.
May be relevant:
http://www.lambdassociates.org/blog/bipolar.htm
"He can see far; further than in fact his strength allows him to travel. He conceives of brilliant ambitious projects requiring great resources, and he embarks on them only to run out of steam. It's not that he's lazy; its just that his resources are insufficient.
And this is where Lisp comes in. Because Lisp, as a tool, is to the mind as the lever is to the arm. It amplifies your power and enables you to embark on projects beyond the scope of lesser languages like C.
Writing in C is like building a mosaic out of lentils using a tweezer and glue.
Lisp is like wielding an air gun with power and precision.
It opens out whole kingdoms shut to other programmers."
raganwald · 2012-09-12
Very true! Here is one of my personal favourite essays about how human problems affect hackers in particular:
http://www.lambdassociates.org/blog/bipolar.htm
wpietri · 2012-04-06
The linked article "The Bipolar Lisp Programmer" is brilliant: http://www.lambdassociates.org/blog/bipolar.htm
I don't know how correct it is about Lisp in specific, but he's definitely nailed a familiar type.
owlpic · 2011-09-23
Main page: http://www.lambdassociates.org/
The download page: http://www.lambdassociates.org/Download/download.htm
patricklynch · 2011-09-22
They're programming languages based on lisp.
The main site is here:
http://www.lambdassociates.org
The documentation is here:
http://www.lambdassociates.org/doc.htm
An interesting essay that relates to the project is here:
http://www.winestockwebdesign.com/Essays/Lisp_Curse.html
klipt · 2009-11-15
Since this point keeps on being brought up, here's a concrete example: Qi.
http://www.lambdassociates.org/
http://en.wikipedia.org/wiki/Qi_%28programming_language%29
kyle-burton · 2008-01-14
There is a Lisp extension? library? that supports strong typing, it's called Qi: http://www.lambdassociates.org/
striking · 2016-04-11
I can't give you statistical evidence, but it's well known (or often said, at least) that using the right tool for the job makes the odds of success a lot higher.
That being said, "right" is very different from pg's "powerful", especially as he says:
> Lisp is so great not because of some magic quality visible only to devotees, but because it is simply the most powerful language available.
In my opinion (and this person's[1]), Lisp is "powerful" in that it lets you express anything quickly and easily in a way that makes sense to you.
That doesn't mean it makes sense to anyone, nor does that mean it's compatible with anything else.
And where he says:
> What's less often understood is that there is a more general principle here: that if you have a choice of several languages, it is, all other things being equal, a mistake to program in anything but the most powerful one.
I feel he is sorely mistaken. The best programming language for the job is the one that most easily and quickly fits the requirements, given your experience level and the intrinsic attributes of the languages in question. That may be less true when you're working on a personal project rather than one for work... but from an engineering standpoint, development speed is very important.
PHP may be near-universally reviled as a language, but I won't contest the fact that it runs anywhere, quickly. If you needed to quickly put up a blog at least some time ago, the answer was almost always "use Wordpress and…
such_a_casual · 2016-01-28
>Either that, or you don't get to vote.
What? Graduating from school (highschool or university) is about learning how to follow directions and play the game. To say that a degree somehow guarantees that a person knows how to think critically is ludicrous.
But you're not even making such a modest claim, you're actually claiming that it is the only way to assure people can think critically (even though it's not even a valid way to begin with). Some of us can think critically as children. Do you honestly believe just because you couldn't think critically until you were an adult, that means that hundreds of millions of people that you've never met should be forced into the same fruitless, and arbitrary indoctrination you had to undergo to become adequate in your own eyes?
Are you aware of how absolutely stupid school seems to people who are really, really smart? http://www.lambdassociates.org/blog/bipolar.htm
makmanalp · 2014-02-27
I've read "beating the averages" about a billion times, along with all the other PG essays. I was (and still am) a fan. I took several classes using PLT scheme and I've used PLT scheme for a reasonable amount for other tasks (wasn't called racket then). I've also dabbled with some lisps. I've read the little schemer, I've went through the wizard book. I've written the obligatory metacircular evaluator. All this got me excited.
Over the years though, I've done my best to learn the lessons and move on.
Is it really a surprise that lisp, an aged tool of refined elegance, was a competitive advantage over the other popular languages in 1997, which were still in their neanderthal phase? I'm not sure if the difference is that huge these days though. While in the olden days languages seemingly refused to learn from the teachings of lisp, it seems today they steal from lisp like pop artists steal from each other. Say, a ruby DSL with blocks and other tricks is not as flexible as a defmacro based lisp one, but could there maybe be a tradeoff here?
Writing in lisps give me what I call the intellectual warm-fuzzies. I get to use many elegant tools to form abstractions upon abstractions to create the DSL for my problem domain. I like that. Some call it doing the Right Thing. The polar opposite of duct-tape programming if you will. A quote from the article: "to translate this program into C++ they literally had to write a Lisp interpreter [so basically a lisp-to-c++ compiler]". This is…
6d0debc071 · 2013-12-27
> What would make you pay to read this article?
I'd have to expect the article to be reasonably capable of surprising me with well researched, well formulated arguments that change how I think about the issue. I don't think a paper that provides such a promise exists.
Being in the position of not having read the article my only information on it is it's an opinion piece about education and it's in the WSJ.
So I don't expect it to be well researched, well formulated, or surprising. "Oh, well, it's an opinion" -well, look: opinions are cheap enough that excellent opinions on the subject, from very intelligent people, are just given away:
http://www.lambdassociates.org/blog/decline.htm
And I don't consider all opinions equal in the first place, there are various degrees of being informed, various degrees of bias.
I could write an opinion piece about how gutted I was to go to university and realise that by and large I'd already surpassed the curriculum in my own studies. How I went to university to be asked questions and go and find the answers, not to sit in a lecture hall listening to some toff read their powerpoint stack at us while we tried not to fall asleep. How even if you wanted to try something hard and new, (and could find something,) the fact is that university is competitive vs your other classmates, and if you try something hard and none of your classmates do - given that the courses will offer equal points (points only being given on time in the lectures and…
benatkin · 2013-08-05
> What I find sad, though, is that most people who dislike CoffeeScript don’t truly know it. They haven’t taken the time to really learn it, or even try it. Their reactions are usually knee-jerk, or based on fallacies.
This sounds a bit like the bi-polar LISP programmer. Belief that he groks things much better than most programmers grok things? Check. Belief that most people are behaving irrationally? Check. Belief that it's foolish to make an obvious choice? Check.
http://www.lambdassociates.org/blog/bipolar.htm
JavaScript is now a moving target. It's what the examples for new "HTML5" features and libraries are written in. It's what an open source library should be written in if you want it to get traction, and to attract other developers. While it may be a good choice for quickly modifying code on a single project, it isn't as good of a choice for something to get great in as JavaScript is.
There's the saying that you need to know JavaScript in order to write CoffeeScript, but you really only need to be able to read JavaScript in order to write CoffeeScript. My guess is that a lot of developers who mostly write CoffeeScript would trip over simple things for a while if they tried switching to JavaScript. This might keep them from seizing opportunities for JavaScript developers such as contributing to an existing JavaScript project or an open source library that's implemented in JavaScript.
joe_the_user · 2012-12-11
I'm interested in Lisp but haven't done much.
an elegant and intuitive standard library
Now that actually seems like one of the points of hesitation. Lisp is actually notorious for not having a lot of accessible libraries, to paraphrase "The Bipolar Lisp Programmer". http://www.lambdassociates.org/blog/bipolar.htm
I mean, Lisp may have managed to get a bare standard library after many, many years but the odds of you finding X algorithm implemented in Lisp on the web is, in my experience, low compared to c++, java or python.
Lisp sounds like perhaps the strongest possible tool to "hack your way through the wildness". One can do amazing things "right out of the box" (as your example show). Unfortunately, it also seems like it winds up mostly being only that, rather than being a tool for building large systems interfacing with many people and other systems (that might not be a bad thing but its worth mentioning if you mention libraries).
diwank · 2012-02-16
Hey Zack,
To put it simply, you rock. You know and understand programming a lot better than most people ever do in their lifetime. And to be honest, you are really better off than I am. Please don't underestimate yourself.
Being a script kiddie on Hacker News especially sucks. You see everybody bouncing around with their Phd’s in CS or engineering from Stanford or MIT talking about how there are so many people out there who are terrible programmers because they don’t know the difference between a linked list and a vector.
I know the feeling. It often gets at your nerves. But here's the thing, those people too were at some time in the past very much like you are right now. In fact, I know a lot of people who'd agree that it is really * what you do with your skills * that really matters.
The primary reason you feel like that is because, in essence, you are a hacker and not a computer scientist. Read pg's brilliant thoughts on this. (http://www.paulgraham.com/hp.html)
Confession: I have no idea what the difference is between a linked list and a vector. Well, before I wrote this I had no idea.
I didn't too. Big deal? :)
I looked it up so I know now in theory what the difference is.
See, that is the whole point of learning things. You always have to be ready to assimilate new things and look up the strange bits as you come across them. And you're doing a blimey good job at that.
I can glue things together as fast as the next guy.
An invaluable skill for two reasons:
-…
edw · 2011-03-25
The article is based on an entirely false assumption about the nature of lisp culture:
“So, I can’t find any self-poking jokes about lisp. Self-deprecating Unix jokes, no problem. Jokes about frigging text editors, hilarious. But lisp has nothing but theological proselytizing.”
Richard Gabriel’s “The Rise of ‘Worse is Better,’”[1] while written from the perspective of a lisp lover, informs the “Why is lisp a failure?” question. Mark Tarver’s “The Bipolar Lisp Programmer”[2] is another essay the ruminates on the failures of lisp. And of course there’s the recently-posted-on-HN “How I lost my faith”[3].
I’m struck by how personally lispers take the weaknesses of lisp. In part because I feel the same way, which isn’t surprising given that I'm a lisper—bicycles saved my body, Scheme saved my soul—and have a problem with taking failure very personally.
In conclusion, I don’t think the author knows what he’s talking about.
[1]: http://www.jwz.org/doc/worse-is-better.html
[2]: http://www.lambdassociates.org/blog/bipolar.htm
[3]: http://groups.google.com/group/comp.lang.lisp/msg/6f75cfb5a289d3f6
vorador · 2016-01-21
Somehow related: "The bipolar LISP programmer" (http://www.lambdassociates.org/blog/bipolar.htm).
chadzawistowski · 2015-05-05
Shen doesn't execute directly, it's compiled to K-lambda, a very small, simple, lisp-as-bytecode. K-lambda is very portable, and wherever K-lambda can run, so can Shen.
Details here: http://www.lambdassociates.org/blog/klambda.htm
hga · 2015-01-06
From the fine website http://www.shenlanguage.org/
Shen is a portable functional programming language that offers
pattern matching,
lambda calculus consistency,
macros,
optional lazy evaluation,
static type checking,
an integrated fully functional Prolog,
and an inbuilt compiler-compiler.
Among other things, it's an attempt to create a Lisp that incorporates some of the things you find in functional languages like Haskell.
Here's an essay, from an invited talk for the 2009 European Conference on Lisp, on the motivations to create Qi and then Shen: http://www.lambdassociates.org/blog/nextlisp(1).htm
doall · 2014-09-24
Shen's powerful T* type system using sequent calculus which is turing complete is revolutionary.
Also, Shen's approach doesn't have a huge performance hit.
See benchmarks for Qi implemented in SBCL. http://www.lambdassociates.org/studies/study10.htm
erbn93 · 2013-12-28
Shen (http://shenlanguage.org/ or http://www.lambdassociates.org/Book/contents.htm) has a haskell feel to it and has macros. Thought things like haskell typeclasses are not available by default in the language, they can be constucted using what is already available (http://programmingkungfuqi.blogspot.co.uk/2007/08/haskell-like-type-cl…
enupten · 2013-10-26
This reminds me of course of the Bipolar Lisp programmer :)
http://www.lambdassociates.org/blog/bipolar.htm
jdc · 2012-11-10
You more or less just described Kernel Lisp - http://www.lambdassociates.org/blog/nextlisp(3).htm.
S4M · 2012-11-08
http://www.lambdassociates.org/blog/hackers.htm
Mark Tarver compares "street programmers" (people like the OP before he started to take some CS courses) and people who focus in Computer Science without practical (industrial) coding.
autodidakto · 2012-08-08
Relevant and required lisp reading:
http://www.lambdassociates.org/blog/bipolar.htm
zackzackzack · 2012-04-11
Same here. I would argue that most of their songs that I like have a certain melancholy to them. They invoke a mood that is like the feeling I get after reading the bipolar lisp programmer:
http://www.lambdassociates.org/blog/bipolar.htm
sandGorgon · 2012-02-14
I wonder what happened to Shen (http://www.lambdassociates.org/Shen/newappeal.htm). From the blurb,
This function set defined a Lisp that was much smaller than Common Lisp, in fact, much more like John McCarthy's Lisp 1.5 which is the distant ancestor of all subsequent Lisps.... I went further and suggested that this small Lisp could probably be mapped into many of the Lisp-like successors to Lisp like Python, Clojure and Javascript. This meant that because Qi was bootstrapped, these mappings could be used port Qi into other platforms"
Actually come to think of it, what ever happened to clojure-in-clojure [1] - that would have made implementing clojure on top of any VM, relatively trivial
[1] http://blog.n01se.net/?p=41
TimboMac · 2011-12-22
Funny that http://www.lambdassociates.org/blog/decline.htm should be on the front page at the same time.
tvorryn · 2011-12-21
This essay seems quite relevant: http://www.lambdassociates.org/blog/hackers.htm
It compares self-taught and college taught programmers to street fighters and martial artists.