Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-8081-

s-expressions considered harmful

Name: Lisp is unreadable!!1 2011-07-25 21:31

Name: Anonymous 2011-07-25 21:58

IHBT, SH.

Name: Anonymous 2011-07-25 22:07

Name: Anonymous 2011-07-25 22:17

Lisp should be written in XML instead.

Name: Anonymous 2011-07-25 22:18

syntax is for pussies.

Name: Anonymous 2011-07-25 22:18

>>5
fuck you lithpfag

Name: Anonymous 2011-07-25 22:20

syntax is immaterial and gets in the way of homoiconicity.

Name: Anonymous 2011-07-25 22:27

Lisp is for guys who know what's what. It's pretty obvious that most programmers are not those guys.

Name: Anonymous 2011-07-25 23:01

{{1 * 2} + {3 / 4}}.
His notation is ugly crap.

Name: Anonymous 2011-07-25 23:11


(+ (* 1 2) (/ 3 4))

looks fine to me. It doesn't take long to get used to.

Name: Anonymous 2011-07-25 23:21

programmers who think Lisp is unreadable are the kind of programmers who write:

(define (dot a b)
  (+ (* (car a) (car b))
     (+ (* (cadr a) (cadr b))
        (* (caddr a) (caddr b)))))

instead of

(define (dot a b)
  (apply + (map * a b)))

and then whine and cry about how unreadable their shitty code is.

Name: Anonymous 2011-07-25 23:37

>>11
map is too slow when you want to dot billion of vectors.

Name: Anonymous 2011-07-25 23:49

>>12
so you write it in C after profiling it.
if you aren't using Chicken Scheme, you're missing out.

Name: Anonymous 2011-07-26 0:52

>>13
C/C++ is crap.
I better write it in assembly.

Name: Anonymous 2011-07-26 1:35

Python is crap.
I better write it in Fjölnir.

Name: Anonymous 2011-07-26 2:28

Terrible!

Name: Anonymous 2011-07-26 3:23

Aspheric fiancee butterfat repulsion hardbake Kirchner frock Priscilla is guy.

Name: Anonymous 2011-07-26 3:27

>>2
Los abandon Hinman Neumann flight kombu Wyman?

Name: Anonymous 2011-07-26 3:30

>>11
Dispelled Holland Meyer angle!

Name: Anonymous 2011-07-26 3:35

Elizabeth newel Gaspee embarrass seamstress. O'Donnell ripple Oswald!

Name: Anonymous 2011-07-26 3:39

Steeple viscometer momentous servant coneflower. Wreckage contentious Sofia? Anarchic Tirana mourn acetic!

Name: Anonymous 2011-07-26 4:52

>>12
(foldl (lambda (x y r) (+ (* x y) r)) a b)

Name: Anonymous 2011-07-26 7:30

>>11,22
Still unreadable.

Name: Anonymous 2011-07-26 7:33

Mathematically speaking, a language with a proper syntax can parse to valid Lisp and the other way around.  Insisting on solely using something that should be parser output, not input, is a mark of stupidity.

Name: Anonymous 2011-07-26 8:54

>>23
Yeah, well, that's just, like, your opinion, man.

Name: Anonymous 2011-07-26 8:58

>>25
back to /retard/ please

Name: Anonymous 2011-07-26 11:03

>>1
His 'retorts' are quite retarded, every retort could be summed up as "Wrong! Lisps notation is ugly!" while not giving any real proof that it is ugly and not just unusual.

Name: Anonymous 2011-07-26 11:28

If Lisp was really unreadable, slow, harmful, old and busted then why do Lispers exist, why do newer programming languages (and C++, and Java) take features from it, why are Scheme/CL implementations actively developed, and why do new pseudo-Lisps pop out of nowhere (note: this is bad)?

Name: Anonymous 2011-07-26 12:19

>>28
Why do mentally handicapped people exist?

Name: Anonymous 2011-07-26 12:26

>>24
so it's a mark of stupidity to prefer s-expressions to bonerlang syntax?

Name: Anonymous 2011-07-26 12:32

>>29
On the internet, mostly because of ad hominem attacks like yours.

Name: Anonymous 2011-07-26 12:48

>>28
If Lisp was really unreadable, slow, harmful, old and busted then [..] why do newer programming languages (and C++, and Java) take features from it?
If rain is unpleasantly wet then why do people use umbrellas?

Name: Anonymous 2011-07-26 13:08

S-expressions are clearly superior to XML. Anyone who thinks otherwise is being silly.

Name: Anonymous 2011-07-26 14:48

