Top 1,000 Features Creators Resources Extensions Blog Explorer CSV Download
GitHub icon

Semantic Indentation

< >
Example from 1 languages: Python
class Person (object): def __init__(self, name): self.name = name
Example from 1 languages: 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 1 languages: Scroll
* A link to PLDB https://pldb.io
Example from 1 languages: Scroll Notation
example title Scroll Notation
Example from 1 languages: Cirru
print + 1 2 , 11
Example from 1 languages: Z
defun message msg do print : Here's a message print msg print : End of message.
Example from 1 languages: Speedie
class Person |string| name
Example from 2 languages: Note, Space
settings title Note
Example from 1 languages: Sheep
define pythtree ax:real ay:real bx:real by:real depth:int do cx = ax-ay+by end
*

Languages with Semantic Indentation include Python, Haskell, CoffeeScript, Markdown, YAML, Nim, Elm, F#, Pug, PureScript, HAML, Make, Sass, reStructuredText, Literate CoffeeScript, Imba, wisp, Boo, Nemerle, SCSS, Scroll, Scroll Notation, Org, Stylus, Inform, XL, LiveScript, ABC, Cobra, Argdown, Occam, Genie, Curry, Cyber, Miranda, bog, Spin, Cirru, Z, Ohayo, ISWIM, Aldor, Speedie, Quaint, ELFE, PROMAL, BuddyScript, TQL, Note, Space, p4p, beads-lang, Truth, Sweet Expressions, noon, Indental, Sheep, CSL, MADCAP VI, mckeeman-form, net-format, I-expressions, converge, Ordered graph data language, MADCAP, bml

*

