Skip to content
main
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
ops
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

MATL Online

Build Status Coverage Status Code Climate Dependabot Status

This is a Python-based online interpreter for the MATL programming language, a golfing language based on MATLAB and Octave. A live version of this application is hosted at matl.suever.net.

The Stack

The core of the application is the lightweight Python web framework, Flask. Two-way communication between the JavaScript front-end and the application is handled by SocketIO. MATL code and input arguments are submitted to the server and celery assigns the task to one of many available worker processes. Each worker process uses the octave_kernel library to communicate with an underlying Octave instance to evaluate the provided code. All Octave output from the process (including text and graphics) is streamed in real-time back to the browser via SocketIO.

Technologies:

Running Locally

The easiest way to run the application locally is to use Docker Compose which will start the web service, celery worker, redis instance, and postgres database. Prior to running docker-compose, be sure to build the local docker image:

make docker
docker-compose up

You will then be able to access the application at http://localhost:5000.

Planned Future Improvements

Contributing

We welcome contributions from any member of the user community. Free free to submit a pull request or open an issue with your contributions.

License

This software is licensed under the MIT License.