qlova / ilang

"i" is a clear, concise programming language that is multi-lingual cross-platform, deterministic and resilient.
Artistic License 2.0
7 stars 1 forks source link

Optimise empty types. #6

Closed Splizard closed 7 years ago

Splizard commented 7 years ago

Consider this:

type Empty {}

software {
    var e = Empty()

    var breakloop = 100
    loop {
         e = Empty() //This should optimise away. No arrays should be allocated.
         breakloop++
         if breakloop <= 0 
              break
         end
    }
}

No need to make lists for empty types, no need to garbage collect them either.