Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
samth
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
29 ms
·
301.
▲
by
samth
12y ago
The number of bindings you can add to a symbol in CL is irrelevant to the macro system. In CL, you run into somewhat fewer instances of specific kinds of bugs that Racket's macro system prevents entirely. The Racket macro system is mor
302.
▲
by
samth
12y ago
I'm glad you like Racket, and you're right about some of the weaknesses, especially in providing guidance and examples for how to do things. I have questions about points 3 and 4. For 3, do you mean it's hard to figure out ho
303.
▲
by
samth
12y ago
Yes, the information is useful for lots of things. For example, tracking the binding information in the data is how DrRacket manages renaming, how Scribble (the Racket docs tool) hyperlinks every identifier in every example to the correct d
304.
▲
by
samth
12y ago
No, the article is correct. Hygienic macros give you strictly more information to work with, enabling them to be more expressive. It's possible to implement unhygienic macros, either at an individual macro level or a whole new macro sy
305.
▲
by
samth
12y ago
You're totally right that there's a tradeoff here -- in Typed Racket, where we have strong types for the numeric tower plus the flexibility that the parent wants, arithmetic isn't extensible. However, it's not the case t
306.
▲
by
samth
12y ago
Note that the male version of 'girl'is not 'guy', it's boy. Do you use 'boy' regularly to refer to adult men? If not, perhaps not using 'girl' either is appropriate.
307.
▲
by
samth
12y ago
Regions as a general concept go back at least to FX-87 (in 1987 :). But the way the Rust type system works is quite different from Cyclone, for example. Cyclone, for example, treats memory in the heap quite differently than Rust, and doesn&
308.
▲
by
samth
12y ago
I wish Rust people (like Steve here) would stop saying that there's no new research in Rust. It's just totally 100% not true. Large parts of the Rust type system involve awesome new ideas. Additionally, as I said once to dherman,
309.
▲
by
samth
12y ago
It turns out that it's quite possible to express almost all of the invariants you describe in a type system, and we've done it in Typed Racket. Vincent St-Amour wrote a paper about it: http://www.ccs.neu.edu/racket
310.
▲
by
samth
12y ago
If you've only used TypeScript, then you haven't really seen what gradual typing can do. In Typed Racket, you get actual guarantees about your types, and a type system that works for almost all existing untyped code. Of course, it
311.
▲
by
samth
12y ago
This isn't right about the renaming. The switch from mutable pairs to immutable pairs happened in release 4.0 of PLT Scheme, in June 2008. The name change was in May 2010.
312.
▲
by
samth
12y ago
This comment is very confusing. You spend a lot of time complaining about how Racket is overly focused on functional programming, leading to slower data structures. But the queue data structure you refer to is an imperative queue with O(1)
313.
▲
by
samth
12y ago
I'm not sure what you mean by "syntactically a mess" but Racket provides `mlist` which sounds like exactly what you want [1]. [1] http://docs.racket-lang.org/compatibility/mlists.html
314.
▲
by
samth
12y ago
Awesome! I'll look into merging this. Do you have a full version of your bytecode analysis code as well?
315.
▲
by
samth
12y ago
Is your code available somewhere? Also, you should submit your changes as pull requests for the compiler.
316.
▲
by
samth
12y ago
The cheapness of goroutines (which is a good thing indeed) has nothing to do with shared state. Erlang processes are even cheaper.
317.
▲
by
samth
12y ago
It turns out that fexprs, which is what Kernel provides, are widely considered a bad idea in the Lisp community, and were abandoned in favor of macros for a reason. The basic problem is that you can never tell whether your function call is
318.
▲
by
samth
13y ago
The date on `news.arc` in that tarball is from 2009. I know a bunch of changes have happened since then, pending comments being just the latest.
319.
▲
by
samth
13y ago
One of the best ways to increase transparency would be to make the source for HN available. There's already an official GitHub repo for issues -- why not have the source there too?
320.
▲
by
samth
13y ago
Yes, Typed Racket does have that -- DrRacket continuously expands in the background, so Typed Racket gets it for free by integrating into the macro system. The Typed Racket type checker is much slower than Hack, though. Hack does seem to ha
321.
▲
by
samth
13y ago
From playing with the editor, it looks like it is sound. What I thought the quoted passage was saying was that consistency between a class and a trait used by the class was not checked. That's clearly not the case, though. I don'
322.
▲
by
samth
13y ago
> If all of your code is in strict mode, then we believe the type system to be sound. We haven't done any formal proof of this of course, and there have been plenty of bugs in the past. But that's the goal. When I look at this
323.
▲
by
samth
13y ago
Local inference isn't just unification. In particular, most local inference algorithms are designed to work with subtyping, which doesn't work in ML-like type systems.
324.
▲
by
samth
13y ago
I've now fixed this, and it should be live at some point soon.
325.
▲
by
samth
13y ago
Yes, I agree. It's annoyingly difficult to fix, though.
326.
▲
by
samth
13y ago
Thanks, I've fixed it and it should be live soonish.
327.
▲
New Racket web page
(racket-lang.org)
13 points
by
samth
13y ago
|
5 comments
328.
▲
by
samth
13y ago
It would be more accurate to say that that Shriram Krishnamurthi and his group at Brown, which are one part of the large PLT "collective", are working on Pyret. The rest of us are still working on Racket.
329.
▲
by
samth
13y ago
Racket's extensive collection of libraries aren't meant to answer anything about Scheme -- they're for Racket. That's why we changed the name. Racket is, however, a great answer to "is there a Lisp that's both
330.
▲
by
samth
13y ago
Right, people have certainly implemented hyperlinked versions of code by re-implementing the parser etc. LXR is an excellent example of this. What sets Scribble apart is that * It's a documentation system, not just a code formatter. *
More ›