From 6559edbc56c1ab07e10085edd2c5daf6f23a64f2 Mon Sep 17 00:00:00 2001 From: Bob Nystrom Date: Sun, 30 Aug 2015 22:38:40 -0700 Subject: [PATCH] Update docs to mention libuv. --- README.md | 6 +++--- doc/site/contributing.markdown | 7 ++++--- doc/site/getting-started.markdown | 28 ++++++++++++++++++++++++++-- doc/site/index.markdown | 6 +++--- 4 files changed, 36 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a6accc01..1e05cf5a 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,9 @@ var adjectives = Fiber.new { while (!adjectives.isDone) IO.print(adjectives.call()) ``` - * **Wren is small.** The codebase is about [7,000 lines][src]. You can - skim the whole thing in an afternoon. It's *small*, but not *dense*. It - is readable and [lovingly-commented][nan]. + * **Wren is small.** The VM implementation is under [4,000 semicolons][src]. + You can skim the whole thing in an afternoon. It's *small*, but not + *dense*. It is readable and [lovingly-commented][nan]. * **Wren is fast.** A fast single-pass compiler to tight bytecode, and a compact object representation help Wren [compete with other dynamic diff --git a/doc/site/contributing.markdown b/doc/site/contributing.markdown index a05f36d9..81fedc0c 100644 --- a/doc/site/contributing.markdown +++ b/doc/site/contributing.markdown @@ -49,7 +49,7 @@ The basic process is simple: If there are no failures, you're good to go. 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. 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 landed smoothly. -If at any point you have questions, feel free to [file an issue][issue] or -email me (`robert` at `stuffwithstuff.com`). *Thank you!* +If at any point you have questions, feel free to [file an issue][issue] or ask +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 [github]: https://github.com/munificent/wren diff --git a/doc/site/getting-started.markdown b/doc/site/getting-started.markdown index 42e20bce..ecf22793 100644 --- a/doc/site/getting-started.markdown +++ b/doc/site/getting-started.markdown @@ -1,8 +1,22 @@ ^title Getting Started 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 -Mac and you can rock a command line, it's just: +Tiny C programs with few dependencies are nice that way. "Wren" encompasses two +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 $ git clone https://github.com/munificent/wren.git @@ -10,6 +24,8 @@ Mac and you can rock a command line, it's just: $ make $ ./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 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 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 The above instructions will drop you into Wren's standalone interpreter in diff --git a/doc/site/index.markdown b/doc/site/index.markdown index 204b3804..9df5669c 100644 --- a/doc/site/index.markdown +++ b/doc/site/index.markdown @@ -20,9 +20,9 @@ a familiar, modern [syntax][]. while (!adjectives.isDone) IO.print(adjectives.call()) - * **Wren is small.** The codebase is about [7,000 lines][src]. You can - skim the whole thing in an afternoon. It's *small*, but not *dense*. It - is readable and [lovingly-commented][nan]. + * **Wren is small.** The VM implementation is under [4,000 semicolons][src]. + You can skim the whole thing in an afternoon. It's *small*, but not + *dense*. It is readable and [lovingly-commented][nan]. * **Wren is fast.** A fast single-pass compiler to tight bytecode, and a compact object representation help Wren [compete with other dynamic