[Question]
  [
*"The Nobel Prize in mathematics was awarded to a California professor who has discovered a new number! The number is bleen, which he claims belongs between 6 and 7."* --George Carlin
In this challenge, you will print all Integers, inclusive, within the given input range. Print numbers ascending or descending according to their input order. That is, for input `[n1, n2]`, print *ascending* if `n1 < n2`, *descending* if `n1 > n2`.
Since `bleen` is now an Integer number it may be used as input. It must also be included in the output, between `6` and `7` where applicable. Also note that `-bleen` exists between -7 and -6.
**Input**
Two Integers `[n1, n2]` in the range [-10, 10], inclusive, via your programming language's input of choice. 
(Input may also contain `bleen` and `-bleen`!)
**Output**
Print all Integers starting at `n1` and ending with `n2`, including the newly discovered `bleen` between 6 and 7. Output can be a range of character separated numbers in some form your language supports - that is, comma or space separated. One trailing space of output is okay.
**Examples**
```
Input:  1 10
Output: 1 2 3 4 5 6 bleen 7 8 9 10 
Input:  -9 -4
Output: -9 -8 -7 -bleen -6 -5 -4
Input:  -8 bleen
Output: -8 -7 -bleen -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 bleen
Input:  9 1
Output: 9 8 7 bleen 6 5 4 3 2 1
Input:  2 -bleen
Output: 2 1 0 -1 -2 -3 -4 -5 -6 -bleen
Input:  -bleen 0
Output: -bleen -6 -5 -4 -3 -2 -1 0
Input:  bleen bleen
Output: bleen
Input:  2 2
Output: 2
```
**Additional notes**
You may write a [program or function](http://meta.codegolf.stackexchange.com/q/2419) and use any [standard method](http://meta.codegolf.stackexchange.com/q/2447) of receiving input and providing output.
You may use any [programming language](http://meta.codegolf.stackexchange.com/q/2028), but [standard loopholes](http://meta.codegolf.stackexchange.com/questions/1061/loopholes-that-are-forbidden-by-default) are not allowed.
This is [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'"), so the shortest valid answer – measured in *bytes* – wins.
  
[Answer]
# Python 3, 132 130 bytes
```
r=round
bleen=6.1
m=1.08
a,b=eval(input())
d=1-2*(a>b)
print(*[[r(i/m),"-bleen"[i>0:]][i*i==49]for i in range(r(m*a),d+r(m*b),d)])
```
Takes input in the following example format:
```
-8, bleen
```
[Answer]
# Ruby, ~~114~~ ~~100~~ 98 bytes
Input is an array with `[n1, n2]`. (If it must be two seperate arguments, +1 byte to change the function arg from `g` to `*g`. Bleen must be a string, `"bleen"`. Outputs an array of the range. Suggested by @Jordan with his (?) initial version granting -7 bytes, but I also golfed off 7 more after that.
[Try it online.](https://repl.it/CjNX)
```
->g{a=*-10..-7,?-+b='bleen',*-6..6,b,*7..10;x,y=g.map{|v|a.index v}
y<x ?a[y..x].reverse: a[x..y]}
```
Original full program version that reads input from `ARGV`:
```
b='bleen'
a=[*-10..-7,?-+b,*-6..6,b,*7..10].map &:to_s
x,y=$*.map{|v|a.index v}
puts y<x ?a[y..x].reverse: a[x..y]
```
[Answer]
# [Pyth](https://github.com/isaacg1/pyth), 35 bytes
```
K++L\-P_J++`M7"bleen"`M}7TJ@LK}FxLK
```
[Test suite.](http://pyth.herokuapp.com/?code=K%2B%2BL%5C-P_J%2B%2B%60M7%22bleen%22%60M%7D7TJ%40LK%7DFxLK&test_suite=1&test_suite_input=%221%22%2C%2210%22%0A%22-9%22%2C%22-4%22%0A%22-8%22%2C%22bleen%22%0A%229%22%2C%221%22%0A%222%22%2C%22-bleen%22%0A%22-bleen%22%2C%220%22%0A%22bleen%22%2C%22bleen%22%0A%222%22%2C%222%22&debug=0)
The first part, i.e. `K++L\-P_J++`M7"bleen"`M}7TJ`, generates this array:
```
['-10', '-9', '-8', '-7', '-bleen', '-6', '-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5', '6', 'bleen', '7', '8', '9', '10']
```
and then stores it in `K`.
The second part, i.e. `@LK}FxLK`, finds the sublist indicated by the input.
[Answer]
## Python 3, ~~157~~ ~~145~~ ~~123~~ ~~108~~ ~~115~~ ~~139~~ ~~161~~ ~~158~~ 153 bytes
Saved 22 thanks to Lynn. 17 saved thanks to shooqie. 3 saved thanks to ljeabmreosn. 5 saved thanks to Geoff Reedy.
```
a,b=eval(input())
s='-'
c='bleen'
d=a<b
l=list(map(str,range(-10,11)))[::[-1,1][d]]
x=l.insert
y=l.index
x(4,d*s+c)
x(18,(1^d)*s+c)
print(l[y(a):y(b)+1])
```
Input like `'-10', '8'`. Tips are welcome for a beginner.
Added 7 to account for `-bleen`. Added 15 to account for reversed input like `'8','-10'`. Added a large 21 to account for the reversed input signs for `bleen` vs `-bleen`.
[Answer]
# Ruby, 141 bytes
```
->*a{
l="bleen"
s=13
a,b=a.map{|n|2*n rescue s*(n<=>?b)}
b,a,r=a,b,1if b<a
o=(a..b).map{|n|n==s ?l:n==-s ??-+l:n/2}.uniq
puts r ?o.reverse: o}
```
## Ungolfed
```
lambda do |*args|
  bleen = "bleen"
  subst = 13 # This will stand in for "bleen"
  a, b = args.map {|arg|
    begin
      # Double the number
      2 * arg
    rescue
      # It wasn't a number, so it's "bleen" or "-bleen"; replace it with 13 or -13
      subst * (arg <=> "b")
    end
  }
  if b < a
    # If the range isn't ascending, reverse it and remember that we did
    b, a, reverse = a, b, 1
  end
  # Step through the range, replacing 13 and -13 with "bleen" and "-bleen" and
  # halving everything else
  result = (a..b).map {|n|
    if n == subst
      bleen
    elsif n == -subst
      "-" + bleen
    else
      n / 2
    end
  }.uniq # Drop duplicates
  # Reverse the result if the range was descending
  puts reverse ? result.reverse : result
end
```
[Answer]
## Batch, ~~239~~ 186 bytes
```
@set/ableen=1431655772,a=%1*3,b=%2*3,c=b-a^>^>31^|1
@for /l %%i in (%a%,%c%,%b%)do @((if %%i==20 echo bleen)&(if %%i==-20 echo -bleen)&set/aj=%%i%%3,k=%%i/3&cmd/cif %%j%%==0 echo %%k%%)
```
Works by looping from `3*%1` to `3*%3` and then dividing by three and printing the numbers with no remainder, however setting `bleen` to that magic number causes integer overflow and the value `20` is used instead. This is then printed out at the appropriate point in the loop.
[Answer]
# JavaScript (ES6), 158
Nice challenge, hard to golf. Probably the range methods used in Python and Ruby answers could score better even in JS.
```
(a,b)=>(c=x=>x<-6?x-1:x>6?x+1:1/x?x:x<'b'?-7:7,a=c(a),b=c(b),d=b>a?1:-1,a-=d,e=x=>x-7?x-(x>7):'bleen',[...Array(d*(b-a))].map((x=a+=d)=>x<0?'-'+e(-x):e(x)))  
```
*Less golfed*
```
(a,b)=>(
  c=x=>x<-6?x-1:x>6?x+1:1/x?x:x<'b'?-7:7,
  a=c(a),b=c(b),
  d=b>a?1:-1,
  a-=d,
  e=x=>x-7?x-(x>7):'bleen',
  [...Array(d*(b-a))].map((x=a+=d)=>x<0?'-'+e(-x):e(x))
)  
```
**Test**
```
f=(a,b)=>(c=x=>x<-6?x-1:x>6?x+1:1/x?x:x<'b'?-7:7,a=c(a),b=c(b),d=b>a?1:-1,a-=d,e=x=>x-7?x-(x>7):'bleen',[...Array(d*(b-a))].map((x=a+=d)=>x<0?'-'+e(-x):e(x)))  
function go(){
  var a=A.value,b=B.value
  // make them numeric if possible
  a=isNaN(a)?a:+a
  b=isNaN(b)?b:+b
  
  O.textContent=f(a,b)
}  
go()
```
```
A <select id=A onchange='go()'>
<option>-10<option>-9<option>-8<option>-7<option>-bleen<option>-6<option>-5<option>-4<option>-3<option>-2<option>-1<option>0
<option>1<option>2<option>3<option>4<option>5<option>6<option>bleen<option>7<option>8<option>9<option>10
</select>
B <select id=B onchange='go()'>
<option>-10<option>-9<option>-8<option>-7<option>-bleen<option>-6<option>-5<option>-4<option>-3<option>-2<option>-1<option>0
<option>1<option>2<option>3<option>4<option>5<option>6<option>bleen<option>7<option>8<option>9<option selected>10
</select>
<pre id=O></pre>
```
[Answer]
# Swift 2.2, 342 Bytes
```
func a(x:String,y:String){var k="bleen",a=Int(x) ?? (x==k ?(x==y ? -9:6):-6),b=Int(y) ?? (y==k ?6:-6),t=0,s=[Any](),f=Int(x)==nil ?x:"";if a>b{t=a;a=b;b=t};for i in a...b{if i==7 && a != 7{s.append(k)};s.append(i);if -i==7 && b != -7{s.append("-"+k)}};for v in t==0 ?s:s.reverse(){f+=" \(v)"};if Int(y)==nil&&b>0{f+=" \(y)"};print(x==y ?x:f)}
```
[Test this using IBM's Swift Sandbox](http://swiftlang.ng.bluemix.net/#/repl/57a3c19296ff73f744b74093)
**Ungolfed**
```
func bleen(x: String, y: String){
    var k = "bleen",
        a = Int(x) ?? (x == k ? (x == y ? -9 : 6) : -6),
        b = Int(y) ?? (y == k ? 6: -6),
        t = 0,
        s = [Any](),
        f = Int(x) == nil ? x : ""
    if a > b{
        t = a
        a = b
        b = t
    }
    for i in a...b{
        if i == 7 && a != 7{s.append(k)}
        s.append(i)
        if -i == 7 && b != -7{s.append("-" + k)}
    }
    if Int(y) == nil && b > 0{s.append(y)}
    for v in t == 0 ? s : s.reverse(){
        f+="\(v) "
    }
    print(x == y ? x : f)
}
```
[Answer]
# Java, 271 bytes
```
int p(String w){if(w.contains("b"))return w.length()<6?7:-7;int i=Integer.decode(w);return i<-6?i-1:i>6?i+1:i;}void b(String s,String f){Integer l=p(s),r=p(f);for(r+=l<r?1:-1;l!=r;l-=l.compareTo(r))System.out.print(l==-7?"-bleen ":l==7?"bleen ":l+(l<-7?1:l<7?0:-1)+" ");}
```
Ungolfed with test cases:
```
class Bleen {
     static int p(String w) {
         if(w.contains("b"))
             return w.length() < 6 ? 7 : -7;
         int i = Integer.decode(w);
         return i < -6 ? i-1 : i>6 ? i+1 : i;
     }
     static void b(String s, String f) {
         Integer l = p(s), r = p(f);
         for(r += l<r ? 1 : -1; l != r; l -= l.compareTo(r))
             System.out.print(l == -7 ? "-bleen " : l == 7 ? "bleen ": l+(l < -7 ? 1 : l<7 ? 0 : -1)+" ");
     }
     public static void main(String[] args) {
         b("1","10"); System.out.println();
         b("-9","-4"); System.out.println();
         b("-8", "bleen"); System.out.println();
         b("9", "1"); System.out.println();
         b("2", "-bleen"); System.out.println();
         b("-bleen", "0"); System.out.println();
         b("bleen", "bleen"); System.out.println();
         b("2", "2"); System.out.println();
     }
}
```
Call b(start, end). Because the parameters are strings, it takes a lot of space to convert those into ints. Essentially the program treats 7 & -7 as bleen and -bleen.
[Answer]
# Java 7, 251 bytes
```
import java.util.*;String b(Object...a){String q="bleen",r="";List l=new ArrayList();int j=-10,i,z,y,t;while(j<11)l.add(j++);l.add(4,"-"+q);l.add(18,q);z=l.indexOf(a[0]);y=l.indexOf(b[1]);if(y<z){t=z;z=y;y=t;}for(i=z;i<=y;)r+=l.get(i++)+" ";return r;}
```
[Different approach](https://codegolf.stackexchange.com/a/87572/52210) which is shorter than the already existing [Java 7 answer](https://codegolf.stackexchange.com/a/88624/52210).  
Also, it's unfortunate that the parameters are potentially not in order, which adds some bytes to swap them around.
**Ungolfed & test cases:**
[Try it here.](https://ideone.com/RpkuFv)
```
import java.util.*;
class Main{
  static String b(Object... a){
    String q = "bleen",
           r = "";
    List l = new ArrayList();
    int j = -10, i, z, y, t;
    while(j < 11){
      l.add(j++);
    }
    l.add(4, "-"+q);
    l.add(18, q);
    z = l.indexOf(a[0]);
    y = l.indexOf(a[1]);
    if(y < z){
      t = z;
      z = y;
      y = t;
    }
    for(i = z; i <= y; ){
      r += l.get(i++) + " ";
    }
    return r;
  }
  public static void main(String[] a){
    System.out.println(b(1, 10));
    System.out.println(b(-9, -4));
    System.out.println(b(-8, "bleen"));
    System.out.println(b(9, 1));
    System.out.println(b(2, "-bleen"));
    System.out.println(b("-bleen", 0));
    System.out.println(b("bleen", "bleen"));
    System.out.println(b(2, 2));
  }
}
```
**Output:**
```
1 2 3 4 5 6 bleen 7 8 9 10 
-9 -8 -7 -bleen -6 -5 -4 
-8 -7 -bleen -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 bleen 
1 2 3 4 5 6 bleen 7 8 9 
-bleen -6 -5 -4 -3 -2 -1 0 1 2 
-bleen -6 -5 -4 -3 -2 -1 0 
bleen 
2 
```
[Answer]
# Scala, 223 bytes
```
object B extends App{val b="bleen"
val L=((-10 to -7)++List(s"-$b")++(-6 to 6)++List(b)++(6 to 10)).map(""+_)
val Array(s,e)=args.map(L.indexOf(_))
println((if(s<=e)L.slice(s,e+1)else L.slice(e,s+1).reverse).mkString(" "))}
```
[Answer]
# JavaScript (ES6), 178 bytes
```
 (s,e)=>{q='bleen';t=[];for(i=-10;i<11;i++)t.push(i);t.splice(4,0,'-'+q);t.splice(18,0,q);s=t.indexOf(s);e=t.indexOf(e);s>e&&t.reverse()&&(e=22-e)&&(s=22-s);return t.slice(s,e+1)}
```
[Try it](https://repl.it/Cjn1/2)
EDIT: Fix for reverse ordering.Thanks Patrick, missed this condition
[Answer]
## Python 3, 126 bytes
Input is in the form `-5, 'bleen'`
```
l=list(range(-10,11))
c='bleen'
s=l.insert
t=l.index
s(4,'-'+c)
s(18,c)
i,j=map(t,eval(input()))
d=1-2*(i<j)
print(l[i:j+d:d])
```
[Answer]
# **R**,  110 107 bytes
Thanks to Cyoce for golfing 3 bytes.
```
a=function(x,y){e=c(-10:-7,"-bleen",-6:6,"bleen",6:10)
b=function(d)which(e==as.character(d))
e[b(x):b(y)]}
```
Builds the whole list in order, picks out the relevant ones. Function in the middle named "b" seemed the easiest way to make that happen. Apply,etc
[Answer]
# Javascript (using external library) (343 bytes)
```
(a,b)=>{r="bleen";s="-"+r;c=d=>d==r?7:(d==s?-7:d);i=c(a);j=c(b);m=Math.min(i,j);n=Math.max(i,j);w=i<=j?_.RangeTo(i,j):_.RangeDown(i,Math.abs(j-i)+1);g=i<j?6:7;if(n>-7&&m<-6){w=w.InsertWhere("-bleen",x=>x==-7)}if(m<8&&n>6){w=w.InsertWhere("bleen",x=>x==g)}if(a==r||b==r){w=w.Where(x=>x!=7)}if(a==s||b==s){w=w.Where(x=>x!=-7)}return w.ToArray()}
```
Link to lib: <https://github.com/mvegh1/Enumerable>
Screenshot:
[![enter image description here](https://i.stack.imgur.com/eVhHq.png)](https://i.stack.imgur.com/eVhHq.png)
[Answer]
# Python 2, 100 bytes
The first four lines generate the list `[-10, -9, -8, -7, 'bleen', -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 'bleen', 7, 8, 9, 10]`. The next line gets input and stores it in `s` and `e`. The last two lines use `.index()` and list slicing notation to get the correct range.
```
a=range(-10,11)
b="bleen"
c=a.insert
c(17,b)
c(4,b)
s,e=eval(input())
d=a.index
print a[d(s):d(e)+1]
```
Works in the same way as Leaky Nun's answer but developed independently. Stole an input method from orlp.
# Ungolfed:
```
array = range(-10, 11)
array.insert(17, "bleen")
array.insert(4, "bleen")
start, end = eval(input())
print array[array.index(start):array.index(end) + 1]
```
]