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
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…
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.
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:…
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.
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.…
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...
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…
Aaah, thanks Neil!
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…
Neat! Will see if I can make it (though I'll probably have to be dealing with OOPSLA stuff at the same time )-:).
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:…
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…
Wow — scheme-rs is such a neat project! Hadn't heard of it before!
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/Published/fffkb...…
Don't see Y-combinator mentioned anywhere on that page.
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 book…
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, and…
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…
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" did.
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…
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…
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…
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…
That would be nice. Problem is rather more simple: the author can't proof-read.
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
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…
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.
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:…
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.
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.…
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...
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…
Aaah, thanks Neil!
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…
Neat! Will see if I can make it (though I'll probably have to be dealing with OOPSLA stuff at the same time )-:).
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:…
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…
Wow — scheme-rs is such a neat project! Hadn't heard of it before!
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/Published/fffkb...…
Don't see Y-combinator mentioned anywhere on that page.
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 book…
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, and…
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…
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" did.
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…
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…
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…
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…
That would be nice. Problem is rather more simple: the author can't proof-read.