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