Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pufuwozu
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
1.
▲
by
pufuwozu
4y ago
The article has nothing to do with Haskell, other than it's what I use. Why should I have to justify that when I want to talk about architecture diagrams? Would the same expectation be in place of my examples were in JavaScript? I doub
2.
▲
by
pufuwozu
4y ago
Oh are you intimately familiar with Atlassian's systems? Marketplace is Atlassian Marketplace, a real website, REST API and bunch of frontend components. If it's not part of an architecture, what is it? I did simplify Commerce, th
3.
▲
by
pufuwozu
4y ago
I've used it a bunch. It's pretty good! I think the Java API could use more types and less mutation but it works well.
4.
▲
by
pufuwozu
4y ago
I don't often show architecture diagrams to non technical people BUT I also definitely don't show most technical people this Haskell code. I also don't show them the PlantUML. I show them the png image.
5.
▲
by
pufuwozu
4y ago
Atlassian Marketplace's architecture diagrams change constantly. Altassian replaces a core system, we have to integrate with a new one, we rewrite or replace a system. Did you read the part about generating diagrams from different thi
6.
▲
by
pufuwozu
4y ago
I didn't mention it, but I do write architecture diagrams which have input. data Version = Current | Future generate :: Version -> Diagram Implementation uses a few if/else expressions. Really simple. The final po
7.
▲
by
pufuwozu
12y ago
Hey everyone, I'm the creator! Sorry for the problems - I was hotlinking to the awesome http://rawgit.com/ website during development and forgot to remove it before posting it on Twitter. The website should be fixed in
8.
▲
by
pufuwozu
13y ago
No processing necessary. Just upload JSON. The Quirrel language is much more high level than the API for ElasticSearch. It comes with things like machine learning (e.g. clustering and linear regression): http://precog.com/de
9.
▲
by
pufuwozu
13y ago
I worked on Precog. Here's my explanation: It's an analytics platform for big data. Basically, you upload lots of JSON, use the custom language ( http://quirrel-lang.org/ ) for analytical queries and the platform wi
10.
▲
by
pufuwozu
14y ago
TDD increases the chance that more people will mock Absolutely false. Try TDD in Haskell. Know how many mocking libraries there are in Haskell? None. Totally unnecessary.
11.
▲
by
pufuwozu
14y ago
It's too slow. Now what? You have to use asymptotic analysis to figure out that it's O(n^3) but can actually be performed in O(n) - then write the derived code from your analysis. Nothing has changed. Customers care; transitively.
12.
▲
by
pufuwozu
14y ago
Author here. I use Haskell for a lot of webapps. Here's a webapp that talks to GitHub: http://licentious.herokuapp.com/ https://github.com/pufuwozu/licentious Here's a programming language competition that I organise: http://www.pltgam
13.
▲
by
pufuwozu
14y ago
Did you read the conclusion of TFA? > Analysis is the method for writing code that satisfies our constraints. Neither TDD nor types are the single answer to writing code that does what we want.
14.
▲
by
pufuwozu
14y ago
Author here. Sadly our WordPress didn't have caching enabled so here's a Gist of the content: https://gist.github.com/pufuwozu/5095510
15.
▲
by
pufuwozu
14y ago
From what I can tell, Bryan mostly works in Python and C at Facebook.
16.
▲
Do you have what it takes to be a Precog Engineer?
(precog.com)
2 points
by
pufuwozu
14y ago
|
0 comments
17.
▲
by
pufuwozu
14y ago
Even GHC's (Haskell) REPL executes side-effects.
18.
▲
by
pufuwozu
14y ago
Exactly. The promises spec defines the Promise monad. The problem is that JavaScript doesn't have monadic syntax, which would make the code a lot more readable.
19.
▲
by
pufuwozu
14y ago
As a creator of an "altJS" language, I've been thinking about this for a long time. I wanted a VM in the browser for years and was a huge fan of Silverlight/Moonlight but I recently changed my mind. Higher level languages are easier to opti
20.
▲
by
pufuwozu
14y ago
There's a way without exceptions. Use an ErrorT[Promise[A]] monad. I've done this in Scala before and it is so much simpler than the JavaScript convention you pointed out. It allows you to write code like this: val query = "Brian"
21.
▲
by
pufuwozu
14y ago
Thank you. It's really quite depressing to visit Hacker News and see it filled with people being unopen to intelligent ideas to make things better.
22.
▲
by
pufuwozu
14y ago
Yes. Elm is a FRP language that compiles to JavaScript. View source on some of the examples: http://elm-lang.org/Examples.elm
23.
▲
by
pufuwozu
14y ago
Callbacks are different than gotos in that they are aren't even remotely close to gotos. The analogy is that callbacks create non-linear control flow. Using a monadic syntax like in Roy, we can easily have callbacks without having them lo
24.
▲
by
pufuwozu
14y ago
That checking is by definition, not type safety. What you're talking about now is totality. Both Haskell and Clojure allow non-total functions (functions which may not return a result) - the checking that they do are to stop undefined resul
25.
▲
by
pufuwozu
14y ago
type-safety checking is performed at runtime That doesn't really make sense to a type theorist. The definition of "type-safety" is only applicable statically. What checking is done at runtime?
26.
▲
by
pufuwozu
14y ago
I've read a few of Gilad's papers - I just don't see how they can be practical in a world of third-party libraries (e.g. author A hates types, I like type-safety but I have to settle for none when I use that library).
27.
▲
by
pufuwozu
14y ago
Overall, the work described in this dissertation leads to the conclusion that it appears to be both practical and useful to design and implement an optional static type system for the Clojure programming language. I'm a huge type safety f
28.
▲
by
pufuwozu
14y ago
I've been using Spectacle for a while and I am working on a port of Xmonad to OSX: https://github.com/pufuwozu/osxmonad So I was really interested in trying out this fork. A couple of problems: * Doesn't look like tiling is automatic, you
29.
▲
by
pufuwozu
14y ago
Sucks that it has to be so stringly typed, but I can't see another alternative. Multimethods would be an alternative to this type of ad-hoc polymorphism. I've encoded immutable multimethod environments in my new library, bilby.js: https:
30.
▲
by
pufuwozu
14y ago
A lot of functional constructs heavily rely on parametric polymorphism. For example: map :: (a -> b) -> [a] -> [b] Interfaces can't provide this type of code reuse.
More ›