Live data from Hacker News

I accidentally a scheme

wingolog.org

121–130 of 143 posts

Re: I accidentally a scheme

#121

Note to self: learn a lisp. Lisp people appear to be having more fun than the rest of us.

I haven't done any serious lisping outside of tutorials and books, but I warmly recommend the wizard book of myth and legend, SICP (https://mitp-content-server.mit.edu/books/content/sectbyfn/b...). I had a lot of fun working through it.

Re: I accidentally a scheme

#122
post #112
post #27

Earlier quoted context omitted.

While I like Janet, and find it to be a lovely little language; I think it's important to note that it lacks lists and cons cells, and so as a result some people don't label it a lisp, and programming in it is unlike other lisp languages. It's similar, because the syntax is similar and the macros and various forms are lifted straight from lisps; but the feel of programming in it is very much like programming in C, an…

Feature not a big in my book. A linked list is almost never the right answer. Certainly shouldn't be the default.

> A linked list is almost never the right answer.

And yet a subset of the linked list called a tree is usually the right answer to problems.

Re: I accidentally a scheme

#123
post #101

Earlier quoted context omitted.

There's literally dozens of us! If you're serious about learning a Lisp but motivated more by, as you say, "having more fun" rather than, say, landing a six-figure job writing it professionally... then may I recommend Janet[0] for your consideration. Janet is an embeddably-small, yet surprisingly batteries-included Lisp implemented in pure C. In terms of syntax and core library it borrows more directly from Clojure t…

Since you mentioned this, what would you say would be the right Lisp for more pragmatic, cynical reasons? What Lisp should we learn if we want to make money from it?

Maybe Clojure. In 2022 it took the top spot for "Top paying technologies" in the annual StackOverflow survey [0], and in 2023 it tied with other lispy languages [1].

That said, I don't think it matters much. A developer familiar with some lispy language (and perhaps functional programming) should be able to quickly pickup any other lispy language. And the developers that make the most money have probably used a lot of programming languages, with different paradigms.

[0]: https://survey.stackoverflow.co/2022/#top-paying-technologie...

[1]: https://survey.stackoverflow.co/2023/#section-top-paying-tec...

Re: I accidentally a scheme

#124
post #122
post #112

Earlier quoted context omitted.

Feature not a big in my book. A linked list is almost never the right answer. Certainly shouldn't be the default.

> A linked list is almost never the right answer. And yet a subset of the linked list called a tree is usually the right answer to problems.

because it avoids all the pathological worse case performance unless you get insanely unlucky with the order the data is inserted... and even then you can do a rebalance if you're that concerned about it.

Re: I accidentally a scheme

#126
post #112
post #27

Earlier quoted context omitted.

While I like Janet, and find it to be a lovely little language; I think it's important to note that it lacks lists and cons cells, and so as a result some people don't label it a lisp, and programming in it is unlike other lisp languages. It's similar, because the syntax is similar and the macros and various forms are lifted straight from lisps; but the feel of programming in it is very much like programming in C, an…

Feature not a big in my book. A linked list is almost never the right answer. Certainly shouldn't be the default.

It depends on how you approach solving problems, and what the problem is.

In the contrived example, a linked list is clearly a terrible option for manipulating a sorted set of integers. Modern computers can slice and dice contiguous integers with vectorized routines, and those benefits are lost with linked lists that are storing their data haphazardly across the heap.

If your problem space is best defined with contiguously-stored numbers, then for sure, don't use linked lists. Most lisps will happily provide you with vectors and arrays for these use cases.

Re: I accidentally a scheme

#129
post #81
post #63

Earlier quoted context omitted.

Well this was in real life, so you aren't going to get records. Wikipedia suggests lol is more like 40 years old, but you actually have a written record to back that up. All I have is my own experience, I wasn't really on the internet until the 2000s so I wouldn't have come across lol until mobile phones and texting became widespread (around 1999/2000). "I accidentally a" would have been in the 1995 - 2000 time frame…

I’ll stand as witness to the fact that ordinary people playfully tortured the language towards humorously cute long, long before one TRS-80 could call another over the phone. The tech just helped these people find and feed off of each other.

look up the (speculative) etymology of OK for instance

Re: I accidentally a scheme

#130

A lesson I learned long ago is that if something isn't fun, I need to turn it into a compiler. I want to frame this sentence and hang it on my wall.

Do we consider macros compilers now? :)

I would say yes. A compiler takes code and produces different code. Maybe in another language. I wouldnt call a simple anaphoric if a compiler, but I wrote this: https://git.sr.ht/~bjoli/goof-loop and it specifies a new loop construct for scheme. It takes code conforming to a grammar and produces standard scheme code while also generating loop code, temporary variables, identifiers and all that jazz. It even transforms the code using CPS. That is what you get for writing complex macros in syntax-rules I guess.
Post reply on HN