c3d / xl

A minimalist, general-purpose programming language based on meta-programming and parse tree rewrites
GNU General Public License v3.0
270 stars 15 forks source link

Implement in, out and inout parameter passing modes #17

Open c3d opened 4 years ago

c3d commented 4 years ago

The in T type optimises type T for passing as an input parameter. The out T type optimises type T for passing as an output parameter. The inout T type (or io T optimises type T for passing as an input/output parameter.

This relies on binding binding rules, and selecting passing by copy or by reference depending on what is more efficient.