Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pka
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
22 ms
·
151.
▲
by
pka
10y ago
Nice, thanks!
152.
▲
by
pka
10y ago
ST is exactly that. You probably mean the State monad.
153.
▲
by
pka
10y ago
Is the database and/or specification open source? A formal verification of a distributed system sounds very interesting.
154.
▲
by
pka
10y ago
You don't need unsafePerformIO for any of these. > Anything that needs rewriting a memory address without losing time by allocation and garbage collection. ST gives you mutable references. Or just use IO.
155.
▲
by
pka
10y ago
> There are plenty of tricks you can not write on pure monads This made me curious, could you list some?
156.
▲
by
pka
10y ago
> This means we can exploit any efficiency trick an imperative program can do, including low-level stuff. The seasoned FP programmer will then proceed to encapsulate the efficiency trick in a abstract module such that the rest of the pro
157.
▲
Ask HN: GCP for startups or AWS Activate without being in an accelerator?
3 points
by
pka
10y ago
|
0 comments
158.
▲
by
pka
10y ago
Shameless, but related plug [0] - an interactive JSON log viewer. [0] https://github.com/pkamenarsky/sherlock
159.
▲
by
pka
10y ago
I can't see how this can be a good thing. If C is that bad at managing complexity (and complexity doesn't only arise from bad design choices, some problems are inherently complex) then it should be used as rarely as possible, pe
160.
▲
by
pka
10y ago
You're making a great point against C, yet somehow you are not realizing it.
161.
▲
by
pka
10y ago
So you're saying C is a great language until you have to parse XML. ... exactly.
162.
▲
by
pka
10y ago
Until the logic is complex enough and you screw it up. Then you write over '\0' in some string and have a root exploit. Congratulations! float *float_ptr; float_ptr += 1; is no more confusing than float float_ptr[...]; float_ptr[1
163.
▲
by
pka
10y ago
At first I thought that was sarcasm... but it's unfortunately not. > no more overflows, no more pointer screwups, no more forgetting to free the memory, because you'll know exactly what will happen in the chip and the memory wh
164.
▲
by
pka
10y ago
If your language is not purely functional it is imperative. There is really no conceptual difference between Clojure and Python, except for syntax/macros and that Clojure has immutable data structures in clojure.core. You could use mut
165.
▲
by
pka
10y ago
> But the point is that nobody's putting 'S-expression syntax languages' in a Lisp-centric list of essential functional programming skills. They should've probably said "FP-only" (i.e. pure) languages to exc
166.
▲
by
pka
10y ago
The fact that it's meaningless to you doesn't mean it doesn't have any meaning :) Your "hideously complicated type theory" is many peoples' "hideously horrible paren-based syntax" - i.e. Lisp. So, how
167.
▲
Show HN: Sherlock, an interactive json log viewer in the browser
(github.com)
3 points
by
pka
10y ago
|
0 comments
168.
▲
by
pka
10y ago
I made something similar [0] for Pentadactyl [1], a vim-like extension for Firefox. By pressing Cmd-D the user is prompted to enter a tag, and after that a .webloc (essentialy a link) file is created in a subfolder determined by the tag nam
169.
▲
Show HN: Usercfg – a remote account configuration tool for developers
(github.com)
4 points
by
pka
10y ago
|
0 comments
170.
▲
by
pka
10y ago
I agree, stack traces are a good thing. For the time being, make a helper function: ixWithString :: String -> Int -> Array a -> a check the bounds inside and error out with a custom message when the index is outside the array bound
171.
▲
by
pka
10y ago
I am not following Elm closely and may be wrong, but I'd be surprised. The creator (Evan) is really picky about having unsafe features in the language. It's even impossible to upload a package to the official repository containing
172.
▲
by
pka
10y ago
I.e. look at how PureScript does it [0]. Haskell could do the same. [0] https://pursuit.purescript.org/packages/purescript-arrays/3....
173.
▲
by
pka
10y ago
Because of types, basically. You can construct the core data structures of your program and the types of the functions operating on those data structures without having to actually implement said functions. When the types fit together, i.e.
174.
▲
by
pka
10y ago
Back then I would have loved to do it because of the exact reasons you mention (i.e. it would have been a perfect case study of the same project implemented in two different languages), but unfortunately I wasn't at liberty to disclose
175.
▲
by
pka
10y ago
> That is precisely the job of responsible management: to stop technical teams from using expensive technologies, that are not only unproven, but hardly have any actual anecdotal information at all. The precise difference between managem
176.
▲
by
pka
10y ago
> Initially, you're spending a lot of time prototyping, fumbling around trying to find the right abstractions. Here Haskell mostly gets in the way The opposite is true: here Haskell helps to find the right data structures/abstr
177.
▲
by
pka
10y ago
Photoshop on Linux?
178.
▲
by
pka
10y ago
This is insane. Even keeping two different views in sync in different parts of an application without a framework is so much work it's not worth the effort, let alone building a whole SPA. But to each their own.
179.
▲
by
pka
10y ago
Having a good type system would be a good start :)
180.
▲
by
pka
10y ago
I agree the blog post wasn't professional, but there was none of that tone where it mattered, the Github issue. I can see where his frustration stems from though, getting a response like "I don't want to unless you show me a
More ›