1
0
forked from Mirror/wren

Update docs to mention libuv.

This commit is contained in:
Bob Nystrom
2015-08-30 22:38:40 -07:00
parent 556af50f83
commit 6559edbc56
4 changed files with 36 additions and 11 deletions

View File

@ -19,9 +19,9 @@ var adjectives = Fiber.new {
while (!adjectives.isDone) IO.print(adjectives.call()) while (!adjectives.isDone) IO.print(adjectives.call())
``` ```
* **Wren is small.** The codebase is about [7,000 lines][src]. You can * **Wren is small.** The VM implementation is under [4,000 semicolons][src].
skim the whole thing in an afternoon. It's *small*, but not *dense*. It You can skim the whole thing in an afternoon. It's *small*, but not
is readable and [lovingly-commented][nan]. *dense*. It is readable and [lovingly-commented][nan].
* **Wren is fast.** A fast single-pass compiler to tight bytecode, and a * **Wren is fast.** A fast single-pass compiler to tight bytecode, and a
compact object representation help Wren [compete with other dynamic compact object representation help Wren [compete with other dynamic

View File

@ -49,7 +49,7 @@ The basic process is simple:
If there are no failures, you're good to go. If there are no failures, you're good to go.
2. **[Fork the repo][fork] so you can change it locally.** Please make your 2. **[Fork the repo][fork] so you can change it locally.** Please make your
changes in a separate [feature branches][] to make things a little easier on changes in separate [feature branches][] to make things a little easier on
me. me.
3. **Change the code.** Please follow the style of the surrounding code. That 3. **Change the code.** Please follow the style of the surrounding code. That
@ -69,8 +69,9 @@ The basic process is simple:
fun open source project! I'll take it from here and hopefully we'll get it fun open source project! I'll take it from here and hopefully we'll get it
landed smoothly. landed smoothly.
If at any point you have questions, feel free to [file an issue][issue] or If at any point you have questions, feel free to [file an issue][issue] or ask
email me (`robert` at `stuffwithstuff.com`). *Thank you!* on the [mailing list][list]. You can also email me directly (`robert` at
`stuffwithstuff.com`) if you want something less public. *Thank you!*
[mit]: http://opensource.org/licenses/MIT [mit]: http://opensource.org/licenses/MIT
[github]: https://github.com/munificent/wren [github]: https://github.com/munificent/wren

View File

@ -1,8 +1,22 @@
^title Getting Started ^title Getting Started
Getting Wren up and running on your machine should be pretty straightforward. Getting Wren up and running on your machine should be pretty straightforward.
Tiny C programs with no dependencies are nice that way. If you're on a Unix or Tiny C programs with few dependencies are nice that way. "Wren" encompasses two
Mac and you can rock a command line, it's just: separate artifacts:
* **The virtual machine.** This is the core chunk of C 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 is use as a static library, shared library, or simply compile the source into your app.
* **The command line executable.** Wren also ships with a CLI wrapper around
the VM. This gives you a way to run Wren code from the command-line, and
also includes modules for talking to the operating system. It depends on
[libuv][] for that.
[embedded]: embedding-api.html
[libuv]: http://libuv.org/
If you're on a Unix or Mac and you can rock a command line, it's just:
:::bash :::bash
$ git clone https://github.com/munificent/wren.git $ git clone https://github.com/munificent/wren.git
@ -10,6 +24,8 @@ Mac and you can rock a command line, it's just:
$ make $ make
$ ./wren $ ./wren
This builds both the VM and the CLI. It downloads libuv automatically for you.
The release build of the CLI goes right into the repo's top level directory.
Binaries for other configurations are built to `bin/`. Static and shared Binaries for other configurations are built to `bin/`. Static and shared
libraries for embedding Wren get built in `lib/`. libraries for embedding Wren get built in `lib/`.
@ -18,6 +34,14 @@ Windows brethren, `project/msvc2013` contains a Visual Studio solution. Note
that these may not have the exact same build settings as the makefile. The that these may not have the exact same build settings as the makefile. The
makefile is the "official" way to compile Wren. makefile is the "official" way to compile Wren.
If you only want to build the VM, you can do:
:::bash
$ make vm
This will compile the VM to static and shared libraries. It will not even
download libuv since it isn't needed.
## Interactive mode ## Interactive mode
The above instructions will drop you into Wren's standalone interpreter in The above instructions will drop you into Wren's standalone interpreter in

View File

@ -20,9 +20,9 @@ a familiar, modern [syntax][].
while (!adjectives.isDone) IO.print(adjectives.call()) while (!adjectives.isDone) IO.print(adjectives.call())
* **Wren is small.** The codebase is about [7,000 lines][src]. You can * **Wren is small.** The VM implementation is under [4,000 semicolons][src].
skim the whole thing in an afternoon. It's *small*, but not *dense*. It You can skim the whole thing in an afternoon. It's *small*, but not
is readable and [lovingly-commented][nan]. *dense*. It is readable and [lovingly-commented][nan].
* **Wren is fast.** A fast single-pass compiler to tight bytecode, and a * **Wren is fast.** A fast single-pass compiler to tight bytecode, and a
compact object representation help Wren [compete with other dynamic compact object representation help Wren [compete with other dynamic