Skip to content

silky/Hasklig

 
 

Repository files navigation

N.B. This is a fork of the Source Code Pro repository

Hasklig - Ligatures for Haskell code

Programming languages are limited to relatively few characters. As a result of a limited character set, combined character operators surfaced quite early, such as the widely used arrow (->), comprised of a hyphen and greater sign. It looks like an arrow if you know the analogy and squint a bit.

Composite glyphs become especially problematic in languages such as Haskell which utilize these complicated operators (<-, ::, =>, -<, >>= etc.) extensively (over 100 in lens alone!). Prettified code improves readability considerably - some Haskell programmers have even resorted to unicode symbols (ie. , etc.). This opens a whole new can of worms. In addition to encoding/compatibility problems and all the reasons it never worked out in APL, these symbols are one-character-wide and therefore eye-strainingly small.

Hasklig solves this problem the way typographers have always solved ill-fitting characters which co-occur often: ligatures. The underlying code stays the same — only the representation changes.

Download

Hasklig

Hasklig Sample

Source Code Pro

Source Code Pro Sample

Support

Let me know how your editor is supported.

Editors with known ligature support

  • Leksah
  • TextEdit
  • Atom (add text-rendering: optimizeLegibility; to your .editor css.)
  • Chocolat
  • Kate
  • KWrite
  • gEdit

No ligature support

  • Any terminal editor
  • Sublime Text (Vote for the enhancement here)
  • MacVim

To Do

  1. Glyph substitution for \λ and .
  2. Terminal support (for example iTerm2)

About

Hasklig - a Haskell code font with monospaced ligatures

Resources

License

Stars

Watchers

Forks

Packages

No packages published