Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
skrishnamurthi
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
skrishnamurthi
9mo ago
Proof-of-work was originally proposed precisely for email (specifically spam), by Dwork and Naor back in 1993! https://en.wikipedia.org/wiki/Proof_of_work
2.
▲
by
skrishnamurthi
9mo ago
Author here. That's not true. GTD asks you to figure out now the action for each thing, think about how long that will take, figure out if it will take more than 2 (or N) minutes, and if ≤ that, do it now. The "do it now"s
3.
▲
by
skrishnamurthi
9mo ago
I'm the author of the original article, I'm a tenured professor, and none of these things is optional for me. Indeed, I wrote this article several years into being a full professor, because my obligations had only grown , not red
4.
▲
by
skrishnamurthi
1y ago
Ah, I didn't know there was a HOPL paper! Some day I will have time to run a course reading HOPL papers. Some day I will have the time to read HOPL papers myself (-:. Thanks for the pointer.
5.
▲
by
skrishnamurthi
1y ago
Thanks for the pointers. Trampolining is an old idea for obtaining tail-calls. It's a kind of folk-wisdom that has been rediscovered many times, as the related work here shows: https://dl.acm.org/doi/pdf/10.11
6.
▲
by
skrishnamurthi
1y ago
It's not the same thing. `recur` in Clojure must be in tail-position. This program https://news.ycombinator.com/item?id=45154253 would therefore not work.
7.
▲
by
skrishnamurthi
1y ago
Tails calls are especially useful in languages with macros. You don't know what context you are in, you just generate the call that makes sense. If the call happens to be in tail-position, you get the benefit of it. Moreover, you can d
8.
▲
by
skrishnamurthi
1y ago
Thanks for the suggestion to replace the reference to MzLib with SRFI-31. I've done that now. https://github.com/shriram/anonymous-recursive-function/comm...
9.
▲
by
skrishnamurthi
1y ago
The correlation is likely causal in both directions. They're niche because they're doing weird, interesting things. Like creating their own VMs to support funky features. So nobody wants to depend on them: low bus-factor. They can
10.
▲
by
skrishnamurthi
1y ago
Aaah, thanks Neil!
11.
▲
by
skrishnamurthi
1y ago
This isn't the Y-combinator.
12.
▲
by
skrishnamurthi
1y ago
1. This isn't the same. `rec` names the function. This does not name the function. The point is to illustrate how the name-capture works. 2. The README literally says "Don't Use This Macro!" and references `rec` to use i
13.
▲
by
skrishnamurthi
1y ago
Neat! Will see if I can make it (though I'll probably have to be dealing with OOPSLA stuff at the same time )-:).
14.
▲
by
skrishnamurthi
1y ago
These are great questions! Yes, what you're describing is the "extreme" version of LOP. Of course you don't have to do it that aggressively to get working code. Two references I like to point to: https://www.h
15.
▲
by
skrishnamurthi
1y ago
This isn't meant to be a good programming mechanism, it's meant to be an illustration of how to use the macro system. But also, if you're processing non-linear data, you're going to want to do with a recursive function a
16.
▲
by
skrishnamurthi
1y ago
Wow — scheme-rs is such a neat project! Hadn't heard of it before!
17.
▲
by
skrishnamurthi
1y ago
Racket is a rich and powerful language, but it is also designed with certain specific ideas in mind. You can learn more about the "zen" of Racket here: https://cs.brown.edu/~sk/Publications/Papers/Pu
18.
▲
by
skrishnamurthi
1y ago
Don't see Y-combinator mentioned anywhere on that page.
19.
▲
by
skrishnamurthi
1y ago
If it helps, you will find the Y-combinator described (indeed, derived) in the first edition ( https://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-0... ) of the author's programming languages b
20.
▲
by
skrishnamurthi
1y ago
It's definitely written from the perspective of someone who "knows C++". But I put that in quotes because there are (at least) two interpretations of that phrase. There's the person who doesn't know any C++ at all,
21.
▲
by
skrishnamurthi
1y ago
There are two DIFFERENT gaps here. You're talking about the gap where what you have verified is a model, and the actual code and the model may diverge. But there is another, subtler gap: how good are you at coming up with properties? B
22.
▲
by
skrishnamurthi
2y ago
No, this isn't what the article says. I have not bothered saying anything about the "semantic pass", which is downstream from getting an AST. What the article talks about is not what "ancient IBM FORTRAN compilers"
23.
▲
by
skrishnamurthi
2y ago
Author here. Yes, very close. #4 is not a bit strong: there is value to doing this even if you don't have macros, for instance, because of other benefits (e.g., decent support from editors). But of course it also makes macros relat
24.
▲
by
skrishnamurthi
2y ago
Most of these reasons appear to be tied to commercial publishers. But there is no need to involve a commercial publisher.
25.
▲
by
skrishnamurthi
2y ago
It has indeed been used by many people to re-appropriate/confuse/normalize. But none of that was the intent here — sometimes a parenthesis is just a … parenthesis, especially since there's no name inside the parens. But this
26.
▲
by
skrishnamurthi
2y ago
That was (obviously) not the intent; it had never occurred to me that it could be read that way, since the bits inside the parentheses are not a proper name. But, to avoid any doubts, I have modified the masthead image to get rid of two pai
27.
▲
by
skrishnamurthi
2y ago
Thanks for the PS. That was (obvioulsy) not the intent; it had never occurred to me that it could be read that way, since the bits inside the parentheses are not a proper name. But, to avoid any doubts, I have modified the masthead image to
28.
▲
by
skrishnamurthi
2y ago
For people missing the point: The person who made the above remark is the author.
29.
▲
by
skrishnamurthi
2y ago
That would be nice. Problem is rather more simple: the author can't proof-read.
30.
▲
by
skrishnamurthi
3y ago
You are not at all alone in having this confusion. In fact, you are farther along than many learners in having gotten this far and being able to articulate your confusion so clearly. The problem is with the statement `return a`. It should b
More ›