/ examples / 01_experiment.bet
01_experiment.bet
 1  -- SPDX-License-Identifier: AGPL-3.0-or-later
 2  -- BetLang Experimental Features Example
 3  
 4  -- Enable experimental features
 5  #![feature(linear_types)]
 6  #![feature(dependent_types)]
 7  #![feature(effect_system)]
 8  
 9  -- Using linear types (experimental)
10  @linear
11  fn example_linear():
12      let resource = acquire()
13      use(resource)  -- Must be used exactly once
14  
15  -- Syntax variant exploration
16  syntax_variant A:
17      let x = 5
18      let y = x + 10
19  
20  syntax_variant B:
21      x := 5
22      y := x + 10
23  
24  -- Compare and evaluate different approaches
25  fn main():
26      example_linear()