Skip to content

i-tu/Hasklig

Repository files navigation

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

Code Ligatures

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

Hasklig

Hasklig Sample

Source Code Pro

Source Code Pro Sample

Download OTF font

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 code font with monospaced ligatures

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 41