^title Getting Started
## Trying out the language
If you'd like to try Wren, you have a few options.
* **In your browser.** You can try Wren **[right here](./try/)**!
* **On your computer.** The [Wren CLI](cli) project is a downloadable executable
to run scripts with access to file io and more. See the [Wren CLI docs](cli).
* **Embedded in your code.** See how to [build and embed Wren](#embed-the-vm) below.
And then read the [embedding guide](embedding)!
Once you have somewhere to explore, it's time to [learn the
language](syntax.html).
---
## Embed the VM
**The Wren Virtual Machine** is the core of the language that executes Wren
source code. It is just a library, not a standalone application. It's
designed to be [embedded][] in a larger host application.
It has no dependencies beyond the C standard library.
You can use it as a static library, shared library, or simply compile the source into your app.
### Building Wren
To build the Wren library, we look inside the `projects/` folder.
In here you'll find ready to go projects for `Visual Studio`, `XCode` and tools like `make`.
* **Windows** Open `wren.sln` inside `projects/vs2019/` (or `vs2017`), hit build.
* **Mac** Open `wren.xcworkspace` inside `projects/xcode/`, hit build.
* **Linux** Run `make` inside of `projects/make/`.
In each case, **there will be library files generated into the root `lib/` folder**.
These are what you'll link into your project, based on your needs.
* **Static Linking** `wren.lib` on Windows, `libwren.a` elsewhere.
* **Dynamic Linking** `wren.dll` on Windows, `libwren.so` on Linux, and `libwren.dylib` on Mac.
Note that the default build will also generate `wren_test` inside of `bin/`,
a binary that is used to run the language tests. It can execute simple scripts.
**Other platforms**
If your platform isn't explicitly supported,
it is recommended that you include the Wren source
in your project for a portable experience.
### Including the code in your project
**all source files**
The alternative to building via the provided projects is to include the wren source code in your project.
Since it has no dependencies this is simple, all the code in `src/` comes along. There's a readme in `src/` for details.
**'amalgamated' build**
If you want an even simpler way, there's an 'amalgamated' build (often called `blob`, or `unity` builds.).
This is _all of the wren source code in one file_.
This file can be generated by running `python3 util/generate_amalgamation.py > build/wren.c`,
which saves the generated output in `build/wren.c`.
Include `build/wren.c` and `src/include/wren.h` in your project code and you're good to go.
Ideally later we can automate generating this and include it in the repo.
---
[embedded]: embedding
If you run into bugs, or have ideas or questions, any of
the following work:
* Join the [discord community][discord].
* Ask on the [Wren mailing list][list] (which is pretty quiet).
* Tell us on twitter at [@munificentbob][twitter] or [@ruby0x1][twitter0x1].
* [File a ticket][issue] at [the GitHub repo][repo].
* The CLI also has [tickets][issue_cli] and a [GitHub repo][repo_cli] too.
* Pull requests are welcome.
[discord]: https://discord.gg/Kx6PxSX
[list]: https://groups.google.com/forum/#!forum/wren-lang
[twitter]: https://twitter.com/intent/user?screen_name=munificentbob
[twitter0x1]: https://twitter.com/intent/user?screen_name=ruby0x1
[issue]: https://github.com/wren-lang/wren/issues
[repo]: https://github.com/wren-lang/wren
[issue_cli]: https://github.com/wren-lang/wren-cli/issues
[repo_cli]: https://github.com/wren-lang/wren-cli