.. Stratos Documentation documentation master file, created by sphinx-quickstart on Fri Sep 25 08:32:02 2020. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to Stratos Documentation's documentation! ================================================= * Inspirations. A fast, fun to right, type safe , mixed paradigm programming language. A language that is familiar, industry proven concepts such as `constructors`, `destructors`, `structs`, `classes`, `objects` but also with also a mix of more recent patterns such as safety accessor (`some` and `none`) rather than null. Hoping to provide concurrenncy language guarantees using message passing inspired by Erlang style mailbox. * Language basic compile to binary or genrate bytecode to run in an interpreter File extensions are `.st` or `.sts`
* `.st` files are for compilation (aot) * `.srt` files that require a runtime (jit) however passed in compiler arguments (.conf file) overide the file extension type inference. * Design. This contains the disgn notes when building or making decision involving the language, standard libraries or compiler.
* Tooling Tooling there will be a cli tool called `toolman` (inspired by go in golang and cargo in rust). To get packages , test , build and run the language for more info check `/stratos/tooling/toolman/README.md` * Projects directory Projects can be located anywhere. the project has 1. `app.conf` file describing the project , project name, dependancies and verisons. check HOCON(Human-Optimized Config Object Notation) 2. a `src` folder with `main.st` with hello world boiler plate code ie : `use System;`
`fn main (){`
  `print("hello world");`
`}` To know more read the `stratos/design/design.md` file for the language design. 3. a `bin` for the debug executables. 4. `dist` distributable binaries. .. toctree:: :maxdepth: 4 :caption: Contents: folder_structure installing tooling syntax contribute help license disclaimer copyright extra Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`