Top 1,000 Features Creators Events Podcasts 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: Scroll Notation
example title Scroll Notation
Example from 1 languages: Scroll
* A link to PLDB https://pldb.io
Example from 1 languages: Z
defun message msg do print : Here's a message print msg print : End of message.
Example from 1 languages: Cirru
print + 1 2 , 11
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, YAML, Nim, Elm, Pug, F#, HAML, PureScript, Make, Sass, reStructuredText, Imba, Literate CoffeeScript, FlowchartFun, wisp, Nemerle, Boo, Scroll Notation, Scroll, SCSS, LiveScript, Stylus, XL, Org, Inform, ABC, Cobra, Argdown, Occam, Genie, Cyber, Curry, bog, Miranda, Z, Spin, Cirru, Ohayo, Aldor, ISWIM, Speedie, ELFE, Quaint, Crap, PROMAL, TQL, BuddyScript, Note, p4p, Space, beads-lang, Truth, noon, Sweet Expressions, 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, XML, JSON, Go, TypeScript, SQL, C#, R, Bash, PowerShell, Rust, Swift, Scala, Lua, MATLAB, Kotlin, Clojure, Elixir, Objective-C, SAS, Julia, Prolog, Erlang, Mathematica, Dart, CUDA, COBOL, Visual Basic, Ada, Pascal, Solidity, TOML, Racket, Crystal, Fortran, PostgreSQL, D, Reason, MySQL, Scheme, Haxe, GraphQL, Groovy, awk, Tex, OCaml, Chapel, SPSS, LLVM IR, Smalltalk, SVG, HCL, VHDL, Forth, Idris, Protocol Buffers, Ini, Visual Basic .NET, JSON5, APL, Yacc, Deno, ARM, Embedded Crystal, OpenCL, LaTeX, J, Red, fish, Maple, odin, ANTLR, Tcl, IDL, Delphi, Stata, Standard ML, Flow, V, ABAP, KaTeX, ActionScript, Dhall, Verilog, PostCSS, Fennel, starlark, Ballerina, BASIC, FLUX, AutoHotkey, Hy, Squirrel, PostScript, Factor, ColdFusion, Wren, XQuery, Common Lisp, Eiffel, Smali, MUMPS, PEG.js, MoonScript, DOT, EDN, API Blueprint, NetLogo, Lex, Zephir, VBScript, Jsonnet, Logo, Frege, Vala, Pig Latin, M4, PL/SQL, C3, Nginx, Koka, GNU Octave, QML, PRQL, Opa, carp, Terra, Nearley, Eve, Halide, Processing, Dafny, Agda, mlir, Nextflow, Jison, PL/I, Emacs Lisp, Wolfram Language, Hack, Taichi, AMPL, POV-Ray SDL, Hjson, Regular Expressions, Ceylon, Applescript, Expect, SystemVerilog, DTrace, Modula-2, Rexx, YASnippet, progsbase, mgmt, GAP, Cue, PowerBuilder, Oberon, ECL, ALGOL 60, Scilab, Click, idyll, Slope, JAI, AutoIt, x86 Assembly, K, Simula, unison, Clean, Golo, Transact-SQL, eC, WDL, AGC, Bison, Ron, Sage, Felix, Mercury, CWL, Ring, Observable, datascript, Mirah, BCPL, CIL, AspectJ, SuperCollider, Datalog, Logica, Dylan, Xojo, Mu, Modula-3, REBOL, TLA, SugarSS, Oz, ArkScript, Raku, Lily, JCL, xBase, Maxima, Self, Modelica, EBNF, Closure Templates, B, Neko, ATS, Fancy, Veryl, Xtend, Io, CLIPS, JFlex, Isabelle, Fantom, Pike, LFE, mun-lang, NSIS, NCAR Command Language, Befunge, NewLisp, Object Pascal, X10, SourcePawn, PAWN, OpenSCAD, Logtalk, Turing, Lasso, Icon, Dockerfile, LilyPond, Whiley, Csound, E, P4, PureBasic, Java Properties, Objective C++, lispyscript, Filebench WML, UrWeb, LiveCode, JSON with Comments, Cg, Clipper, Angelscript, IGOR Pro, dlvm, JADE, Limbo, Ch, GDScript, Monkey, Gherkin, Logos, Euphoria, XSLT, SNOBOL, Guile, Praat Script, spry, Objective-J, Classroom Object Oriented Language, Harbour, Ragel, Alloy, Volt, CIL, Pan, Apex, Ren'Py, MQL5, Mask, Croc, Concise Encoding, neut, Falcon, Spatial, dex, Java Bytecode, PicoLisp, OX, Vigil, C shell, OCL, Tea, PL/M, Seed7, spiral, Netwide Assembler, UNLAMBDA, Script.NET, Augmented Backus-Naur Form, FreeBASIC, Linden Scripting Language, popr, Opal, Fortress, Gentoo Ebuild, PARI/GP, Not Quite C, DM, NestedText, LPC, NetLinx, MAXScript, Joy, Jule, Eclipse Command Language, Jasmin, Bluespec, RELAX NG, S-PLUS, Game Maker Language, BitBake, Oberon-2, ldpl, SETL, HOPE, Vale, Dc, BETA, Strips, dedukti, Structured Query Reporter, Unicon, Cycript, SMT, monte, PIC, storyscript, Slice, CIR, HiveQL, LoomScript, Sather, COMPONENT PASCAL, Nymph, Hocon, Lingo, LotusScript, MiniD, Rc, WebIDL, Claro, Cell, Ezhil, CartoCSS, XS, Grammatical Framework, LookML, Refal, RenderScript, SRecode Template, Type Language, gentee, Gambas, Brightscript, Not eXactly C, Adventure Game Studio Script, Maya Embedded Language, KRL, Edje Data Collection, GCC Machine Description, ShaderLab, Orc, MOO, Charity, CLIST, BLISS, Parser 3, kai, Action!, HAGGIS, Frink, QB64, Mouse, tht, manool, S-algol, Wart, Project Mentat, silk, Heron, NetRexx, Recfiles, KiXtart, Yet Another Scripting Language, OpenVera, Alpine Abuild, JS++, ARexx, XBase++, MVEL, PowerBASIC, NS Basic, Yoix, xxl, Mary, Plus, winxed, Rescript, Simple Actor Language System and Architecture, EuLisp, Lite-C, carth, neeilang, Language Server Index Format, taf, Judoscript, Fj枚lnir, Bel, Rust MIR, Xbasic, FutureBASIC, Handel-C, OEM, SIL, PowerQuery M, VHDL-AMS, owen-lang, blockml, SimCode, Tuple space, True BASIC, Ion, blz, Fable, Ren, ISETL, False, Pnuts, S3, MACRO-10, XPL0, omega, Arden syntax, ProbeVue, hilvl, Action Code Script, JCOF, z80, ActiveVFP, Atomese, fizz, flagship, Guix Workflow Language, JSL, Operational Control Language, CLOS, epsilon, Plot, rosette-lang, Zimpl, ThinBasic, lain, stella, verifpal, holyc, StarOffice Basic, FML, Cach茅 Basic, Fibonacci, OptimJ, ArchieML, Bla, luau, Finite State Language, Module Management System, Soy, XBLite, Parrot BASIC, 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.

View source

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