Skip to content
/ BS Public

Implementation of the BS language as created by Mark Rendle at BuildStuff.lt 2014. Refer to this repo for information and canonical list of language features

Notifications You must be signed in to change notification settings

BSLang/BS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BS

Implementation of the BS language as created by Mark Rendle at BuildStuff.lt 2014

BS is a general purpose Gradually typed language which can and should be used for building absolutely everything absolutely all the time.

  • BS Hates programmers
  • Booby trapped aztec temple pit of fail
  • Programs must be edited and saved using Microsoft Word (2003)
  • Compiles to ECMAScript3

Watch the talk, recorded at SkillsMatter

##Example program

#define /^my (.*?) thing:$/class \1:/
my Greeter thing:
  public function __construct(€name)
      HALT_AND_CATCH_FIRE
    (unless €name !=== null);
    €this->name = €name;
    Delete €name;

  public function say(€thing isProbablyA String)
    echo €thing, « », €this->name, BS::EOL;
    Delete €thing;

##Language Features

  • Significant whitespace
  • Significant formatting
  • 17 bit integers
  • Variables must be prefixed by €
  • Variable hoisting from all scopes
  • Exception handling - BS has only one exception - HALT_AND_CATCH_FIRE
  • Raise exceptions conditionally with (unless <condition>)
  • String processing:
    • ' ' Single quotes for ASCII strings
    • '' '' Double single quotes for ANSI strings
    • " " Double quotes
    • "" "" Double double quotes
    • « » European quotes are used for UTF-256
    • «« »» Double european quotes used for UTF-256 with string interpolation
  • Mandatory Comments - at the end of every line, demarked by 5 spaces
  • Optionally end statements with ;
  • unless statements must be terminated with ;
  • Regex Aliasing - #define
  • Line numbers are mandatory, and must increment in steps of 42

About

Implementation of the BS language as created by Mark Rendle at BuildStuff.lt 2014. Refer to this repo for information and canonical list of language features

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages