Rename Unit -> Void

This commit is contained in:
KtorZ 2022-12-22 10:42:49 +01:00
parent 5cf9742e5e
commit 2aa4429231
No known key found for this signature in database
GPG Key ID: 33173CB6F77F4277
6 changed files with 23 additions and 26 deletions

View File

@ -18,7 +18,7 @@ pub const BOOL: &str = "Bool";
pub const INT: &str = "Int";
pub const DATA: &str = "Data";
pub const LIST: &str = "List";
pub const UNIT: &str = "Unit";
pub const VOID: &str = "Void";
pub const RESULT: &str = "Result";
pub const STRING: &str = "String";
pub const OPTION: &str = "Option";
@ -144,14 +144,14 @@ pub fn prelude(id_gen: &IdGenerator) -> TypeInfo {
},
);
// Unit
// Void
prelude.values.insert(
UNIT.to_string(),
VOID.to_string(),
ValueConstructor::public(
unit(),
void(),
ValueConstructorVariant::Record {
module: "".into(),
name: UNIT.to_string(),
name: VOID.to_string(),
arity: 0,
field_map: None::<FieldMap>,
location: Span::empty(),
@ -161,11 +161,11 @@ pub fn prelude(id_gen: &IdGenerator) -> TypeInfo {
);
prelude.types.insert(
UNIT.to_string(),
VOID.to_string(),
TypeConstructor {
location: Span::empty(),
parameters: vec![],
tipo: unit(),
tipo: void(),
module: "".to_string(),
public: true,
},
@ -477,11 +477,11 @@ pub fn string() -> Arc<Type> {
})
}
pub fn unit() -> Arc<Type> {
pub fn void() -> Arc<Type> {
Arc::new(Type::App {
args: vec![],
public: true,
name: UNIT.to_string(),
name: VOID.to_string(),
module: "".to_string(),
})
}

View File

@ -7,7 +7,7 @@ use crate::{
Annotation, Arg, AssignmentKind, BinOp, CallArg, Clause, DefinitionLocation, IfBranch,
Pattern, RecordUpdateSpread, Span, TodoKind, TypedRecordUpdateArg, UntypedRecordUpdateArg,
},
builtins::{bool, unit},
builtins::{bool, void},
tipo::{ModuleValueConstructor, PatternConstructor, Type, ValueConstructor},
};
@ -184,7 +184,7 @@ impl TypedExpr {
| Self::RecordAccess { tipo, .. }
| Self::RecordUpdate { tipo, .. } => tipo.clone(),
Self::Pipeline { expressions, .. } | Self::Sequence { expressions, .. } => {
expressions.last().map(TypedExpr::tipo).unwrap_or_else(unit)
expressions.last().map(TypedExpr::tipo).unwrap_or_else(void)
}
}
}

View File

@ -87,10 +87,10 @@ impl Type {
}
}
pub fn is_unit(&self) -> bool {
pub fn is_void(&self) -> bool {
match self {
Self::App { module, name, .. } if "Unit" == name && module.is_empty() => true,
Self::Var { tipo } => tipo.borrow().is_unit(),
Self::App { module, name, .. } if "Void" == name && module.is_empty() => true,
Self::Var { tipo } => tipo.borrow().is_void(),
_ => false,
}
}
@ -400,9 +400,9 @@ impl TypeVar {
matches!(self, Self::Unbound { .. })
}
pub fn is_unit(&self) -> bool {
pub fn is_void(&self) -> bool {
match self {
Self::Link { tipo } => tipo.is_unit(),
Self::Link { tipo } => tipo.is_void(),
_ => false,
}
}
@ -708,10 +708,10 @@ pub enum ModuleValueConstructor {
/// point to some other module and function when this is an `external fn`.
///
/// This function has module "themodule" and name "wibble"
/// pub fn wibble() { Unit }
/// pub fn wibble() { Void }
///
/// This function has module "other" and name "whoop"
/// pub external fn wibble() -> Unit =
/// pub external fn wibble() -> Void =
/// "other" "whoop"
///
module: String,

View File

@ -2008,7 +2008,7 @@ impl<'a> CodeGenerator<'a> {
if constructor.tipo.is_bool() {
arg_stack
.push(Term::Constant(UplcConstant::Bool(constr_name == "True")));
} else if constructor.tipo.is_unit() {
} else if constructor.tipo.is_void() {
arg_stack.push(Term::Constant(UplcConstant::Unit));
} else {
let data_type = self.data_types.get(&data_type_key).unwrap();
@ -2615,7 +2615,7 @@ impl<'a> CodeGenerator<'a> {
};
arg_stack.push(term);
return;
} else if tipo.is_unit() {
} else if tipo.is_void() {
arg_stack.push(Term::Constant(UplcConstant::Bool(true)));
return;
}
@ -2760,7 +2760,7 @@ impl<'a> CodeGenerator<'a> {
arg_stack.push(term);
return;
} else if tipo.is_unit() {
} else if tipo.is_void() {
arg_stack.push(Term::Constant(UplcConstant::Bool(false)));
return;
}

View File

@ -10,5 +10,5 @@ test map_1() {
}
test map_2() {
map(None, fn(_) { Unit }) == None
map(None, fn(_) { Void }) == None
}

View File

@ -1,6 +1,3 @@
// Should this fail or equal true?
// Should != be false or true?
test nil_1() {
Unit == Unit
Void == Void
}