When comparing Bitstream DejaVu Sans Mono vs Hasklig, the Slant community recommends Bitstream DejaVu Sans Mono for most people. In the question“What are the best programming fonts?” Bitstream DejaVu Sans Mono is ranked 13th while Hasklig is ranked 28th. The most important reason people chose Bitstream DejaVu Sans Mono is:
It's easy to distinguish between characters such as I, 1, l, O, and 0 in DejaVu Sans Mono.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very clear distinction between similar characters
It's easy to distinguish between characters such as I, 1, l, O, and 0 in DejaVu Sans Mono.
Pro Clean, readable design
Reading the text is pleasant and effortless. Letter forms combine nicely into words.
Pro It's subtle, yet stylish and extremely readable, very easy on eyes and very effective for long development sessions
Pro Nice uniform spacing
The font is well spaced and doesn't break up words.
Pro Excellent unicode support
DejaVu Sans Mono has one of the most complete Unicode fonts available. This means you have access to a wide range of special symbols including mathematical symbols like arrows, operators, and special alphabets. This is useful for certain languages that require special characters like Agda.
Some languages allow using these characters optionally. There are editor modes that display characters like this without changing the underlying file, much like syntax highlighting. The Emacs modes for OCaml and Haskell are prime examples.
Pro Available with every linux distribution and works fine in vim, emacs and atom
It's also included in modern versions of Windows.
Pro Bold font is the same width as the regular weight font
The Sans Mono version is graphically close to Andale Mono (Microsoft core web font), slightly bolder, with the added bonus of the bold font being the same width as the regular one (unlike Andale Mono). It is a nice property with some syntax highlighting text editors.
Pro Closely related to MobaFont
For MobaXterm users, this font closely mirrors the embedded MobaFont so they can use a monospace font across other applications.
Pro Great for Haskell
Pro Has a heavier appearance than Fira Code or Monoid
Pro Completely free and open source
Freely available via GitHub, therefore can be modified and improved by anyone.
Pro Has many variants such as Italic, Bold Italic, Light, Semibold, etc., etc
Cons
Con Crowded bold styles
At size 12, in bold text, some letters bump up against each other too closely, greatly reducing legibility.
Con Tilde character lacks curvature
The tilde character in this font ('~') does not have enough curvature to be read easily at small sizes. This can be a concern for Unix(-like) shell users and script writers, as the tilde is used relatively often compared to other symbols.
Con The "-" symbol is short
For example, when using the '-' symbol for borders, it's super short in this font.
Con No ligatures
Missing programming ligatures.
Con Dotted zero
Dotted zero is less readable than slashed zero.
Con Not suitable for Vietnamese
This font is really ugly when used with Vietnamese characters.
Con Missing some Vietnamese characters
ấ, ề, ự, etc. are missing in DejaVu Sans Mono.
Con Some characters are similar
Small 'L', capital 'i' and 1 are too similar.
Con Too much serif on lowercase L
Lowercase L has a top left serif and a bottom right curved serif, and both are too long; so long that they make lowercase L look like an uppercase i.
Con Lacks !=
Some coding fonts with ligatures, like Fira Code, turn != into ≠, but Hasklig does not. The reason for this is that Hasklig was designed for Haskell code, and so turns /= into ≠ instead.
Con Some Ligatures like -<< don't look that good.
Con Has a heavier appearance than Fira Code or Monoid
Con No support for many editors, including emacs
Unfortunately, not supporting emacs is the number one reason I don't use this font all the time.
Con Very cute but not WYSIWYG
You want to see exactly what you've typed, not have your brain have to do a little dance every time you see one of these artifacts.