Skip to content

A simple and fun playground for tinkering and playing around with the Blade Programming Language

Notifications You must be signed in to change notification settings

blade-lang/playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blade Playground

A simple and fun playground for tinkering and playing around with the Blade Programming Language


The Blade Playground is a web service that runs on bladelang.org's servers. The service receives a Blade program and runs the program inside a sandboxed runtime, then returns the output.

There are limitations to the programs that can be run in the playground.

The playground can use most of the standard library, with some exceptions:

  • The only communication a playground program has to the outside world is by writing to standard output, and standard error.
  • The playground uses a virtual filesystem and does not impact any physical machine. For these reason, files are not store across multiple runs.
  • The io, os, socket, and thread module are emulated and for this reason, the playground version migth be a few days behind the official version of this modules. Nearly all the input functions from the io module will simply return an autogenerated value.
  • The playground restricts executing commands via os.exec and will only return the reponse Executed irrespective of whatever command a user runs.
  • The program restricts the socket module ability to bind, accept, and listen and this in turn affects the http server module. Also, the socket timeouts cannot be overriden in the playground as all network connections have a total timeout of 3 seconds.
  • In the playground, thread.start() runs the thread function in the foreground and does not use any real threads.
  • Programs have a default allocated maximum running time of 5 seconds on the official playground. Other hosted versions of the playgrounds may differ.

The playground uses the latest stable release of Blade.

The playground service is officially hosted at play.bladelang.org but can be hosted anywhere by anybody (in fact, we encourage this as this will help reduce load on the official version). All we ask is that you contact let us know (by raising an issue) so that we can list your project as part of the available playgrounds, and that your service is of benefit to the entire Blade community.

IMPORTANT

While we trust every member of our community, remeber that you owe it to everyone to use the playground responsibly.

The greatest security is the responsibility of every member of the community.

To have any content removed, kindly open an issue on Github. Please include the URL and the reason for the request.

If you notice any bugs or any of the emulated modules behaving differently in the playground, kindly open an issue on Github too.

About

A simple and fun playground for tinkering and playing around with the Blade Programming Language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published