mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-30 15:21:12 +00:00
make quicksort use a Pkg-Config.roc file
This commit is contained in:
parent
bfcc74f97e
commit
40477eee82
2 changed files with 40 additions and 11 deletions
|
@ -525,6 +525,7 @@ struct ParsedModule<'a> {
|
|||
|
||||
#[derive(Debug)]
|
||||
enum Msg<'a> {
|
||||
Many(Vec<Msg<'a>>),
|
||||
Header(ModuleHeader<'a>),
|
||||
Parsed(ParsedModule<'a>),
|
||||
CanonicalizedAndConstrained {
|
||||
|
@ -1253,6 +1254,16 @@ fn update<'a>(
|
|||
use self::Msg::*;
|
||||
|
||||
match msg {
|
||||
Many(messages) => {
|
||||
// enqueue all these message
|
||||
for msg in messages {
|
||||
msg_tx
|
||||
.send(msg)
|
||||
.map_err(|_| LoadingProblem::MsgChannelDied)?;
|
||||
}
|
||||
|
||||
Ok(state)
|
||||
}
|
||||
Header(header) => {
|
||||
log!("loaded header for {:?}", header.module_id);
|
||||
let home = header.module_id;
|
||||
|
@ -1868,16 +1879,34 @@ fn parse_header<'a>(
|
|||
ident_ids_by_module,
|
||||
module_timing,
|
||||
)),
|
||||
Ok((ast::Module::App { header }, parse_state)) => Ok(send_header(
|
||||
Ok((ast::Module::App { header }, parse_state)) => {
|
||||
let mut pkg_config_dir = filename.clone();
|
||||
pkg_config_dir.pop();
|
||||
|
||||
let (module_id, app_module_header_msg) = send_header(
|
||||
header.name,
|
||||
filename,
|
||||
header.provides.into_bump_slice(),
|
||||
header.imports.into_bump_slice(),
|
||||
parse_state,
|
||||
module_ids.clone(),
|
||||
ident_ids_by_module.clone(),
|
||||
module_timing,
|
||||
);
|
||||
|
||||
let load_pkg_config_msg = load_pkg_config(
|
||||
arena,
|
||||
&pkg_config_dir,
|
||||
module_ids,
|
||||
ident_ids_by_module,
|
||||
module_timing,
|
||||
)),
|
||||
mode,
|
||||
)?;
|
||||
|
||||
Ok((
|
||||
module_id,
|
||||
Msg::Many(vec![app_module_header_msg, load_pkg_config_msg]),
|
||||
))
|
||||
}
|
||||
Ok((ast::Module::Platform { header }, _parse_state)) => fabricate_effects_module(
|
||||
arena,
|
||||
module_ids,
|
||||
|
|
|
@ -2,4 +2,4 @@ platform roc/quicksort
|
|||
provides []
|
||||
requires {}
|
||||
imports []
|
||||
effects {}
|
||||
effects Effect {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue