(1) Definition of a memoryless system: A system is said to be "memoryless" is its output is based soley on what the present input is.
Definition of a system with memory: A system is said to have "memory" if its output is based on the present input as well as past inputs.
(2) Defintion of a non-causal system: A system is said to be "non-causal" if its outputs are based on present input as well as past or future inputs.
Definition of a causal system: A system is said to be "causal" if its inputs are based only on its present inputs.