func aFunctionWithOptionalArgument(a,$b)
{
    Console.WriteLine(a);

    if(TypeIsDefined(b))
    {
        Console.WriteLine(b);
    }
    else {
        Console.WriteLine("B is not defined");
    }
}

func String.Join(join, $$strings)
{
    var first=true
    var output = "";
    each(var item : strings)
    {
        if(!first)
            output +=join;
        first=false;
        output += item;
    }
    return output;
}

func main(args)
{
    //aFunctionWithOptionalArgument("A string");
    //aFunctionWithOptionalArgument(true, 42);


    Console.WriteLine(String.Join(".","192","168","0","142"));
}