From d6e64707ff2249461d9980db92c0e78e69ea1afb Mon Sep 17 00:00:00 2001 From: Travis CI <> Date: Fri, 5 Jun 2020 22:25:23 +0000 Subject: [PATCH] Deploy to GitHub Pages: --- blog/{hello-wren.html => 0-hello-wren.html} | 43 +- ...nd-beyond.html => 1-0.2.0-and-beyond.html} | 85 +- blog/2-0.3.0-released.html | 164 ++ blog/index.html | 16 +- blog/rss.xml | 15 +- classes.html | 916 +++--- cli/index.html | 108 + cli/modules/index.html | 105 + {modules => cli/modules}/io/directory.html | 28 +- {modules => cli/modules}/io/file-flags.html | 56 +- {modules => cli/modules}/io/file.html | 158 +- {modules => cli/modules}/io/index.html | 30 +- {modules => cli/modules}/io/stat.html | 50 +- {modules => cli/modules}/io/stdin.html | 60 +- {modules => cli/modules}/io/stdout.html | 26 +- {modules => cli/modules}/os/index.html | 26 +- {modules => cli/modules}/os/platform.html | 48 +- {modules => cli/modules}/os/process.html | 65 +- {modules => cli/modules}/scheduler/index.html | 22 +- .../modules}/scheduler/scheduler.html | 22 +- {modules => cli/modules}/timer/index.html | 22 +- {modules => cli/modules}/timer/timer.html | 22 +- cli/usage.html | 131 + codejar-linenumbers.js | 51 + codejar.js | 401 +++ concurrency.html | 298 +- contributing.html | 175 +- control-flow.html | 390 +-- embedding/calling-c-from-wren.html | 217 +- embedding/calling-wren-from-c.html | 263 +- embedding/configuring-the-vm.html | 291 +- embedding/index.html | 246 +- embedding/slots-and-handles.html | 379 +-- embedding/storing-c-data.html | 579 ++-- error-handling.html | 272 +- functions.html | 286 +- getting-started.html | 166 +- index.html | 84 +- lists.html | 208 +- maps.html | 210 +- method-calls.html | 292 +- modularity.html | 448 +-- modules/core/bool.html | 22 +- modules/core/class.html | 39 +- modules/core/fiber.html | 224 +- modules/core/fn.html | 62 +- modules/core/index.html | 35 +- modules/core/list.html | 145 +- modules/core/map.html | 60 +- modules/core/null.html | 15 +- modules/core/num.html | 187 +- modules/core/object.html | 54 +- modules/core/range.html | 76 +- modules/core/sequence.html | 231 +- modules/core/string.html | 316 +- modules/core/system.html | 56 +- modules/index.html | 111 +- modules/meta/index.html | 13 +- modules/meta/meta.html | 13 +- modules/random/index.html | 19 +- modules/random/random.html | 206 +- performance.html | 401 +-- prism.css | 142 + prism.js | 6 + qa.html | 250 +- style.css | 677 +++-- syntax.html | 474 +-- try/index.html | 175 ++ values.html | 212 +- variables.html | 136 +- wren.js | 79 + wren_try.js | 2582 +++++++++++++++++ wren_try.wasm | Bin 0 -> 182089 bytes 73 files changed, 9469 insertions(+), 5023 deletions(-) rename blog/{hello-wren.html => 0-hello-wren.html} (83%) rename blog/{0.2.0-and-beyond.html => 1-0.2.0-and-beyond.html} (76%) create mode 100644 blog/2-0.3.0-released.html create mode 100644 cli/index.html create mode 100644 cli/modules/index.html rename {modules => cli/modules}/io/directory.html (76%) rename {modules => cli/modules}/io/file-flags.html (79%) rename {modules => cli/modules}/io/file.html (52%) rename {modules => cli/modules}/io/index.html (72%) rename {modules => cli/modules}/io/stat.html (76%) rename {modules => cli/modules}/io/stdin.html (75%) rename {modules => cli/modules}/io/stdout.html (77%) rename {modules => cli/modules}/os/index.html (70%) rename {modules => cli/modules}/os/platform.html (71%) rename {modules => cli/modules}/os/process.html (62%) rename {modules => cli/modules}/scheduler/index.html (69%) rename {modules => cli/modules}/scheduler/scheduler.html (71%) rename {modules => cli/modules}/timer/index.html (69%) rename {modules => cli/modules}/timer/timer.html (70%) create mode 100644 cli/usage.html create mode 100644 codejar-linenumbers.js create mode 100644 codejar.js create mode 100644 prism.css create mode 100644 prism.js create mode 100644 try/index.html create mode 100644 wren.js create mode 100644 wren_try.js create mode 100644 wren_try.wasm diff --git a/blog/hello-wren.html b/blog/0-hello-wren.html similarity index 83% rename from blog/hello-wren.html rename to blog/0-hello-wren.html index d452f70d..00235cd5 100644 --- a/blog/hello-wren.html +++ b/blog/0-hello-wren.html @@ -3,6 +3,9 @@
5 June 2020
+In this post we’ll cover 0.3.0 and the goals for 0.4.0 #.
+Let’s revisit our goals from the last blog post,
+and mark what we managed to get done:
With 0.3.0 we’ve separated the CLI from the Wren repo, +and updated the docs to make the distinction clearer.
+The CLI now has it’s own corner of the docs, so that the modules +and API docs aren’t overlapped like before. This opens up space for the +CLI to get better, fuller documentation, and removes confusion about +built in modules vs ones that are in the CLI only.
+The code structure is clearer, too, and all the tests and utils are now specific.
+Previously, builds on Windows could be a little fickle, and there was sometimes +issues with the dependencies on the CLI side.
+To solve this, premake is now used to generate platform specific project files that
+‘just work’, making it a one step process to build the VM or CLI. Both projects
+now have a projects/ folder which includes ready to go project files for primary platforms.
The original Makefile and util/wren.mk no longer exist, so there might be some work needed
+to reintegrate if you relied on those. You can find the updated makefile in projects/make/, or projects/make.mac/.
The amalgamated build was fixed too, so that embedding in your own project is as simple as
+including a single c file (and the wren.h header).
On the CLI side, the pre-build steps were removed and dependencies vendored in repo, +so that the project just builds with less potential points of error, especially across platforms.
+And finally the docs! Previously SASS was used, and code highlighting +was done at generation time using pygments, a python code highlighter. Both of these dependencies +have been removed, code highlighting is now done on the client side instead (see another reason why below). +The benefit here that it is now easy to edit the docs, just a simple python command, no setup!
+The goal was two part here, one is to have a page to just try out Wren. +Type in some code, run it. That’s the first big step and we’ve now got that on the docs page.
+This should work on desktop or mobile, and will continue to be improved over time.
+The second part of that goal is having the VM available to make examples on each page interactive. +This is implemented, but not activated on any pages yet.
+In the near future inline doc examples will have a small button that you can +press to see the code result right there, live. Since there’s a lot of examples, +and sometimes they’re fragments of code that don’t run in isolation, +it will take time to propagate it through the pages.
+Mainly, I didn’t want this to hold up 0.3.0, but expect to start seeing it soon.
+In addition to the browser based build that removes a barrier to trying out Wren, +Wren CLI has prebuilt binaries for Mac, Windows and Linux now! This gives +an easy path to just tinkering with Wren before embedding it.
+With 0.4.0 the goal is to address a couple of bigger todos, but also to push the language +itself, and the embedding experience forward.
+You can see some of the work in progress tasks here, +but there’s a few things I’d like to resolve in 0.4.0.
+Compound operators
+I’ve really missed having += and friends,
+so I’ve been working on a (broken, wip) PR here.
+I’ve since had a better idea to implement it and will hope to address that in 0.4.0.
Chained methods (‘fluent interfaces’)
+Currently in Wren it’s required that the period (.) be on the same line as the method.
+
+ example. + some(). + functions(). + here() ++This isn’t as elegant as we’d want for this form of API, +so in 0.4.0 the goal is allowing a newline, as you’d expect: +
+ example + .some() + .functions() + .here() ++This doesn’t seem like a big deal but when your calls are wider, +longer and possibly accept block functions. It’s hard to read, +and can be less fun to track down a missing
. in a big chunk of code.
+
+ example.
+ some {|args, and, stuff|
+ …
+ }.
+ here()
+
+C Side APIs
+Some APIs for dealing with Map have been proposed several times,
+it’s time to bring that into the API. There’s some additions for List as well,
+like a helper to set an element in a list.
Other goals
+There’s a few more things but I’m still exploring their viability.
+Keep an eye on the PRs/issues or the 0.4.0 label to see when they’re discussed.