PLDB
Languages Features Calendar About Lists Add Language
GitHub icon

Features

Features

A list of 117 features found in programming languages.

Is PLDB missing a feature? Create a new file with a name like *-feature.pldb in the things folder and send a pull request.

feature psuedoExample yes no percentage
Comments # Hello PLDB 605 3 100%
Line Comments # Hello PLDB 509 21 96%
Strings "Hello PLDB" 348 0 100%
Print() Debugging print "Hello PLDB" 309 0 100%
MultiLine Comments /* Hello PLDB */ 211 18 92%
Integers int pldb = 1 143 0 100%
Floats int pldbPercentile = .01 124 0 100%
Hexadecimals sixteen = 0x10 100 0 100%
Booleans pldb = true 100 3 97%
Conditionals if (isTrue) printPldb() 61 3 -
Semantic Indentation line0 if true line1 print "Hello PLDB" 54 514 10%
Octals eight = 010 48 0 -
Binary Literals two = 0b10 43 0 -
While Loops while (pldb.pop()) loop() 42 1 -
Assignment name = "PLDB" 37 0 -
Functions function computePLDBRanks() {} 33 1 -
File Imports import pldb 33 2 -
Operator Overloading def __add__(): doSomethingDifferent() 30 10 -
Classes class PLDBFile {} 27 0 -
Constants const name = "PLDB" 21 0 -
Switch Statements switch animal: case dog-buy; case cat-sell; 19 0 -
Exceptions throw new Error("PLDB uh oh") 18 0 -
Directives use strict; 17 0 -
Pointers int *pldb 16 3 -
Access Modifiers class PLDBFile { public title } 14 1 -
Multiple Inheritance extends parentWhichExtendsSomethingElse 13 1 -
Inheritance class PLDBFile extends File 13 0 -
Case Sensitivity pldb != PLDB 13 8 -
Constructors PLDBFile { constructor() {} } 12 0 -
Garbage Collection var iDontNeedToFreeThis 11 5 -
Message Passing "get pldb" 10 0 -
Macros #define pldbItems 4000 10 3 -
Static Typing int pldbRank = 100 7 0 -
Single Dispatch person.run() 7 0 -
Lists [2, 3, 10] 7 0 -
Regular Expression Syntax Sugar /pldb/ 6 3 -
Module Pattern module PLDB {} 6 0 -
Mixins extends pldbFile, diskFile 6 0 -
Iterators for lang in pldb() 6 0 -
Interfaces interface PLDBFile 6 0 -
Function Composition o = (f, g) => x => f(g(x)) 6 0 -
Units of Measure 42cm 5 3 -
Threads thread1(); thread2(); 5 0 -
Pattern Matching fib 0 = 1; fib 1 = 1 5 0 -
Partial Application add5 = num => addNumbers(10, num) 5 0 -
Multiline Strings hello = """Hello\nPLDB""" 5 1 -
Increment and decrement operators i++ 5 0 -
Homoiconicity (list ()) 5 0 -
Generics function identity<T>(arg: T): T 5 0 -
Case Insensitive Identifiers pLdB = "PLDB" 5 1 -
Bitwise Operators 3 == (2 | 1) 5 0 -
Typed Holes 2 + _ => 2 + [int|float] 4 0 -
Type Casting (float)pldbRank; 4 0 -
Namespaces namespace PLDB {} 4 0 -
Multiple Dispatch collide_with(x::Spaceship, y::Spaceship) 4 1 -
Infix Notation 1 + 2 4 0 -
Generators yield 2 4 0 -
Async Await async downloadPldb => await getFiles() 4 1 -
Variadic Functions args.map(doSomething) 3 0 -
Templates template TCopy(T) {} 3 0 -
Symbol Tables SymbolName|Type|Scope;bar|function,double|extern 3 0 -
Shebang #! /run 3 0 -
Range Operator 1 ... 10 3 0 -
Postfix Notation 2 3 4 + 2 - 3 0 -
Polymorphism a + "b"; 1 + 2 3 0 -
Pipes ls pldb | wc 3 0 -
Merges Whitespace result = 1 + 2 3 0 -
Maps {name: "PLDB"} 3 0 -
Gotos goto 10 3 0 -
Destructuring {title, rank} = pldbFile 3 0 -
Dependent types pldbSortedList // a list where is sorted is true 3 1 -
Anonymous Functions () => printPldb() 3 0 -
Union Types any = string | number 2 0 -
Structs struct pldbFile { int rank; char *title; }; 2 0 -
Single-Type Arrays const pldbRanks: int[] 2 0 -
Sets {"pldb", "PLDB"} 2 1 -
References fn(objPointer) 2 0 -
Prefix Notation + 1 2 2 0 -
Map Functions pldbFiles.map(downloadFilesFn) 2 0 -
Manual Memory Management malloc(4); 2 0 -
Magic Getters and Setters get(name) => obj[name] 2 1 -
Letter-first Identifiers pldb100 = "OK" // 100pldb = "ERROR" 2 0 -
Function Overloading add(string: str, string2: str) 2 2 -
First-Class Functions [2.1].map(Math.round) 2 0 -
Dynamic Properties pldb.score = 50 2 0 -
Duck Typing length() // makes me an iterator 2 0 -
Dispose Blocks Pattern with pldb: do computeRanks() 2 1 -
Disk Output write("pldb.csv", "...") 2 4 -
Default Parameters Pattern say(message = "Hello PLDB") 2 0 -
Assert Statements assert(isTrue) 2 0 -
Algebraic Data Type garageContents = empty | vehicle 2 0 -
Zippers pldbCursor.moveLeft() 1 0 -
Virtual function virtual FetchPLDBFile(); 1 0 -
Unicode Identifers δ = 0.00001 1 0 -
Unary Operators count++ 1 0 -
Type Parameters function identity<T>(arg: T): T {return arg} 1 0 -
Triples Javascript isListedIn PLDB 1 0 -
Traits use redBorder 1 0 -
Ternary operators true ? 1 : 0 1 0 -
Supports Breakpoints debugger; 1 0 -
Streams echo 123 | 123.txt 1 0 -
Static Methods static downloadPldb() {} 1 0 -
Statements print "Hello PLDB" 1 0 -
Source Maps {file: 'pldb.min.js',sources: ['pldb.js'], mappings: 'CAAC,IAAI,IAAM'} 1 0 -
Runtime Guards f x | x > 0 = 1 | otherwise = 0 1 0 -
Refinement Types evenInt where int % 2 = 0 1 0 -
Processor Registers eax 2 1 1 -
Monad g >>= f 1 0 -
Methods pldbFile.downloadWebsite() 1 0 -
Method Chaining pldbFile.toString().length 1 0 -
Lazy Evaluation print(range(1000000)[2]) 1 0 -
Implicit Type Casting console.log("hello " + 2) 1 0 -
Implicit Arguments shout(implicit message: string) 1 0 -
Expressions (1 + 2) 1 0 -
Binary Operators 1 + 1 1 0 -
Abstract Types abstract class PLDBFile {} 1 1 -
Semaphores singletonIsSet = 0 0 0 -

Article source

PLDB - Build the next great programming language. v5.0.0 - Acknowledgements · Email · GitHub