HN user

dons

9,590 karma

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

Posts364
Comments510
View on HN
glean.software 4y ago

Glean – System for collecting, deriving and querying facts about source code

dons
213pts81
m-cacm.acm.org 6y ago

Scaling Static Analyses at Facebook

dons
126pts25
code.facebook.com 8y ago

Facebook open-sources RacerD: Fast static race detection at scale

dons
32pts0
hbr.org 9y ago

If Your Boss Could Do Your Job, You’re More Likely to Be Happy at Work

dons
3pts0
devel.unikernel.org 10y ago

Haskell/HalVM EC2 Unikernel: One Step Haskell Unikernels

dons
4pts0
www.economist.com 11y ago

China’s stock market bubble: A goring concern

dons
91pts61
www.haskell.org 11y ago

The New Haskell.org

dons
312pts103
microsoft.github.io 11y ago

Bond – An extensible framework for working with schematized data

dons
99pts41
takenobu-hs.github.io 11y ago

The Illustrated GHC [pdf]

dons
58pts11
www.edx.org 11y ago

Eric Meijer's MOOC -Introduction to Functional Programming – Starts Wednesday

dons
4pts0
www.prweb.com 12y ago

ACM Turing Award to Leslie Lamport

dons
1pts0
gergo.erdi.hu 12y ago

Compiling Brainfuck to the MMU Turing tarpit via a MOVDBZ machine

dons
6pts1
www.reddit.com 12y ago

Announcing GHC cross-compilation for iOS

dons
8pts0
coldwa.st 12y ago

Making builds purely functional: cabal sandboxes for Haskell

dons
3pts0
haskell.cs.yale.edu 12y ago

Mio: A High-Performance Multicore IO Manager for GHC [pdf]

dons
226pts78
www.leafpetersen.com 12y ago

Measuring the Haskell Gap [pdf]

dons
148pts35
gist.github.com 13y ago

The Indexed Privilege Monad in Haskell, Scala, and C#

dons
1pts0
chris-taylor.github.io 13y ago

The Algebra of Algebraic Data Types

dons
129pts14
lukepalmer.wordpress.com 13y ago

Semantic design of programs

dons
1pts0
fryguybob.github.io 13y ago

A detailed look at GHC's STM implementation from a non-GHC hacker

dons
1pts0
www.fpcomplete.com 13y ago

Parsing Floats in Haskell With Parsec

dons
5pts0
www.fpcomplete.com 13y ago

School of Haskell : tutorials with live code

dons
5pts0
www.infoq.com 13y ago

Introduction to Concurrent Haskell - Simon Marlow

dons
2pts0
blogs.operationaldynamics.com 13y ago

An HTTP client in Haskell using io-streams

dons
41pts16
www.reddit.com 13y ago

Draft of "Parallel and Concurrent Programming in Haskell" open for comment

dons
5pts0
www.infoq.com 13y ago

Parallelism and Concurrency with Haskell and Cloud Haskell

dons
71pts1
fpcomplete.com 13y ago

School of Haskell Goes Beta

dons
179pts69
stackoverflow.com 13y ago

Conal Elliott: why lazy evaluation matters

dons
1pts0
ianwookim.org 13y ago

Hoodle - A lovely PDF annotator/note taking program written in Haskell

dons
4pts1
dubhrosa.blogspot.co.uk 13y ago

Why learning Haskell makes you a better programmer

dons
205pts98

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

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.

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.

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/

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.

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.

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.

Cloud Haskell 11 years ago

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.

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.

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?

Actually wouldn't be a fork. It's just an alternative Prelude library. People do this occasionally. The result tends to be idiosyncratic.

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...