correct formatting and removed duplicate image

This commit is contained in:
Luke Boswell 2022-11-03 20:02:10 +11:00
parent f3bdb5f321
commit a3f901427a
No known key found for this signature in database
GPG key ID: 0E908525B2C7BD68
20 changed files with 34 additions and 35 deletions

View file

@ -149,5 +149,4 @@ 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.
![Alt text](./building_a_roc_application.svg) ![Illustration of the process to build a Roc Application using Rust](./building_a_roc_application.svg)
<img src="./building_a_roc_application.svg">

View file

@ -1,6 +1,6 @@
//! Library for the Roc AST //! Library for the Roc AST
//! //!
//! Code to represent the [Abstract Syntax Tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree) //! Code to represent the [Abstract Syntax Tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree)
//! as used by the editor. In contrast to the compiler, the types in this AST do //! as used by the editor. In contrast to the compiler, the types in this AST do
//! not keep track of the location of the matching code in the source file. //! not keep track of the location of the matching code in the source file.
pub mod ast_error; pub mod ast_error;

View file

@ -1,4 +1,4 @@
//! Performs analysis and optimizations to remove unneeded [reference counts](https://en.wikipedia.org/wiki/Reference_counting) //! Performs analysis and optimizations to remove unneeded [reference counts](https://en.wikipedia.org/wiki/Reference_counting)
//! at runtime, and supports in-place mutation. //! at runtime, and supports in-place mutation.
use morphic_lib::TypeContext; use morphic_lib::TypeContext;
use morphic_lib::{ use morphic_lib::{

View file

@ -1,7 +1,7 @@
//! [Canonicalize](https://en.wikipedia.org/wiki/Canonicalization) a roc //! [Canonicalize](https://en.wikipedia.org/wiki/Canonicalization) a roc
//! [abstract syntax tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree), //! [abstract syntax tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree),
//! [resolving symbols](https://stackoverflow.com/a/1175493/4200103), //! [resolving symbols](https://stackoverflow.com/a/1175493/4200103),
//! [re-ordering definitions](https://www.oreilly.com/library/view/c-high-performance/9781787120952/546b5677-9157-4333-bc90-16db696436ac.xhtml), //! [re-ordering definitions](https://www.oreilly.com/library/view/c-high-performance/9781787120952/546b5677-9157-4333-bc90-16db696436ac.xhtml),
//! and preparing a module for [type inference](https://en.wikipedia.org/wiki/Type_inference). //! and preparing a module for [type inference](https://en.wikipedia.org/wiki/Type_inference).
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,6 +1,6 @@
//! Responsible for building the set of constraints that are used during //! Responsible for building the set of constraints that are used during
//! [type inference](https://en.wikipedia.org/wiki/Type_inference) of a program, //! [type inference](https://en.wikipedia.org/wiki/Type_inference) of a program,
//! and for gathering context needed for pleasant error messages when a type //! and for gathering context needed for pleasant error messages when a type
//! error occurs. //! error occurs.
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,5 +1,5 @@
//! Provides the compiler backend to generate Roc binaries fast, for a nice //! Provides the compiler backend to generate Roc binaries fast, for a nice
//! developer experience. See [README.md](./compiler/gen_dev/README.md) for //! developer experience. See [README.md](./compiler/gen_dev/README.md) for
//! more information. //! more information.
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,4 +1,4 @@
//! Provides the LLVM backend to generate Roc binaries. Used to generate a //! Provides the LLVM backend to generate Roc binaries. Used to generate a
//! binary with the fastest possible execution speed. //! binary with the fastest possible execution speed.
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,4 +1,4 @@
//! Provides the WASM backend to generate Roc binaries. //! Provides the WASM backend to generate Roc binaries.
mod backend; mod backend;
mod layout; mod layout;
mod low_level; mod low_level;

View file

@ -1,4 +1,4 @@
//! Used to load a .roc file and coordinate the compiler pipeline, including //! Used to load a .roc file and coordinate the compiler pipeline, including
//! parsing, type checking, and [code generation](https://en.wikipedia.org/wiki/Code_generation_(compiler)). //! parsing, type checking, and [code generation](https://en.wikipedia.org/wiki/Code_generation_(compiler)).
use bumpalo::Bump; use bumpalo::Bump;
use roc_can::module::{ExposedByModule, TypeState}; use roc_can::module::{ExposedByModule, TypeState};

View file

@ -1,4 +1,4 @@
//! Implements data structures used for efficiently representing unique modules //! Implements data structures used for efficiently representing unique modules
//! and identifiers in Roc programs. //! and identifiers in Roc programs.
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,7 +1,7 @@
//! Roc's main intermediate representation (IR), which is responsible for //! Roc's main intermediate representation (IR), which is responsible for
//! [monomorphization](https://en.wikipedia.org/wiki/Monomorphization), //! [monomorphization](https://en.wikipedia.org/wiki/Monomorphization),
//! defunctionalization, inserting [ref-count](https://en.wikipedia.org/wiki/Reference_counting) //! defunctionalization, inserting [ref-count](https://en.wikipedia.org/wiki/Reference_counting)
//! instructions, and transforming a Roc program into a form that is easy to //! instructions, and transforming a Roc program into a form that is easy to
//! consume by a backend. //! consume by a backend.
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,4 +1,4 @@
//! Implements the Roc parser, which transforms a textual representation of a //! Implements the Roc parser, which transforms a textual representation of a
//! Roc program to an [abstract syntax tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree). //! Roc program to an [abstract syntax tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree).
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,4 +1,4 @@
//! Data structures for storing source-code-location information, used heavily //! Data structures for storing source-code-location information, used heavily
//! for contextual error messages. //! for contextual error messages.
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,4 +1,4 @@
//! The entry point of Roc's [type inference](https://en.wikipedia.org/wiki/Type_inference) //! The entry point of Roc's [type inference](https://en.wikipedia.org/wiki/Type_inference)
//! system. Implements type inference and specialization of abilities. //! system. Implements type inference and specialization of abilities.
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,4 +1,4 @@
//! Contains all of Roc's [code generation](https://en.wikipedia.org/wiki/Code_generation_(compiler)) //! Contains all of Roc's [code generation](https://en.wikipedia.org/wiki/Code_generation_(compiler))
//! tests. //! tests.
#[cfg(test)] #[cfg(test)]
pub mod helpers; pub mod helpers;

View file

@ -1,4 +1,4 @@
//! Implements Roc's unification algorithm, the heartstone of Roc's //! Implements Roc's unification algorithm, the heartstone of Roc's
//! [type inference](https://en.wikipedia.org/wiki/Type_inference). //! [type inference](https://en.wikipedia.org/wiki/Type_inference).
#![warn(clippy::dbg_macro)] #![warn(clippy::dbg_macro)]
// See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check. // See github.com/roc-lang/roc/issues/800 for discussion of the large_enum_variant check.

View file

@ -1,4 +1,4 @@
//! Generates html documentation from Roc files. Used for //! Generates html documentation from Roc files. Used for
//! [roc-lang.org/builtins/Num](https://www.roc-lang.org/builtins/Num). //! [roc-lang.org/builtins/Num](https://www.roc-lang.org/builtins/Num).
extern crate pulldown_cmark; extern crate pulldown_cmark;
extern crate roc_load; extern crate roc_load;

View file

@ -1,6 +1,6 @@
//! Generates code needed for platform hosts to communicate with Roc apps. //! Generates code needed for platform hosts to communicate with Roc apps.
//! This tool is not necessary for writing a platform in another language, //! This tool is not necessary for writing a platform in another language,
//! however, it's a great convenience! Currently supports Rust platforms, and //! however, it's a great convenience! Currently supports Rust platforms, and
//! the plan is to support any language via a plugin model. //! the plan is to support any language via a plugin model.
pub mod enums; pub mod enums;
pub mod load; pub mod load;

View file

@ -1,7 +1,7 @@
//! Surgical linker that links platforms to Roc applications. We created our own //! Surgical linker that links platforms to Roc applications. We created our own
//! linker for performance, since regular linkers add complexity that is not //! linker for performance, since regular linkers add complexity that is not
//! needed for linking Roc apps. Because we want `roc` to manage the build //! needed for linking Roc apps. Because we want `roc` to manage the build
//! system and final linking of the executable, it is significantly less //! system and final linking of the executable, it is significantly less
//! practical to use a regular linker. //! practical to use a regular linker.
use memmap2::{Mmap, MmapMut}; use memmap2::{Mmap, MmapMut};
use object::Object; use object::Object;

View file

@ -1,4 +1,4 @@
//! Provides a Rust wrapper for the WebAssembly test platform built on libc and //! Provides a Rust wrapper for the WebAssembly test platform built on libc and
//! is primarily used for testing purposes. //! is primarily used for testing purposes.
// 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