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