Languages without Semantic Indentation include JavaScript, C, Java, HTML, CSS, Perl, Ruby, PHP, JSON, XML, Go, TypeScript, SQL, C#, R, Bash, PowerShell, Swift, Rust, Scala, Lua, MATLAB, Kotlin, Clojure, Elixir, Objective-C, SAS, Julia, Erlang, Prolog, Mathematica, Dart, COBOL, CUDA, Visual Basic, Ada, Pascal, Solidity, TOML, Racket, Fortran, PostgreSQL, Crystal, D, Reason, MySQL, Scheme, Haxe, GraphQL, Groovy, awk, Tex, OCaml, Chapel, SPSS, LLVM IR, Smalltalk, SVG, HCL, VHDL, Idris, Protocol Buffers, Forth, Visual Basic .NET, Ini, Deno, JSON5, Yacc, APL, ARM, OpenCL, LaTeX, J, Red, fish, Embedded Crystal, Maple, ANTLR, odin, Delphi, IDL, Standard ML, V, ABAP, PostCSS, Stata, Tcl, Verilog, ActionScript, FLUX, KaTeX, Dhall, BASIC, Hy, Ballerina, Fennel, starlark, AutoHotkey, Factor, Squirrel, PostScript, Wren, Common Lisp, XQuery, ColdFusion, Smali, Eiffel, API Blueprint, PEG.js, MoonScript, Flow, MUMPS, Zephir, EDN, VBScript, NetLogo, Frege, DOT, Lex, Nginx, carp, Logo, Pig Latin, GNU Octave, M4, Vala, Koka, PL/SQL, Jsonnet, Eve, Terra, Opa, C3, QML, PRQL, Halide, Nearley, Dafny, Processing, mlir, Agda, Nextflow, PL/I, Jison, Emacs Lisp, Wolfram Language, Hack, Regular Expressions, POV-Ray SDL, Ceylon, Hjson, Applescript, AMPL, SystemVerilog, YASnippet, DTrace, progsbase, Expect, x86 Assembly, unison, Taichi, Modula-2, GAP, Rexx, Click, Cue, Oberon, ECL, JAI, Scilab, Slope, mgmt, idyll, AutoIt, Golo, AGC, WDL, Simula, ALGOL 60, Clean, eC, Transact-SQL, PowerBuilder, Felix, Sage, CWL, Ron, Bison, Mercury, BCPL, Mirah, Ring, CIL, AspectJ, K, SuperCollider, Observable, Mu, Dylan, EBNF, Datalog, Modula-3, Oz, Xojo, TLA, Closure Templates, datascript, Logica, Neko, B, REBOL, SugarSS, Maxima, Lily, Modelica, Raku, Self, JCL, xBase, ATS, JFlex, CLIPS, Fancy, Veryl, Io, Isabelle, Fantom, NSIS, Xtend, LFE, Pike, Object Pascal, ArkScript, NCAR Command Language, Befunge, NewLisp, X10, Lasso, Java Properties, LilyPond, SourcePawn, PAWN, mun-lang, OpenSCAD, Turing, Logtalk, P4, Whiley, Icon, Csound, E, Filebench WML, PureBasic, Dockerfile, UrWeb, JSON with Comments, Cg, Angelscript, IGOR Pro, Ch, LiveCode, Clipper, Objective C++, dlvm, lispyscript, Limbo, JADE, Monkey, Gherkin, Logos, Euphoria, Java Bytecode, GDScript, Guile, SNOBOL, Objective-J, XSLT, Classroom Object Oriented Language, Ragel, Alloy, Harbour, spry, Vigil, Mask, Ren'Py, Volt, PicoLisp, Apex, CIL, dex, Falcon, MQL5, Pan, Praat Script, FreeBASIC, Concise Encoding, Spatial, Netwide Assembler, OCL, Tea, Croc, OX, Augmented Backus-Naur Form, C shell, Seed7, neut, PL/M, popr, Script.NET, UNLAMBDA, Linden Scripting Language, Fortress, Not Quite C, spiral, Opal, PARI/GP, Gentoo Ebuild, LPC, DM, NetLinx, BitBake, RELAX NG, Jule, MAXScript, NestedText, Eclipse Command Language, Game Maker Language, Bluespec, S-PLUS, Jasmin, Oberon-2, HOPE, Strips, Dc, SETL, Structured Query Reporter, BETA, ldpl, Cycript, HiveQL, SMT, Unicon, monte, Vale, Gambas, Slice, XS, CIR, Rc, LoomScript, dedukti, WebIDL, Hocon, PIC, Sather, Joy, COMPONENT PASCAL, Lingo, LotusScript, storyscript, MiniD, Cell, CartoCSS, Nymph, Ezhil, Grammatical Framework, LookML, Refal, SRecode Template, Type Language, RenderScript, gentee, Not eXactly C, Brightscript, Adventure Game Studio Script, Maya Embedded Language, Edje Data Collection, GCC Machine Description, ShaderLab, KRL, BLISS, HAGGIS, Orc, QB64, Charity, CLIST, MOO, Parser 3, Mouse, Action!, kai, Frink, PowerBASIC, ARexx, S-algol, tht, NetRexx, XBase++, KiXtart, Alpine Abuild, silk, manool, Project Mentat, OpenVera, Wart, Heron, MVEL, JS++, EuLisp, Yet Another Scripting Language, NS Basic, Mary, Yoix, Recfiles, Simple Actor Language System and Architecture, Plus, Lite-C, Rescript, Fj枚lnir, winxed, xxl, Judoscript, carth, Bel, Language Server Index Format, neeilang, Rust MIR, taf, FutureBASIC, VHDL-AMS, Handel-C, Tuple space, Xbasic, SIL, PowerQuery M, True BASIC, Claro, owen-lang, SimCode, blockml, OEM, Ion, Ren, Pnuts, S3, MACRO-10, XPL0, ISETL, ActiveVFP, Fable, Action Code Script, omega, ProbeVue, z80, blz, CLOS, StarOffice Basic, hilvl, False, Operational Control Language, Arden syntax, JCOF, Atomese, fizz, flagship, Guix Workflow Language, Zimpl, ThinBasic, JSL, epsilon, Plot, rosette-lang, stella, OptimJ, holyc, Treelang, XBLite, lain, verifpal, Cach茅 Basic, Fibonacci, FML, Parrot BASIC, Module Management System, WxBasic, Finite State Language, Literate Agda, Reactive Plan Language, Soy, ArchieML, Bla, luau, Turbo Basic, ca65 Assembly, GraphQL Schema Definition Language, rbs, Manchester syntax, StruQL, SubX, Yedalog, CFScript, bioscript, ctalk-lang, dslx, Portable Bit Map Format, Netpbm grayscale image format, ppm-format, Creative Basic, txr, wescheme, ddfql, turnstile, rbscript, tremor-query, sora, zephyr-asdl, WebAssembly Text Format

*

View all concepts with or missing a hasSemanticIndentation measurement

*

Read more about Semantic Indentation on the web: 1.

View source

- Build the next great programming language About Acknowledgements Part of the World Wide Scroll