Live data from Hacker News

Scheme Reports at Fifty

crumbles.blog

21–27 of 27 posts

Re: Scheme Reports at Fifty

#21

I wish I saw what these guys do in scheme. I only barely know what is happening and it seems interesting. The parens are so hard for me to follow and always have. I have yet to find an editor that fixes that. Perhaps I did not try enough or am not smart enough to acutally use the editors correctly. Anyway interesting read I think

I've never understood why people who have no problem with

print(foo)

get stuck at

(print foo)

I've always found the parenthesis comforting, we know where it starts and where it ends.

Re: Scheme Reports at Fifty

#22
post #12

I wish so badly that there were a statically typed, pure, and lazy Scheme.

> lazy Why? What are the advantages, in practice, of lazy evaluation as the default?

You don’t have to worry about the order of evaluation. It doesn’t seem like a big deal, until you have a big messy problem with data-dependent interdependency. Also, every list is a generator, and every indexable container is an instance of “dynamic programming”. So you just declare how values are computed from other values, and let the runtime take care of ordering things, and it just works. It’s what makes a functional programming language into a declarative one, in practice.

Re: Scheme Reports at Fifty

#23

I wish I saw what these guys do in scheme. I only barely know what is happening and it seems interesting. The parens are so hard for me to follow and always have. I have yet to find an editor that fixes that. Perhaps I did not try enough or am not smart enough to acutally use the editors correctly. Anyway interesting read I think

I've never understood why people who have no problem with print(foo) get stuck at (print foo) I've always found the parenthesis comforting, we know where it starts and where it ends.

I don't think they're fine with print(foo) and stuck at (print foo).

They're fine with:

    if a 
And stuck at:

    (if (
I personally don't mind s-expr syntax, but not having any infix expressions or precedence levels means a lot more parentheses in idiomatic code.

Re: Scheme Reports at Fifty

#24
> Given these deep divisions over the essential nature of the Scheme language, does it even make sense that we still keep making a Scheme report?

> ‘No’ is an entirely possible answer to this question. Already in the R6RS and R7RS small days, people were arguing that Scheme standardization should stop.

> If we went this way then, just like Racket in its default mode no longer claims to be a Scheme report implementation, Schemes would slowly diverge into different languages. Guile Scheme would one day simply be Guile; Chicken Scheme would be Chicken, and so on. Like the many descendants of Algol 60 and 68, and the many dialects of those descendants, each of these languages would have a strongly recognizable common ancestor, but each would still be distinct and, ultimately, likely incompatible.

This would doom all of those variants to irrelevance even more than they already are.

To the degree that people want Scheme to be a useful language for writing programs that solve real-world problems, it needs an ecosystem. And in order to compete with other languages, that ecosystem needs to commensurate with the scale that those other languages have. Otherwise, it doesn't matter how elegant the syntax is or how powerful the macro system is. If user needs to talk to a database and there isn't a good database library, they aren't going to pick the language.

The Scheme ecosystem is already tiny when you lump all languages and their packages into one. Fragment that, and you're probably below viability for all of them.

Now, it is fine if the goal of Scheme is not writing programs to solve real-world problems. It may be just a teaching language. But the evidence seems to be that it's hard to motivate programming students to learn a language that they ultimately won't end up using.

Re: Scheme Reports at Fifty

#25

I wish so badly that there were a statically typed, pure, and lazy Scheme.

Check out Dylan, it seems to get pretty close, although the community is tiny even when compared to Scheme.

It doesn't have laziness nor is a functional programming language, but it does scratch that itch a bit.

Re: Scheme Reports at Fifty

#26

I wish I saw what these guys do in scheme. I only barely know what is happening and it seems interesting. The parens are so hard for me to follow and always have. I have yet to find an editor that fixes that. Perhaps I did not try enough or am not smart enough to acutally use the editors correctly. Anyway interesting read I think

I've never understood why people who have no problem with print(foo) get stuck at (print foo) I've always found the parenthesis comforting, we know where it starts and where it ends.

What I found weird in Lisp (and didn't even realize at first) is that

foo

and

(foo)

mean something different.

I now understand it similarly to the way in set theory x and {x} are different, but one is not used to the ordinary parenthesis symbol behaving in this way.

Re: Scheme Reports at Fifty

#27

Tangent, but wow did I find the typography and font-face on that blog post pleasant to read.

I thought "this feels like Univers" when I saw the text. A quick check, and it turned out to be URW Classic Sans, a font that I had not heard about, but which is apparently a Univers clone. (Not to be confused with URW Classico, which is more like Optima. I also wonder how it relates to U001, another URW clone of Univers... just different names? U001 comes, or used to come at least, with GhostPCL under a non-commercial licence.)
Post reply on HN