The Stroscot Programming Language
Stroscot is an imperative programming language designed for modern processors.
Links:
Contents:
- Getting started
- How to
- Language Reference
- Build system
- Code of conduct
- Dispatch
- Errors
- Ambiguous identifier
- Automatic error propagation
- Bad indentation
- Shadowing in a block
- Confusuable Unicode
- Default arguments
- Deprecated default arguments
- Equal priority clauses
- Failed assert
- Implicit argument not passed
- Inapplicable to type
- Invalid UTF8
- Map on non-collection
- Meaningless term
- Missing override
- Shadowing nested block
- No fixed point
- Nondeterministic use of concurrency
- Nondeterministic use of exceptions
- Top-level non-deteterministic dispatch
- Applying a non-function
- Non-NFC
- Non-syntactic use of variadic arguments
- Too many arguments
- Typos in variable name
- Unhandled exception
- Unreachable case
- Unreducible expression
- Unused argument
- Unused import
- Unused result
- Unused definition
- Metaprogramming
- Library
- Logic
- Memory
- Modules
- Syntax
- Values
- Commentary
- Language specification
- Aspects
- Assembly
- Concurrency
- Dispatch
- Evaluation strategy
- Exceptions
- As fast as C
- Functional logic
- Logic
- Logic programming
- Macros
- Memory
- Modules
- Objects
- Operational primitives
- Posets
- Resource management
- Security
- Sets
- Stateful programming
- Term rewriting
- Types
- Values
- Verification
- Implementation
- Libraries
- Build system
- Compiler library
- Synthesizing
- Importing
- Scope
- Booleans
- Numbers
- Matrix multiplication
- Strings
- Files
- Poison values
- Null
- Relations
- Posets
- Primitive values
- Tables
- Typed collections
- Transactional memory
- Iterators
- Work stealing task queues
- Properties
- Conversion
- Promotion
- Equality and comparison
- Value representation
- Terms
- Data structures
- Serialization
- Function pipelines
- Lists
- Date/time
- Dictionaries
- Bags
- Pointers
- References
- Mathematical structures
- Units
- Multimedia
- Graphs
- Chemicals
- Databases
- Regular expression
- GIS
- Quantum computing
- Infinite values
- Modules
- Qualified symbols
- Portable operations
- Testing
- Package manager
- Parsing
- Exemplary programs
- Standard library
- Symbolic computing
- Syntax
- Customization
- Principles
- Design procedure
- Influences
- Text-based
- Familiarity
- Hungarian notation
- Keep syntax and semantics separate
- Filenames
- Unicode
- Natural language
- Desugaring
- Assignment
- Type declarations
- Namespacing
- Partial loading
- Specificity
- Comments
- Linebreaks
- Indentation
- Layout
- Delimiters
- Function syntax
- n+k patterns
- Pattern matching / conditionals
- Conditionals
- Tuples and records
- Precedence
- Logic programming
- Functional programming
- Go syntax notes
- DSLs
- Identifiers
- Reserved words
- Operators
- Expressions
- Chained Comparison
- Variables
- Clauses
- Lambdas
- Definitions
- Control structures
- Programs
- Reasoning footprint
- Time API
- Units
- Meta
- Language specification
- References