Earlier quoted context omitted.
True. Good distinctions. To re-iterate the above, the approximation to AWS Lambda would require dynamic AWS Lambda functions -- as in code that creates a Lambda with specific state embedded in it -- then tracks each of those by their unique Lambda identifier and ... yeah, that's where this breaks down because it's not all that similar to Lambda if the best use for a Lambda is repeated invocations of the same code. An…
Memoization is usually preferable if you can do it, sure. But you can't memoize a continuation, because what it expresses is a computation that has yet to complete and produce the result you'd need in order to memoize. And the use of the g_fnid hash table doesn't qualify as memoization, either, because the keys aren't arguments to the function that produced the values; what it actually is is a jump table, cf. https:/…
I’ve Consed Every Pair
211–220 of 228 posts
Re: I’ve Consed Every Pair
#212I'll admit I don't think I've really noticed the presence of lisp online other than when people want to talk about lisp. Can someone share some practical examples of where lisp is being used? Maybe a popular open source project I never realised was written in a lisp family language?
HN itself is one. Usually somebody jumps to point that out, but it looks like I have the that-guy role this time.
Re: I’ve Consed Every Pair
#213Earlier quoted context omitted.
If I may ask, what are the benefits of building this app in LispWorks instead of any other implementation (sbcl or else)?
I've never used LispWorks, but I think they have their own GUI, support, built-in logic programming (Prolog) for starters. They also have IDE like tools that are probably ready to go outside the box. Emacs with Slime isn't for everyone (I find it to be a big initial hurdle). Although I'm sure this guy is an Uber emacs expert. Perhaps we can summon u/lispm for an answer here. I think he possibly works for LispWorks an…
LispWorks is a relatively expensive commercial implementation of Common Lisp. There might be several reasons to buy it: cross platform GUI support (Windows, Linux/Unix, Mac), integrated IDE, various delivery options for applications, support for various hardware / operating systems, ... I personally also find the runtime system quite robust.
Re: I’ve Consed Every Pair
#214Earlier quoted context omitted.
If I may ask, what references would you recommend to someone interested in something like Lisp, but who has never touched a functional language before?
I think Racket might be worth you spending one or two evening with, to see if you like it. It has an OK IDE, and a rich ecosystem.
Re: I’ve Consed Every Pair
#215Earlier quoted context omitted.
Yes. An elegant approach with poor scalability and availability characteristics.
HN still uses it extensively for its more obscure operations—the ones that don't need to scale. We switched all the most common handlers to regular links years ago. It's hard to remember now that the most common complaint here (by far) used to be about those "Unknown or expired link" messages. In fact, you can tell from the histogram of https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que... when it was that…
Re: I’ve Consed Every Pair
#216Earlier quoted context omitted.
As a person who recalls every bite and gains weight at one meal a day with no snacking at all, this is not helpful. I'm still looking for advice on why I'm being told to count my food intake in a lisp discussion.
I’ve done a diet in which I used packaged and prepared food for ease of calorie counting and ate about 1400 calories a day for couple months. I also did a lot more aerobic exercise than I usually did (running, bicycling, elliptical machines). Result? Not what any of the “calories in calories out” calculators claimed. About a pound down. Should have been more like seven to ten. What works for me: weight lifting, swimm…
Re: I’ve Consed Every Pair
#217Earlier quoted context omitted.
Yup. I somehow became a graybeard. I really didn't fit in at my last three gigs doing "backend" work. I always play to win, so try to understand why & how I failed. My current theory: I had good successes doing product development. Shipping software that had to be pretty close to correct. Today's "product development" is really IT, data processing. Way more forgiving of stuff that's not quite right. Often not even cl…
I see more gray in my beard every morning. And the thing about "...to 80% completion" is that the first 80% of value is captured in the first 80% of effort, and the last 20% of value in the other 80% of effort. It's important to know when to follow that ROI graph past the knee, for sure. But it's just as important to know when not to. (I mind me of a time a few years back when I was surprised to learn that the right…
I'm totally on board with 80% feature complete, MVP, biz case, etc.
What I'm trying to articulate, here and elsewhere:
implementations that apparently work, but not really
coders who don't check their own work
doing the bare minimum to get awarded the agile velocity victory points
futility of arguing definitions of "done"
lack of feedback loops
that cliche about managing to metrics leads to undesired outcomes
the personal cost, burden of craftsmanship in a "break things and move fast" world
Re: I’ve Consed Every Pair
#218Earlier quoted context omitted.
Not OP, but Lisp isn’t really a functional language — it’s a usual language that also has some functional ideas inside. Mutation is common, don’t think Lisp will be a language like Haskell. For resources, I would recommend Practical Common Lisp[0] and PAIP[1]. For some modern development practices, the Common Lisp Cookbook[2] is great. [0]: http://www.gigamonkeys.com/book/ [1]: https://github.com/norvig/paip-lisp [2]…
> Lisp isn’t really a functional language — it’s a usual language that also has some functional ideas inside. The idea that "functional language" means "purity" is something that was retconned onto functional programming in the 90s decades after Lisp had defined functional programming to mean programming in terms of expressions that produce values. I like the ML/Miranda/Haskell lineage of languages a lot, but it real…
But it took JavaScript to invent the concept of "Truthy".
Re: I’ve Consed Every Pair
#219Earlier quoted context omitted.
Not OP, but Lisp isn’t really a functional language — it’s a usual language that also has some functional ideas inside. Mutation is common, don’t think Lisp will be a language like Haskell. For resources, I would recommend Practical Common Lisp[0] and PAIP[1]. For some modern development practices, the Common Lisp Cookbook[2] is great. [0]: http://www.gigamonkeys.com/book/ [1]: https://github.com/norvig/paip-lisp [2]…
> Lisp isn't really a functional language I guess I have even more to learn then :). Thank you for the links.
Re: I’ve Consed Every Pair
#220Earlier quoted context omitted.
Cons cells are the traditional Lisp data structure making up the nodes of a linked list. It comes from the cons function which is short for "construct". Ironically, Clojure doesn't use cons cells, although it does have a cons function.
Additionally, "to cons" more broadly means "to allocate memory".
Don't confuse CONS ARTISTS:
https://en.wikipedia.org/wiki/Category:Lisp_people
With CON ARTISTS: