Viewing profile — harpocrates
harpocrates
HN member- Joined
- Mon, Aug 15, 2016, 6:43 AM UTC
- HN karma
- 532
- Public activity
- 89 items
- HN profile
- View on Hacker News ↗
About harpocrates
No profile information was provided.
Recent public activity
-
comment
Comment #27421688
GHC also uses Demarau-Levenshtein [0]. The fuzzy lookup function gets re-used for a couple places too (including whatever you encountered in GHCi). [0]: https://github.com/ghc/ghc/…
- story
-
comment
Comment #22707940
For anyone curious about the difference between the two: Hughes' pretty printer works really well for pretty-printing Haskell code, but Wadler's is more flexible for pretty-printin…
-
comment
Comment #21981892
As I've already posted elsewhere on this thread, such a tool has been developed in parallel (and with the intent to consume the output of) c2rust. Development on that occurs here: …
-
comment
Comment #21981080
Step 2 has been happening concurrently, and pretty much since the start of the project. See https://github.com/immunant/c2rust/tree/master/c2rust-refact... . It is just a lot tough…
-
comment
Comment #20483666
Safety in the form of tightly-fitting types is great, but the signatures definitely suffer a bit in readability (otherwise, Haskell signatures are generally quite helpful when deci…
-
comment
Comment #18092542
> It's available in Haskell as a first class citizen. Not really. Haskell's laziness makes it easier to write functions that are memoized, but it does not automagically memoize fun…
-
comment
Comment #17594178
`@implicitNotFound` still only gives you a top-level failure message. Also, my comment was aimed more at developers of libraries with complex implicit derivations not the consumers…
-
comment
Comment #17590424
I heartily recommend [splain][0] to anyone debugging non-trivial implicits. It is a scalac compiler plugin that, among other things, will swap out the horribly unhelpful "implicit …
-
comment
Comment #17439682
FWIW we've spent a lot of time trying to re-engineer the control-flow translation to be heuristic-friendly in c2rust. We've extended and tweaked the Relooper algorithm in hopes of …
-
comment
Comment #17438895
The idea is that this is a first step towards safe Rust. First, you convert to unsafe (but semantically preserving) Rust, then you refactor. The refactor stage probably will involv…
-
comment
Comment #17438854
I'm a primary contributor to c2rust and I may be the person "stolen" away from corrode. I'd like to apologize if it feels like we ripped off ideas without giving due credit - the p…
-
comment
Comment #17070377
I have very mixed feelings about using parser generators instead of hand written parsers. I've contributed to GHC's parser grammar and spent a lot of time reading Rust's hand-writt…
-
comment
Comment #16949180
Some other applications are more interesting. For instance, finger trees (which back the efficient implementations of a handful of immutable data structures) usually are implemente…
-
comment
Comment #16667466
The introductory one is known as Baby Rudin and is a pretty good first exposure to real analysis.
-
comment
Comment #16590159
I'm not sure I understand: WebAssembly is the output of a (hopefully) optimizing compiler. LLVM is such a compiler backend. If you use WebAssembly today, you are probably going thr…
-
comment
Comment #16588258
> No they wouldn't. They still need to turn WebAsm/IR into assembly, which is the thing they already do today anyway. Nothing changes for compilers, other than the potential for op…
-
comment
Comment #16586311
What other low-level format supports my points (a), (b), and (c)? And has an actual spec? EDIT: you've since added some examples. Here are my (very subjective) opinions: - The JVM …
-
comment
Comment #16586179
One thing that continues to amaze me is that WebAssembly isn't being discussed more outside of the context of the web. Think about it just as a format that (a) is low-level enough …
-
comment
Comment #16570918
Yes, when people use them. There is no really elegant way of adding a type annotation to a `do` block. (do x It isn't uncommon to have to scan the `do` block for some statement tha…
-
comment
Comment #16570261
You've changed my mind on adding special syntax for `async`, generators, and results (`?`). I previously thought it was a big mistake given that these all generalize as monads (gra…
-
comment
Comment #16446771
This is not possible in regular Haskell. For one, it isn't obvious how to do such a desugaring and, even if it were, this is pretty gross. I remember a co-worker finding some weird…
-
comment
Comment #16431627
> People underestimate the compiler cost of deriving instances. It adds up very fast if you derive lots of functors and foldables in your quest for unique names everywhere. Do you …
-
comment
Comment #16343055
The comments from the original post[1] of this are still quite relevant. I feel like I've seen this link posted here several times (much more recently than 2009), but I can't find …
-
comment
Comment #15992027
This is a cool (if not particularly new) paper. Interestingly enough, the [vector library][0] mentioned in the paper isn't just a research project - it is one of the most widely us…