>>33
Closing tags make code more readable. Prove me wrong.

Name: Anonymous 2011-07-26 14:56

>>34
noise is not the same as readability

closing tags are only useful if they're really far apart, as in text markup. XML is rarely used for text markup. Usually the tags end very close to where they begin.

In the case that they are far apart, comments can be used. Forcing comments is a bad idea.

Indentation is more important anyway. It gets the same thing across without adding noise.

Name: Anonymous 2011-07-26 15:07

>>34
<list><symbol name="they"/><symbol name="are"/><symbol name="not/></list>
'(they are not)

Name: Anonymous 2011-07-26 15:31

>>28
Why do homosexuals exist?

Name: Anonymous 2011-07-26 19:22

>>35
XML is designed as a data interchange format:
1. to markup data in a hierarchical structure
2. that is potentially human readable and changeable
3. that is platform and architecture neutral
4. that is easily parsed in software

S-exp was deemed not quite suitable for point 2, otherwise people would have designed a S-exp language as an interchange format at the time XML was designed. The designers of XML were inspired by the existing SGML standard as it achieved most of their objectives.

>>37
Men weren't given a strong, consistent and positive male role model in their childhood and women became frustrated with their interactions with men at various stages of their life.

Name: Anonymous 2011-07-26 19:40

>>38
Men weren't given a strong, consistent and positive male role model in their childhood and women became frustrated with their interactions with men at various stages of their life.
Agreed. That is why Islam countries don't have homosexuals. It's the degradation of the western word, that spawns them. Greeks and Romans had similiar experience, before their demise.

Name: Anonymous 2011-07-26 20:01

>>39
You better believe that Islamic countries have homosexuals, they just happen to be repressed by their culture. It appears that there are movements to remove the stigma against homosexuality in their nations.

Also, you'll find the Hasidic Jewish community and Amish Pennsylvanian community are two social communities with the low occurrence of gay men. Apparently, the fathers here provide a proper masculine role model for their sons.

Name: Anonymous 2011-07-26 20:54

>>38
both of those are wrong.

XML is mostly vestigial structures from markup standards.
And homosexuality is the result of hormone imbalances in the womb.

Name: Anonymous 2011-07-26 21:28

XML is mostly vestigial structures from markup standards.
Yes. It was inspired by SGML. Tell me the reason why they did that.

Name: Anonymous 2011-07-26 21:30

>>22

in py7lisp6:

def dot(a, b):
  foldl:
    lambda (x, y, r):
      +:
        *:
          x
          y
        r
    a
    b


deal with it B)

Name: Anonymous 2011-07-26 21:40

>>42
for people used to html.
these were like the people in the early 20th century who wanted faster horses, except automobiles had been invented decades ago and forgotten about because of AI winter.

Name: Anonymous 2011-07-26 21:41

>>43
SO MUCH MORE READABLE
MY EYES ARE HAVING AN ORGASM

Name: Anonymous 2011-07-26 21:45

>>43
That's somehow worse than all the Lisp versions.

Name: Anonymous 2011-07-26 21:54

>>44
That's not what the designers said. I guess you don't know.

Name: Anonymous 2011-07-26 22:52

>>47
The XML designers were fools. Why should I care what they have to say?

Name: Anonymous 2011-07-27 6:09

>>48
They rule the Earth.

Name: Anonymous 2011-07-31 19:23

http://richardkulisz.blogspot.com/2011/07/what-are-lambdas.html

If you losers wanted to avoid explaining what lambdas are, couldn't you have named them oh I don't know 'meta-function'? None of you losers seem able to grasp things for WHAT THEY ARE. How long did it take to rename CAR and CDR as head and tail or CONS cell to Association?

It's like you stare at a plane and think "shiny metal thing with two giant outflying struts each with underslung fast-spinning rotors attached". Fucking autistics, ought all be shot. Or at least get declared as second-class citizens.
This guy must be an EXPERT /PROG/RIDER

Name: Anonymous 2011-07-31 19:28

>>50
So, an entire post to say nothing?

Name: Anonymous 2011-07-31 19:38

>>50
He seems upset that he isn't being spoonfed explanations that most of us take for granted.

Name: Anonymous 2011-07-31 19:54

>>50
When you finally realize what they are, it's just beautiful. Lambdas are "the meta-relation 'relation'". Everything is a relation in functional programming, and lambdas are the meta-relation.
If you losers wanted to avoid explaining what lambdas are, couldn't you have named them oh I don't know 'meta-function'?
Lambdas are unavoidably meta. Their meta-ness stares you in the face when you know what lambdas are, because meta-ness is ALL they are.

