resolve feedback, added compiler stages diagram

This commit is contained in:
Luke Boswell 2022-11-06 09:15:18 +11:00
parent a3f901427a
commit d702e391b8
No known key found for this signature in database
GPG Key ID: 0E908525B2C7BD68
7 changed files with 20 additions and 8 deletions

View File

@ -149,4 +149,10 @@ Provides a Rust wrapper for the WebAssembly test platform built on libc and is p
Below is a simplified diagram to illustrate how a Roc application and host are combined to build an executable file.
![Illustration of the process to build a Roc Application using Rust](./building_a_roc_application.svg)
![Building a Roc Application using Rust](./building_a_roc_application.svg)
# Roc Compiler Stages
Below is a simplified diagram to illustrate the different stages of the Roc Compiler.
![Roc Compiler Stages](./roc_compiler_stages.svg)

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View File

@ -1,5 +1,5 @@
//! [Exhaustiveness](https://dev.to/babak/exhaustive-type-checking-with-typescript-4l3f) checking, based on "Warning for pattern matching" (Luc Maranget, 2007).
//! http://moscova.inria.fr/~maranget/papers/warn/warn.pdf
//! Exhaustiveness checking, based on [Warnings for pattern matching](http://moscova.inria.fr/~maranget/papers/warn/warn.pdf)
//! (Luc Maranget, 2007).
use roc_collections::all::{HumanIndex, MutMap};
use roc_error_macros::internal_error;

View File

@ -4,7 +4,7 @@ version = "0.0.1"
authors = ["The Roc Contributors"]
license = "UPL-1.0"
edition = "2021"
description = "Provides Roc styled collection reference counting."
description = "Provides a Roc Str with reference-counting so that it may be mutated in-place."
[dependencies]
roc_collections = { path = "../collections" }

View File

@ -1,4 +1,8 @@
//! provides `Roc` styled collection [reference counting](https://en.wikipedia.org/wiki/Reference_counting).
//! Provides `Roc` styled collection [reference counting](https://en.wikipedia.org/wiki/Reference_counting).
//! This means the collection may or may not be safe to mutate in-place, may or
//! may not be reference counted, and may or may not need to be freed when no
//! longer in use. Whether each of these is true for a given collection can be
//! determined by inspecting that collection at runtime.
#![crate_type = "lib"]
#![no_std]

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 218 KiB

View File

@ -1,5 +1,6 @@
//! Provides a Rust wrapper for the WebAssembly test platform built on libc and
//! is primarily used for testing purposes.
//! Provides a Rust wrapper for the WebAssembly libc, which is used when
//! preprocessing hosts for use with the Wasm development back-end, and for the
//! mock hosts we use in our Wasm tests.
// Rust's libc crate doesn't support Wasm, so we provide an implementation from Zig
// We define Rust signatures here as we need them, rather than trying to cover all of libc
#[cfg(target_family = "wasm")]