Semantic Indentation is an actively used design pattern.

?Years Old
  • Semantic Indentation does not currently rank in our top 50% of entities I track
  • I have 58 facts about Semantic Indentation. what would you like to know? email me and let me know how I can help.
  • Read more about Semantic Indentation

Languages without Semantic Indentation include go, julia, kotlin, rust, swift, wast

Languages with Semantic Indentation include abc, aldor, argdown, bml, boo, buddyscript, cobra, coffeescript, csl, curry, elixir, f-sharp, genie, haml, haskell, i-expressions, indental, inform, iswim, literate-coffeescript, livescript, madcap-vi, madcap, makefile, markdown, miranda, nemerle, net-format, nim, occam, ogdl, org, promal, purescript, python, restructuredtext, sass, scss, spin, stylus, sweet-expressions, wisp, xl-programming-language, yaml, z-expressions

Example from purescript:

-- https://github.com/purescript/documentation/blob/master/language/Syntax.md
-- Syntax is whitespace sensitive. The general rule of thumb is that declarations which span multiple lines should be indented past the column on which they were first defined on their subsequent lines.
foo = bar +
 baz

Example from z-expressions:

defun message msg
      do print : Here's a message
         print msg
         print : End of message. 

Last updated November 21st, 2019