Renamed stuff
This commit is contained in:
parent
f890d6248b
commit
0da3d58718
|
@ -409,12 +409,12 @@ impl ExecEnv {
|
||||||
Functio::Chain { functios, kind } => {
|
Functio::Chain { functios, kind } => {
|
||||||
let (left_functio, right_functio) = *functios;
|
let (left_functio, right_functio) = *functios;
|
||||||
let (left_args, right_args) = match kind {
|
let (left_args, right_args) = match kind {
|
||||||
crate::variables::FunctioChainKind::Ordered => {
|
crate::variables::FunctioChainKind::Equal => {
|
||||||
let (l, r) = args.split_at(args.len() / 2);
|
let (l, r) = args.split_at(args.len() / 2);
|
||||||
// TODO: avoid this clone
|
// TODO: avoid this clone
|
||||||
(l.to_owned(), r.to_owned())
|
(l.to_owned(), r.to_owned())
|
||||||
}
|
}
|
||||||
crate::variables::FunctioChainKind::Interlaced => {
|
crate::variables::FunctioChainKind::ByArity => {
|
||||||
Self::deinterlace(args, (left_functio.arity(), right_functio.arity()))
|
Self::deinterlace(args, (left_functio.arity(), right_functio.arity()))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -67,8 +67,8 @@ impl Functio {
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Copy, Clone, Hash)]
|
#[derive(Debug, PartialEq, Copy, Clone, Hash)]
|
||||||
pub enum FunctioChainKind {
|
pub enum FunctioChainKind {
|
||||||
Ordered,
|
Equal,
|
||||||
Interlaced,
|
ByArity,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub type Cart = HashMap<Value, Rc<RefCell<Value>>>;
|
pub type Cart = HashMap<Value, Rc<RefCell<Value>>>;
|
||||||
|
@ -135,11 +135,11 @@ impl Value {
|
||||||
Functio::Chain { functios, kind } => {
|
Functio::Chain { functios, kind } => {
|
||||||
let (lhs, rhs) = *functios;
|
let (lhs, rhs) = *functios;
|
||||||
match kind {
|
match kind {
|
||||||
FunctioChainKind::Ordered => {
|
FunctioChainKind::Equal => {
|
||||||
Value::Int(Value::Functio(lhs).into_i32())
|
Value::Int(Value::Functio(lhs).into_i32())
|
||||||
+ Value::Int(Value::Functio(rhs).into_i32())
|
+ Value::Int(Value::Functio(rhs).into_i32())
|
||||||
}
|
}
|
||||||
FunctioChainKind::Interlaced => {
|
FunctioChainKind::ByArity => {
|
||||||
Value::Int(Value::Functio(lhs).into_i32())
|
Value::Int(Value::Functio(lhs).into_i32())
|
||||||
* Value::Int(Value::Functio(rhs).into_i32())
|
* Value::Int(Value::Functio(rhs).into_i32())
|
||||||
}
|
}
|
||||||
|
@ -225,11 +225,11 @@ impl Value {
|
||||||
Functio::Chain { functios, kind } => {
|
Functio::Chain { functios, kind } => {
|
||||||
let (lhs, rhs) = *functios;
|
let (lhs, rhs) = *functios;
|
||||||
match kind {
|
match kind {
|
||||||
FunctioChainKind::Ordered => {
|
FunctioChainKind::Equal => {
|
||||||
Value::Abool(Value::Functio(lhs).into_abool())
|
Value::Abool(Value::Functio(lhs).into_abool())
|
||||||
+ Value::Abool(Value::Functio(rhs).into_abool())
|
+ Value::Abool(Value::Functio(rhs).into_abool())
|
||||||
}
|
}
|
||||||
FunctioChainKind::Interlaced => {
|
FunctioChainKind::ByArity => {
|
||||||
Value::Abool(Value::Functio(lhs).into_abool())
|
Value::Abool(Value::Functio(lhs).into_abool())
|
||||||
* Value::Abool(Value::Functio(rhs).into_abool())
|
* Value::Abool(Value::Functio(rhs).into_abool())
|
||||||
}
|
}
|
||||||
|
@ -292,9 +292,9 @@ impl Value {
|
||||||
.get(&Value::Str("1452251871514141792252515212116".to_owned()))
|
.get(&Value::Str("1452251871514141792252515212116".to_owned()))
|
||||||
.map(|x| x.borrow().to_owned().into_i32())
|
.map(|x| x.borrow().to_owned().into_i32())
|
||||||
{
|
{
|
||||||
FunctioChainKind::Ordered
|
FunctioChainKind::Equal
|
||||||
} else {
|
} else {
|
||||||
FunctioChainKind::Interlaced
|
FunctioChainKind::ByArity
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut cart_vec = c.iter().collect::<Vec<_>>();
|
let mut cart_vec = c.iter().collect::<Vec<_>>();
|
||||||
|
@ -394,11 +394,11 @@ impl Value {
|
||||||
Functio::Chain { functios, kind } => {
|
Functio::Chain { functios, kind } => {
|
||||||
let (lhs, rhs) = *functios;
|
let (lhs, rhs) = *functios;
|
||||||
match kind {
|
match kind {
|
||||||
FunctioChainKind::Ordered => {
|
FunctioChainKind::Equal => {
|
||||||
Value::Cart(Value::Functio(lhs).into_cart())
|
Value::Cart(Value::Functio(lhs).into_cart())
|
||||||
+ Value::Cart(Value::Functio(rhs).into_cart())
|
+ Value::Cart(Value::Functio(rhs).into_cart())
|
||||||
}
|
}
|
||||||
FunctioChainKind::Interlaced => {
|
FunctioChainKind::ByArity => {
|
||||||
Value::Cart(Value::Functio(lhs).into_cart())
|
Value::Cart(Value::Functio(lhs).into_cart())
|
||||||
* Value::Cart(Value::Functio(rhs).into_cart())
|
* Value::Cart(Value::Functio(rhs).into_cart())
|
||||||
}
|
}
|
||||||
|
@ -434,7 +434,7 @@ impl ops::Add for Value {
|
||||||
}
|
}
|
||||||
Value::Functio(f) => Value::Functio(Functio::Chain {
|
Value::Functio(f) => Value::Functio(Functio::Chain {
|
||||||
functios: Box::new((f, rhs.into_functio())),
|
functios: Box::new((f, rhs.into_functio())),
|
||||||
kind: FunctioChainKind::Ordered,
|
kind: FunctioChainKind::Equal,
|
||||||
}),
|
}),
|
||||||
Value::Cart(c) => {
|
Value::Cart(c) => {
|
||||||
Value::Cart(c.into_iter().chain(rhs.into_cart().into_iter()).collect())
|
Value::Cart(c.into_iter().chain(rhs.into_cart().into_iter()).collect())
|
||||||
|
@ -565,7 +565,7 @@ impl ops::Mul for Value {
|
||||||
}
|
}
|
||||||
Value::Functio(f) => Value::Functio(Functio::Chain {
|
Value::Functio(f) => Value::Functio(Functio::Chain {
|
||||||
functios: Box::new((f, rhs.into_functio())),
|
functios: Box::new((f, rhs.into_functio())),
|
||||||
kind: FunctioChainKind::Interlaced,
|
kind: FunctioChainKind::ByArity,
|
||||||
}),
|
}),
|
||||||
Value::Cart(c) => {
|
Value::Cart(c) => {
|
||||||
let rhsc = rhs.into_cart();
|
let rhsc = rhs.into_cart();
|
||||||
|
@ -807,8 +807,8 @@ impl Display for Value {
|
||||||
"{} {} {} ",
|
"{} {} {} ",
|
||||||
Value::Functio(a),
|
Value::Functio(a),
|
||||||
match kind {
|
match kind {
|
||||||
FunctioChainKind::Ordered => '+',
|
FunctioChainKind::Equal => '+',
|
||||||
FunctioChainKind::Interlaced => '*',
|
FunctioChainKind::ByArity => '*',
|
||||||
},
|
},
|
||||||
Value::Functio(b)
|
Value::Functio(b)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue