« first day (94 days earlier)      last day (566 days later) » 

12:30 AM
Note: it should be possible to not an interval and get two disjoint intervals that are the original interval's complement.
Question: how should disjoint intervals be notated? [a..b, c..d]?
No, that doesn't account for open/closed discontinuities within the interval.
I guess it'll just be a sum of intervals. [a..b)+(c..d]
 
 
23 hours later…
11:48 PM
code = \input[SINGLEBYTE]();

tape = [0] * 2^16;
index = 0;

\for(instruction; code) {
  \switch(instruction) {
    "+": tape[index] += 1;
    "-": tape[index] -= 1;
    ">": index += 1;
    "<": index -= 1;
    ",": tape[index] = \getc[SINGLEBYTE]();
    ".": \print(char:tape[index]);
    "]": \hop(\find(code[\pos():0], "[")) \if tape[index];
    default: pass;
  }
}
@El'endiaStarman BF interpreter. Few things to note:
The switch statement syntax which I think is good
Binary \if
\hop and \pos
In a for loop \pos gets the current index, \hop moves to the current index
I think this will be more powerful then using enumerate
Also the code[\pos():0] is in reverse
I just realized that slicing \Z is golfier than using \range (and cooler)
 

« first day (94 days earlier)      last day (566 days later) »