Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

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: FlowchartFun
Node A goes to: Node B
Example from 1 languages: Particles
example title Particle Notation
Example from 1 languages: Scroll
* A link to PLDB https://pldb.io
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 1 languages: Crap
// Similar to python or lua
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, Nim, YAML, Elm, Pug, F#, PureScript, HAML, Make, Sass, reStructuredText, Imba, Literate CoffeeScript, FlowchartFun, wisp, Particles, Nemerle, Boo, Scroll, SCSS, Cyber, XL, LiveScript, Stylus, Org, Inform, Argdown, ABC, Cobra, bog, Occam, Genie, Curry, Miranda, Cirru, Z, Spin, Ohayo, Aldor, ISWIM, Speedie, Quaint, ELFE, Crap, Calcit, Note, PROMAL, TQL, Space, BuddyScript, p4p, beads-lang, Truth, Sweet Expressions, noon, Indental, Misty, Sheep, McKeeman Form, I-expressions, converge, Ordered graph data language, CSL, net-format, MADCAP VI, MADCAP, bml

*

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

*

View all concepts with or missing a hasSemanticIndentation measurement

*

Read more about Semantic Indentation on the web: 1.

- Build the next great programming language Add Issues About Search Keywords Livestreams Labs Resources Acknowledgements