sequence function: range

    description:
        range(sp, sp)
        range(sp, sp, ket)
        the range function
            
    examples:
        -- range between 1 and 10:
        range(|1>, |10>)
            |1> + |2> + |3> + |4> + |5> + |6> + |7> + |8> + |9> + |10>
      
        -- range between 1 and 5, using step of 0.5:
        range(|1>, |5>, |0.5>)
            |1> + |1.5> + |2> + |2.5> + |3> + |3.5> + |4> + |4.5> + |5>
        
        -- specify a category, in this case 'year':
        range(|year: 1981>, |year: 1985>)
            |year: 1981> + |year: 1982> + |year: 1983> + |year: 1984> + |year: 1985>
            
        -- specify the 'number' category:
        range(|number: 7>, |number: 13>)
            |number: 7> + |number: 8> + |number: 9> + |number: 10> + |number: 11> + |number: 12> + |number: 13>
        
        -- if the categories are not the same, return the don't know ket |>
        range(|number: 3>, |price: 7>)
            |>
        
        -- reverse-range, with step size 2, from 2018 to 2014:
        range(|year: 2018>, |year: 2014>, |year: -2>)
            |year: 2018> + |year: 2016> + |year: 2014>
            
        -- if you need a sequence instead of a superposition, use sp2seq:
        sp2seq range(|number: 17>, |number: 23>)
            |number: 17> . |number: 18> . |number: 19> . |number: 20> . |number: 21> . |number: 22> . |number: 23>
        
        -- alternatively, you can define the srange function:
        srange (*,*) #=> sp2seq range(|_self1>, |_self2>)
        srange (*,*,*) #=> sp2seq range(|_self1>, |_self2>, |_self3>)
        
        srange(|5>, |9>)
            |5> . |6> . |7> . |8> . |9>
        
        srange(|17>, |23>, |2>)
            |17> . |19> . |21> . |23>
        
        -- filter down to prime numbers:
        -- due to a quirk, which we might change later, you need a literal operator wrapper around a function operator:
        is-prime |*> #=> is-prime |_self>
        
        -- now find our primes:
        such-that[is-prime] range(|2>, |40>)
            |2> + |3> + |5> + |7> + |11> + |13> + |17> + |19> + |23> + |29> + |31> + |37> 
        
    see also:
        sp2seq

Home