There's nothing ``meta'' about lambdas. They're the same as any other function, except that they don't have a name. That's all a lambda is. Would this guy say that (lambda (x) (+ x 1)) is a ``meta-function''? Maybe I don't understand what he's trying to say, but it sounds like he's confusing them with higher-order functions or something.

Name: Anonymous 2011-07-31 20:02

>>53
I'm sure it's something like Ruby rockstars or something. If it doesn't contain at least three ``meta'', it is not cool.

Name: Anonymous 2011-07-31 21:39

Name: Anonymous 2011-08-01 3:42

>>55
Yeah, I've been reading through his blog posts.  Makes me wish I was into psychology.

http://richardkulisz.blogspot.com/2011/04/why-software-is-stupidly-slow.html
Nevermind that it is dysfunctional and fucking harmful
[m]unscientific and ultimately destructive

http://richardkulisz.blogspot.com/2010/12/why-linux-is-decrepit-donkey-crap.html

Name: Anonymous 2011-08-01 7:04

>>53 Haha, he replied to you in his blog!

You need a dictionary. No, you need a better brain if you think I'm using words exclusively as they're used by programmers.
YHBT SO HARD MY SON.

Name: Anonymous 2011-08-01 9:06

>>56
Makes me wish I was into psychology.
I recommend Spent as a gentle introduction into evolutionary psychology. I disagree with a lot of the analysis in the book now that I've learned more of the subject, but that doesn't stop the book being useful for what it is. http://www.amazon.com/Spent-Sex-Evolution-Consumer-Behavior/dp/0670020621

I'm also surprised that can I agree with many of the Mr Dick's objections. However, I still cannot ignore that his attitude is distracting.

Name: Anonymous 2011-08-01 9:41

>>58
Ditto. He often contradicts himself too: ``I want a Smalltalk OS'', ``Smalltalk is a failure as an OS''.

Name: Anonymous 2011-08-01 11:11

>>50
I agreed with him at one point.
Lambda can be utterly important, and giving it a special syntax is in some ways just fine.
But lambda can be built from smaller things, depending on the semantics of the language... CL and Scheme use it as a basic building block, but other Lisps could conceivably not.

Name: Anonymous 2011-08-01 12:04

lambda can easily be defined in terms of cons, SICP does it.

Name: Anonymous 2011-08-01 12:06

>>61
Nope, other way around.

Name: Anonymous 2011-08-01 12:30

>>60
Lambda can be utterly important, and giving it a special syntax is in some ways just fine.
What "special syntax" are you talking about, retard? In pure lambda calculus there's nothing except lambdas, idiot! It's what you might want to add later, all these lets and defines, are "special syntax", imbecile! Except not really so special, given that "let x y z" is equivalent to "lambda x z y" for example, moron!

IHBT by deranged autismal assburgers who don't know shit about shit but are convinced that their condition has a side effect of making them clever, again :(

Name: Anonymous 2011-08-01 13:42

>2011
>Still using Lisp
-_-

Name: Anonymous 2011-08-02 7:28

>>63
special syntax as opposed to no syntax, ie as opposed to s-expressions like (lambda (x) (+ 1 x))

because it is not ever terribly useful to abstract past "lambda", it might as well have syntax. Macros over lambda tend to just be sugar to avoid typing "lambda" anyway.

Name: Anonymous 2011-08-02 7:31

>>64
Back to /b/, please.

Name: Anonymous 2011-08-02 8:08

>>65
S-Expressions do have syntax. Look at ', the quote operator, for instance.

Name: Anonymous 2011-08-02 8:46

>>66
nice dubz /b/ro

Name: Anonymous 2011-08-02 8:50

>>67
' is a special syntax used in Lisps, it has nothing to do with plain S-Expressions.
They do have a syntax, it's:
sexp ::= '(' sexp* [ sexp ' . ' sexp ] ')' | datum
datum ::= symbol | string | number | char | ...

Name: Anonymous 2011-08-02 9:06

>>67
there are bits of syntax in Lisps here and there, but they are for highly universal things like quote. And that's just it: it seems to me like lambda could do with the same treatment.

Name: Anonymous 2011-08-02 9:15

>>70
No, because the special syntax is used mostly for quotations, the rest for comments:
'x (quote x)
`x (quasiquote x)
,x (unquote x)
,@x (unquote-splicing x)
#'f (function f)
in CL, (syntax f) in Scheme with syntax-case, (var f) in Clojure.
#`x (quasisyntax x)
#,x (unsyntax x)
#,@x (unsyntax-splicing x)


