Using sequence as event contol

In reply to ben@SystemVerilog.us:

Hi Ben,
A final question to conclude the discussion.

Consider the following code: edalink1

As @(seq) unblocks in loopback from Observed to Active region, the $display() within always@(seq) executes before $display() in action block ( which executes in Reactive region )
So this essentially tells us that loopback from Observed to Active occurs before Reactive region.

Now consider the code at the top of this thread: edalink2

The void function executes in Reactive region similar to action block ( as we discussed in the last 2 replies ).

Hence the $display() within always@(seq) executes before void function ‘Length’ executes.
Therefore I believe ‘length’ would be unassigned when $display() executes within always@(seq).

Would like to hear on your thoughts on this.