Measures Concepts
GitHub icon

Semantic Indentation

Semantic Indentation - language feature

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

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

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

This question asks: Does the language use semantic indentation?

Read more about Semantic Indentation on the web: 1.

HTML of this page generated by Features.ts

View source

- Build the next great programming language Search Add Language Features Creators Resources About Blog Acknowledgements Queries Stats Sponsor Day 605 feedback@pldb.io Logout