lambda is more than a trivial quotation, in terms of syntax.

Name: Anonymous 2011-08-02 11:53

As a died in the wool Haskeller I wish Haskell had Lisp syntax. It's just easier to edit/easier to manipulate, more regular, more predictable (and therefore easier to read), easier to extend with seamless macros. The only thing I don't quite like about it compared to Haskell is that in Lisp syntax one tends to have a harder time keeping expressions within 80 columns.

Name: Anonymous 2011-08-02 11:56

>>71
Modern lisps go with fn. Schemes let you use λ. lambda is about as annoying as JavaScript's function. I prefer fn.

Name: Anonymous 2011-08-02 11:58

>>72
I meant dyed. But died in the wool conjures up interesting images, so I'll leave it in.

Name: Anonymous 2011-08-02 12:13

>>73
Clojure also has a nice #(+ 10 %) shortcut.

Name: Anonymous 2011-08-02 12:18

>>72
Qi.

Name: Anonymous 2011-08-02 12:33

>>73
I only use λ for short procedures (i.e., (λ (x) (+ x 1))), lambda for the rest:

(with-anus
 (λ () ; too much wasted space
  ...1
  ...2))
(with-anus
 (λ () ...1 ; too much indentation, looks ugly.
       ...2))
(with-anus
 (lambda () ; ok for me.
  ...1
  ...2))


I prefer lambda/λ, because it's more likely to use fn/fun/proc than λ as variable name.

>>75
SRFI-26 does it without the need of some special syntax.

Name: Anonymous 2011-08-02 13:42

>>77
cut is a keystrokes bloated ill-designed shit.

1) It uses TWO chars <> instead of ONE % and THREE cut instead of ONE again #. It's not forgivable for a mechanism the sole purpose of which is to safe typing.

2) It doesn't support permutation or duplications of arguments. In Clojure you can do #(hax %2 % % %3), with SRFI-26 (cut hax <> <> <>) means (lambda (x y z) (hax x y z)) and you can't do anything else with it.

Conclusion: SRFI-26 is shit.

Name: Anonymous 2011-08-02 14:59

>>78
That's why nobody uses it: use λ. If you need something more than what cut can do, you should probably use lambda directly. Hell, what is this, Perl?

Name: Anonymous 2011-08-03 5:31

Name: JOEL ON LISP 2011-08-03 5:45

Name: Anonymous 2011-08-03 5:54

>>80
You can easily do this is Ruby: let's extent build in Range class and make it OO
What if I hate OOP?

Name: Anonymous 2011-08-03 5:54

>>80
Ruby...

Ruby is:
- when OOP replaces common sense;
- when people write "begin end begin begin end end..." instead of code;
- when program is so slow, that you can have a tea party, while it multiplies two 10x10 matrices;
- when code like 12.5.integer? or 3.times {puts "Ruby rocks!"} considered beautiful.

Name: Anonymous 2011-08-03 5:56


# This is a block. It can be passed to a function like so `function your-block' and is called within that function with `yield your-bar'
{|bar| bar.foo}

# This is a proc. It is called like so `your-proc.call' and it can be assigned to a variable or passed to a function directly.
proc {|bar| bar.foo}

# This is almost the same as a proc.
lambda {|bar| bar.foo}

# This is a method. It is called like so `foobar.baz your-bar' and it can't be passed to a function directly.
def baz(bar)
  bar.foo      
end

Such is the elegance of ruby.

Name: Anonymous 2011-08-03 6:19

>>80
I think they keep forgetting that Lisp is written in Lisp on top of a bunch of primitives: all the CLOS systems, the Prometheus prototype OO system, Racket's class system, all the other OO systems, loop, iterate, foof-loop, Shivers' loop, Racket's for, match, optional and keyword arguments to lambda, condition/exception systems, lazy evaluation (delay, lazy, force), ...
I can continue, but I think it's enough. I'd like to know how he'd write a pattern matcher that doesn't feel like an hack (i.e. usable in real world without feeling dirty) in Ruby.

Name: Anonymous 2011-08-03 7:51

>>85
doesn't feel like an hack
Ruby

You must be joking.

Name: Anonymous 2011-08-03 7:54

>>86
I just said that you can't.

Name: Anonymous 2011-08-03 9:13

>>87
No you didn't.

Name: Anonymous 2011-08-04 23:41

>>81
this guy clearly only partially knows what he's talking about.

Don't change these.
Name: Email:
Entire Thread Thread List