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. 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

Before After
Before After

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). //! Exhaustiveness checking, based on [Warnings for pattern matching](http://moscova.inria.fr/~maranget/papers/warn/warn.pdf)
//! http://moscova.inria.fr/~maranget/papers/warn/warn.pdf //! (Luc Maranget, 2007).
use roc_collections::all::{HumanIndex, MutMap}; use roc_collections::all::{HumanIndex, MutMap};
use roc_error_macros::internal_error; use roc_error_macros::internal_error;

View file

@ -4,7 +4,7 @@ version = "0.0.1"
authors = ["The Roc Contributors"] authors = ["The Roc Contributors"]
license = "UPL-1.0" license = "UPL-1.0"
edition = "2021" 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] [dependencies]
roc_collections = { path = "../collections" } 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"] #![crate_type = "lib"]
#![no_std] #![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 //! Provides a Rust wrapper for the WebAssembly libc, which is used when
//! is primarily used for testing purposes. //! 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 // 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 // We define Rust signatures here as we need them, rather than trying to cover all of libc
#[cfg(target_family = "wasm")] #[cfg(target_family = "wasm")]