Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
brandonbloom
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
15 ms
·
91.
▲
by
brandonbloom
9y ago
One example: You get a class cast exception at run-time, rather than corrupted memory.
92.
▲
by
brandonbloom
9y ago
I have a whole bunch of references related to dynamic languages and type inference, but can't find the specific one I'm thinking of on my hard drive. Sorry.
93.
▲
by
brandonbloom
9y ago
Yup! Type assertions work this way too. It's a much nicer design than traditional casts.
94.
▲
by
brandonbloom
9y ago
How is it mystifying? You said "besides the one difference you cited, they are not different". I explicitly listed that difference as being the thing that I feel justifies the feature's existence! > the introduction of gen
95.
▲
by
brandonbloom
9y ago
1 & 2) Read my comment again. My remark about functors (in the ML sense) addresses this point. I'm quite well versed in how type abstraction works. Your comment about being aware of underlying type details is completely non-sensica
96.
▲
by
brandonbloom
9y ago
1) You're not "abstracting away" anything like that. If you're talking about operations you can abstract over `a option`, that has nothing to do with nesting. 2) I would consider explicitly nested option types to be a co
97.
▲
by
brandonbloom
9y ago
> Are there any Java, C++, etc. developers arguing for the removal of these features from their languages? I will. Generics in Java are a net loss in my opinion. They provide marginal static safety, no additional dynamic safety, no perfo
98.
▲
by
brandonbloom
9y ago
Huh? What kind of "nesting" are you talking about? How is that different than nesting structs containing nullable pointers?
99.
▲
by
brandonbloom
9y ago
Me too. Another vote for "Starting Strength" being a life changer.
100.
▲
by
brandonbloom
9y ago
I have implemented interpreters that support both full and delimited continuations. They are underused for many very good reasons. A continuation makes an implicit state machine. Implicit means anonymous, which means harder to talk about, w
101.
▲
by
brandonbloom
9y ago
Fun story! The same idea applies more generally as well with so-called "region-based" memory allocation. A sub-process allocates incrementally from a pool, then when that process ends, the entire pool is freed at once. Optionally,
102.
▲
by
brandonbloom
9y ago
I think others answered the question of pointers vs not-pointers reasonably well, but your question implies you already understood that. The interesting thing to me is that they _did_ make some pointer types implicit: maps, chans, etc. More
103.
▲
by
brandonbloom
10y ago
1) That's an interesting project. Worthy of discussion on its own. 2) "Why isn't it written in Lisp?" It's 42% C++ according to GitHub. 3) Based on a hunch and past experiences, I'm going to ignore any follow u
104.
▲
by
brandonbloom
10y ago
C-MERA's default code generator is textual C. This project uses LLVM's API, which is sadly difficult to utilize outside of C++.
105.
▲
by
brandonbloom
10y ago
For what it's worth, I'm a pretty happy vim-fireplace user for evaluating files and forms. I also happily use standard vim brace matching, text-objects, etc instead of paredit or similar. For JVM development, I only bother with NR
106.
▲
by
brandonbloom
10y ago
At least according to this, 4.7 is quite typical for passengers: http://valleywag.gawker.com/we-asked-you-for-your-uber-score...
107.
▲
by
brandonbloom
10y ago
> your cancel reflects poorly on you in Uber's rating system This is simply not true. I just checked: My rating is 4.73. I've probably taken a few hundred rides with Uber. I assume they adjust ratings for bad experiences, espec
108.
▲
by
brandonbloom
10y ago
I'm only a little surprised that nobody has suggested this, but: If the driver does something shady, just get out of the car. Immediately. Don't even give them the opportunity to apologize for it. I've had drivers call ahead
109.
▲
by
brandonbloom
10y ago
It's not easy, but it's possible. Check out FastR: https://github.com/graalvm/fastr Here's a good video about the language and this implementation: http://download.oracle.com/technetwork&
110.
▲
by
brandonbloom
10y ago
I meant O(N) space, as you said "That would still require O(n) space" - but a slide does not require additional space.
111.
▲
by
brandonbloom
10y ago
Because you're saving the O(N) time copy... iirc, Ruby's array doesn't expose the distinction between length and capacity, but internally it may decide to amortize the cost of such copies. For example, if reject only removes
112.
▲
by
brandonbloom
10y ago
xg15's comment still makes sense if you replace "copy all ..." with "slide the remaining elements down by the number of removed elements" to match the mutative behavior. However, a bigger problem is concurrent modif
113.
▲
by
brandonbloom
10y ago
Think about a mutable variable. In an imperative program X can start with A, then become B, then become C, etc. In a functional program, you can say that X doesn't change, instead there's really a subscript: X0=A, X1=B, X2=3. That
114.
▲
by
brandonbloom
10y ago
I can try, but I'm not just going to guess what your misunderstanding is. What specifically would you like me to expand upon?
115.
▲
by
brandonbloom
10y ago
It's no more about implementation strategy than compilation vs interpretation, which is also spatial and temporal in nature.
116.
▲
by
brandonbloom
10y ago
Logic programming really falls in to two main categories: search and constraint satisfaction. In that light, there's really only two programming paradigms: Temporal and Spatial. Imperative programming is programming with time. Function
117.
▲
by
brandonbloom
10y ago
I don't know where you got that impression. I have this LG 5K display and I'm typing on a keyboard connected to it right now...
118.
▲
by
brandonbloom
10y ago
Why do you care? If getting credit as a "hero" is what it takes to get him to do good things, then let him have it. Even if this is a PR stunt, it has positive externalities that can only be amplified by adept public relations man
119.
▲
by
brandonbloom
10y ago
I don't necessarily disagree. Although in the context of the simple vs easy notion, I suggest you grep this page for "inherent complexity": https://github.com/matthiasn/talk-transcripts/blob/mas
120.
▲
by
brandonbloom
10y ago
You're missing a key element from Rich's talk: Complexity occurs when things are complected. That is, when two separate concerns are tied together. There's lots of this in Rust, especially in the form of premature specializat
More ›