HNHacker News
TopNewBestAskShowJobs

dons

9,590 karma · joined August 21, 2007

Don Stewart

Functional programmer, PhD in computer science, and quantitative finance developer. I've been programming Haskell for the past 19 years. --I write trading software and lead a dev team at Standard Chartered Bank.-- I manage testing and verification at Facebook.

Co-author of the book "Real World Haskell", and of the xmonad window manager. I founded the Haskell Platform project and wrote the bytestring and binary libraries for Haskell. I'm interested in building great software, type-driven compiler optimizations and high-performance data structures.

London (prev. Singapore, New York, Portland, Sydney).

---

http://donsbot.wordpress.com/

http://twitter.com/donsbot

http://plus.google.com/115274377971493973150/

http://stackoverflow.com/users/83805/don-stewart

http://www.linkedin.com/pub/don-stewart/4/436/179

submissionscomments
dons··on Glean – System for collecting, deriving and querying facts about source code
I think the point in the space Glean hits well is efficiency/latency (enough to power real time editing, like in IDE autocomplete or navigation), while having a schema and query language generic enough to do multiple languages and code-like things. You can accurately query JavaScript or Rust or PHP or Python or C++ with a common interface, which is a bit nuts :D
dons··on Glean – System for collecting, deriving and querying facts about source code
Most clients hit the Glean server via the network (thrift/JSON) and then mostly via language bindings to the Glean query language, Angle. The shell is more for debugging/exploration.

Imagine an IDE plugin that queries Glean over the network for symbol information about the current file, then shows that on hover. That sort of thing.

dons··on Glean – System for collecting, deriving and querying facts about source code
A bit of both I think.
dons··on Glean – System for collecting, deriving and querying facts about source code
We use this to power things like find-references or jump-to-def, "symbol search" and autocomplete, or more complicated code queries and analysis (even across languages). Imagine rich LSPs without a local checkout, web-based code queries, or seeding fuzzers and static analyzers with entry points in code.

Our focus has been on very large scale, multi-language code indexing, and then low latency (e.g. hundreds of micros) query times, to drive highly interactive developer workflows.

dons··on Programming the Z3 SMT solver
Solving NP hard problems efficiently.
dons··on Pyre: Fast Type Checking for Python
And "eradicate" for Java... http://fbinfer.com/docs/eradicate.html

we love types. They help us ship stuff faster.

dons··on Haskell Typeclasses vs. C++ Classes
Lumping state with some functions that implicitly have R/W access to that state is not possible in Haskell

s/not possible/possible, but highly discouraged/

dons··on Ask HN: Who is hiring? (August 2017)
Facebook | C++/OCaml static analysis | | London, UK | Onsite | Full time

Work extending the open source Infer static analysis suite support for C++. We use Clang for the front-end and have an open role to work on this in general. The code is all OCaml. Expertise in C++ is highly desirable. The requirements are roughtly C++ AND (OCaml OR Haskell OR Static Analysis OR Formal Methods).

The work will be mostly open source.

https://www.facebook.com/careers/jobs/a0I1200000LT8aAEAT/

dons··on Ask HN: Who is hiring? (August 2016)
Standard Chartered | London and Singapore | Full-time and Contracting

10+ open positions for Haskell developers in the Strats team at Standard Chartered. 1 open position in the developer efficiency team working on our build system and tooling.

https://donsbot.wordpress.com/2016/06/03/multiple-haskell-de...

dons··on Ask HN: Who is hiring? (June 2016)
Standard Chartered | London and Singapore | Full-time and Contracting

10+ open positions for Haskell developers in the Strats team at Standard Chartered. 2 open positions in the developer efficiency team working on our build system and tooling.

https://donsbot.wordpress.com/2016/06/03/multiple-haskell-de...

dons··on Related: Pure Ruby Relational Algebra Engine
We have a typed version now - it's awesome
dons··on Ask HN: Who is hiring? (March 2016)
Standard Chartered | ONSITE | Software Engineers (full time)

https://donsbot.wordpress.com/2016/02/25/haskell-developer-r...

7+ roles for Haskell developers in London and Singapore working on a large Haskell code base for trading and risk management. Join a growing team.

