I wants to create things that way only,
yes, later I may add another constructor like "Leaf a" 
sorry for the confusion in my question .
now i comes to know that all I wants to know was syntax of how to write "Node BinTree a" instead of  "Node a BinTree a" and there was many horrorful error messages like: Expected kind `?', but `BinTree' has kind `k0 -> *'
that why i have panic that time
i was not seen that error earlier

thank you for answer


From: Kyle Murphy <orclev@gmail.com>
To: Kak Dod <kak.dod2008@yahoo.com>
Cc: Tom Murphy <amindfv@gmail.com>; "beginners@haskell.org" <beginners@haskell.org>
Sent: Friday, 13 April 2012 6:32 PM
Subject: Re: [Haskell-beginners] error: Not in scope: data constructor `BinTree'

If you don't include "Node a" then there isn't any point in having the a parameter on BinTree as it's never used unless you add another constructor that uses it. I based the modification on the usage in your example where you're trying to store a value of 3. Without that parameter the code becomes:
b1 = Node EmptyBinTree EmptyBinTree
I haven't tried it, but that will also likely complain it can't deduce "a" from the usage.
-R. Kyle Murphy
Sent from my phone.
On Apr 13, 2012 1:03 PM, "Kak Dod" <kak.dod2008@yahoo.com> wrote:
Thanks Tom. this is what i wanted
I do not want "Node a" there, I wants only Node and Tom's solution works.
Thanks to all .


From: Tom Murphy <amindfv@gmail.com>
To: Kak Dod <kak.dod2008@yahoo.com>
Cc: Kyle Murphy <orclev@gmail.com>; "beginners@haskell.org" <beginners@haskell.org>
Sent: Friday, 13 April 2012 4:53 PM
Subject: Re: [Haskell-beginners] error: Not in scope: data constructor `BinTree'

"(BinTree a)" needs to be in parentheses to pattern-match properly.

data BinTree a = Node (BinTree a) (BinTree) a | EmptyBinTree
  deriving Show

On 4/13/12, Kak Dod <kak.dod2008@yahoo.com> wrote:
> Thank you but
>
> if I change the code like this:
>
> data BinTree a = Node BinTree a BinTree a | EmptyBinTree deriving Show
>
> b1 = Node 3 EmptyBinTreeEmptyBinTree
>
> Then I am get this error:
>
> bintree.hs:1:23:
>     `BinTree' is not applied to enough type arguments
>     Expected kind `?', but `BinTree' has kind `k0 -> *'
>     In the type `BinTree'
>     In the definition of data constructor `Node'
>     In the data type declaration for `BinTree'
> Failed, modules loaded: none.
>
>
>
>
> ________________________________
>  From: Kyle Murphy <orclev@gmail.com>
> To: Kak Dod <kak.dod2008@yahoo.com>
> Cc: "beginners@haskell.org" <beginners@haskell.org>
> Sent: Friday, 13 April 2012 4:38 PM
> Subject: Re: [Haskell-beginners] error: Not in scope: data constructor
> `BinTree'
>
>
> Your constructor is called Node, not BinTree.
> data BinTree a = Node a (BinTree a) (BinTree a) | EmptyNode
> b1 = Node 3 EmptyNode EmptyNode
> -R. Kyle Murphy
> Sent from my phone.
> On Apr 13, 2012 12:24 PM, "Kak Dod" <kak.dod2008@yahoo.com> wrote:
>
> if i compile the following code I get "bintree.hs:3:13: Not in scope: data
> constructor `BinTree'"
>>
>>
>>
>>data BinTree a = Node BinTree a BinTree a | EmptyBinTree deriving Show
>>
>>b1 = (Node (BinTree 3) EmptyBinTree)
>>
>>
>>
>>please help
>>
>>
>>-kak
>>
>>
>>_______________________________________________
>>Beginners mailing list
>>Beginners@haskell.org
>>http://www.haskell.org/mailman/listinfo/beginners
>>
>>