# Data Space
## Problem
Question:
* byteorder doesn't know isize/usize.
Solution:
* s_stack is kept isize wide, but s_heap's content defaults to i32. So same s_heap content can be run from both 32 bit systems and 64 bit systems.
Question:
* lit doesn't differentiate u32 and i32. It's an error a u32 with highest bit set was pushed on to stack by lit.
Solution:
* rtForth does not use u32.
# Stacks
## Problem
Rust's vector is not a good implementation for stack:
* stack operations (swap, dup, drop, rot, nip...) are heavy because of nature of vector.
## Solution
A new data structure with swap, nip, dup, drop, rot, allot.. as its primitives. These primitives is implemented with unsafe code for performance reasons.
## Problem
s_heap, f_heap, n_heap and wordlist. such a structure make empty difficult to implemented. Combine them into a heap.