dons··on The category design pattern
Yes, the tech is eating the rest of the business. You need less people after you've turned a lot of the business into an API.

I've got four open positions at the moment.

dons··on Haskell for Mac
How much is your time worth?
dons··on How it feels to join an all-Haskell startup
Habitually rewriting things in applicative and/or pointfree is a sure sign of a junior Haskell dev. One who has never had to maintain someone else's code.

There are cases where it helps (e.g. structured parsing), but all too often this is simply obfuscation. Even if motivation is good -- learning new structures -- you still have to focus on cost/benefit of each change in structure.

Keep it simple, folks.

dons··on Frag: A Quake3 engine in Haskell
git was first released in April 2005. We (Haskell community) were using dvcs through darcs for about 2 years prior to that. dvcs made a lot of sense to the Haskell open source world back then, as we didn't have servers, so central repos (like CVS or SVN) were out of the question. It had to be p2p to get off the ground.
dons··on Cloud Haskell
Yeah, it could well be that you just care about latency hiding on e.g. network services. For that raw compute and memory is much less important than having a reasonable thread scheduler and cheap threads.
dons··on Cloud Haskell
It was fun creating 3M threads on my laptop back in the day. http://www.reddit.com/r/programming/comments/a4n7s/stackless... :) memories!
dons··on Cloud Haskell
Faster and less memory intensive[1] and has a type system.

[1]: http://benchmarksgame.alioth.debian.org/u64q/compare.php?lan...

dons··on Domain-Specific Languages vs. Notation
> It is very hard to construct a DSL and once established it is cast in stone

Not if you're using embedded DSLs, which are basically rich APIs supporting variables and control structures. They can be as fluid as simpler APIs, yet have strictly greater expressive power.

dons··on In Mathematics, Mistakes Aren’t What They Used to Be
Actually computers can solve many instances of the halting problem. http://en.wikipedia.org/wiki/Microsoft_Terminator
dons··on CλaSH – From Haskell to Hardware
Maybe look at cryptol or kansas-lava as more practically-focused alternatives?
dons··on An Intuitive Use-Case for Monadic Bind and Kleisli Composition
> First let us switch to Haskell for pseudocode as I don’t want to show you the C++ that is required for this.

Hehe, but that's actual code.

> we may go back to our C++14 code base and implement the ideas there. I’m not going to show you how this can be done here, as it requires some more boilerplate code to make the compiler happy – as usual.

People are going to want to see the code, otherwise, what's the point?

dons··on Becoming Productive in Haskell
Actually wouldn't be a fork. It's just an alternative Prelude library. People do this occasionally. The result tends to be idiosyncratic.
dons··on Case Study: Using Bitcoin Derivatives in Global Trade
KES and CNY have capital controls preventing some forms of contracts and offshore delivery.
dons··on Xmonad – A dynamically tiling X11 window manager
xmonad is largely 'finished'. It works. So we don't have to keep modifying it now.
dons··on Ask HN: Who is hiring? (April 2015)
Haskell dev at Standard Chartered Bank , London UK

Strats team at Standard Chartered, London. A typed functional programming developer role on the trading floor. The role is highly development focused, and you will use Haskell for almost all tasks: data analysis, market data publishing, database access, web services, desktop GUIs, large parallel tasks, quantitative models, solvers, everything.

We have our own Haskell compiler, and many of the people involved in the development of Haskell.

Experience writing typed APIs to external systems such as databases, web services, pub/sub platforms is very desirable. The role requires physical presence on the trading floor in London. Remote work isn’t an option.

https://donsbot.wordpress.com/2015/03/16/haskell-development...

dons··on Programming at the specification level with Haskell
> the most practical and intuitive

What is intuitive to one is not necessarily intuitive to all.

dons··on Deb.haskell.org Security Breach
... wouldn't take random binary packages from random sites...
dons··on The New Haskell.org
Don't think the syntax examples on the main page are about teaching complexity. Try the wiki for that. E.g. https://wiki.haskell.org/The_Fibonacci_sequence#Naive_defini...
Page 1 of 17Next →