Is it feasible for a general purpose programming language to not have a heap?
I'm looking into creating a programming language. What I'm wondering is, in a language that contains a reference-like construct, is it feasible to not have a new/malloc operator? That is, all variables are stored either on the stack somewhere or are statically allocated.

The idea is that you get better type safety, as well as "free garbage collection" without actually having a garbage collector.

I'm not familiar with too many scripting languages, so if one already does this, feel free to point it out.

(Dynamic / unknown size data structures would be handled by a dynamic list structure, which would be handled (obviously) on the heap, behind the user's back.)
Is it feasible for a general purpose programming language to not have a heap?
===

I'm looking into creating a programming language. What I'm wondering is, in a language that contains a reference-like construct, is it feasible to not have a new/malloc operator? That is, all variables are stored either on the stack somewhere or are statically allocated.

The idea is that you get better type safety, as well as "free garbage collection" without actually having a garbage collector.

I'm not familiar with too many scripting languages, so if one already does this, feel free to point it out.

(Dynamic / unknown size data structures would be handled by a dynamic list structure, which would be handled (obviously) on the heap, behind the user's back.)