Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
rntz
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
39 ms
·
301.
▲
by
rntz
12y ago
Preventing deadlocks is not an unsolvable problem. Linear-session-typed process calculi are guaranteed deadlock-free and race-free. (The connection with Rust's ownership type-system makes me wonder if there might be some way to backpor
302.
▲
by
rntz
12y ago
This post observes that > the same tools that make Rust safe also help you tackle concurrency head-on. The tools that make Rust safe, in this instance, being its ownership type system. Why on earth should that be the case? Why would owne
303.
▲
by
rntz
12y ago
I'm sorry, I don't really understand what you're getting at when you say that I'm confusing "how macros are used" and "what macros are". Perhaps we're just disagreeing about terminology? What I m
304.
▲
by
rntz
12y ago
The first live example doesn't work in Firefox, for a reason the article already mentioned: Firefox doesn't support innerText.
305.
▲
by
rntz
12y ago
Regarding 2: The article punts on the question of how to implement such a system, because I think it's a hard question. I could have been clearer about that, and maybe in future I'll write an article speculating on some ways one c
306.
▲
by
rntz
12y ago
That's a very clever use of defmulti that I hadn't considered --- consider that you may know more about writing extensible macros than the average lisper :P. My article was also aimed at being language-agnostic, so a Clojure-speci
307.
▲
by
rntz
12y ago
Yes, my discussion of the notion of syntax-classes is definitely a brief gloss, not an in-depth examination. I deliberately ignored the fact that Python merges statements & declarations in order to be able to demonstrate all four syntax
308.
▲
by
rntz
12y ago
Yup, I pretty much want it to be trivially easy for define macros that are themselves macro-extensible. It's definitely possible to do this in Lisp, but: (a) it's not a well-known technique (b) it's not in the standard libr
309.
▲
by
rntz
12y ago
Often you want the same code to expand differently depending on context, so I think it's still important to have explicit support for different syntax classes in a macro system. Declarations are definitely a syntactically distinct clas
310.
▲
by
rntz
12y ago
Author here. I have created a language, called moxy ( https://www.github.com/rntz/moxy ), which supports not just extensible pattern-matching but defining extensible extensions in general (of which pattern matching is on
311.
▲
by
rntz
12y ago
Author here! syntax-rules is a form of pattern matching (mentioned in footnote 2). But it's only for matching on syntax, not on ordinary values. I can't write the fibonacci function using syntax-rules. The idea behind "not
312.
▲
by
rntz
12y ago
The live demos aren't appearing for me in Firefox, which makes the page nearly useless in understanding what ArchieML actually looks like. The relevant error appears to be: TypeError: aml.innerText is undefined archieml.org:364:6
313.
▲
Ken Thompson's Trusting Trust as a tiny self-hosting lisp compiler
(github.com)
4 points
by
rntz
12y ago
|
0 comments
314.
▲
by
rntz
12y ago
So what you're suggesting is simply that alcohol addiction has different underlying causes than opiate addiction? If so, that doesn't undermine the whole of the article's point; it merely suggests that the best policy for get
315.
▲
by
rntz
12y ago
Thanks! That's quite illuminating.
316.
▲
by
rntz
12y ago
> I think that I don't understand the definition. Isn't encountering a runtime error precisely getting 'stuck' (in the "opposite-of-progress" sense)? Sorry, perhaps I should have said "exception" r
317.
▲
by
rntz
12y ago
Do you consider any function which may raise an error to be "dynamically typed", then? (For example, any function which performs an array index; or any function which performs I/O; or, to be absurd, any function which allocat
318.
▲
by
rntz
12y ago
Number theory. Set theory. Category theory. Combinatorics. Graph theory. Linear algebra certainly has applications in some of the above. But I don't think that calculus & linear algebra can be fairly described as "father &
319.
▲
by
rntz
12y ago
Actually, you can call both ways - from statically typed to dynamically typed and back. This is the premise of the work done in Racket on contracts, and more generally of the "gradual typing" movement. Harper's "unityped
320.
▲
by
rntz
12y ago
Go's "good, pragmatic engineering" solution to the problem - lightweight threads, channels, and the communicating sequential processes model - is built on the back of decades of academic research, including programming langua
321.
▲
by
rntz
12y ago
How can you simultaneously claim that nobody speaks well of Anslinger, and that he is lionized? That seems flatly contradictory.
322.
▲
by
rntz
12y ago
Of course people who live happy, modern, peaceful, productive lives do not deserve our scorn. The problem is not that there is something wrong with living an ordinary life, in following the comfortable and society-approved paths of success;
323.
▲
by
rntz
12y ago
You are always running someone else's code. It starts the moment you boot up your machine.
324.
▲
by
rntz
12y ago
Worse is better is about much much more than exposing versus not exposing implementation details. Exposing implementation details is also not quite the same thing as a leaky abstraction (although they can coincide). eqv? can be both, if you
325.
▲
by
rntz
12y ago
data Sexp = Int Int | Nil | Cons Sexp Sexp megasum Nil = 0 megasum (Int i) = i megasum (Cons l r) = megasum l + megasum r
326.
▲
by
rntz
12y ago
Yes, in some sense 'eqv? is leaking abstractions. Lisp is historically less concerned with not exposing implementation details than more modern language traditions. The attitude is: the hacker might need it, throw it in! For example, t
327.
▲
by
rntz
12y ago
I can't tell whether you intend to agree or disagree with the quote. Your tone suggests you are disagreeing, but your content to me seems to be in agreement. (I am the article author.)
328.
▲
by
rntz
12y ago
I can't speak for Smalltalk or Miranda, but not everything in Haskell is a function, and not everything in Lisp is an expression. The case in Haskell is obvious: 2, "foo", (Data.Set.singleton 3); none of these are functio
329.
▲
by
rntz
12y ago
> I think that Call-by-push-value can help us with both recovering the benefits of laziness as well as reasoning about effects. I would be very interested to hear why you think that, or just have some links on the subject. In particular
330.
▲
by
rntz
12y ago
> Lets consider the rather remarkable backflips Standard ML and OCaml had to perform in order to make FP work with strictness and impurity. What backflips are these? Apart from the value restriction (which is a real albeit minor inconven
More ›