For this use case of optionally present data, Nullable would seem
appropriate (although this is 0.4-only).

http://julia.readthedocs.org/en/latest/manual/types/#nullable-types-representing-missing-values

Thanks,

Jiahao Chen
Research Scientist
MIT CSAIL

On Sat, May 30, 2015 at 2:08 PM, Tobias Knopp <tobias.kn...@googlemail.com>
wrote:

> There is one exception though, which is keyword arguments
>
>
> Am Samstag, 30. Mai 2015 03:49:45 UTC+2 schrieb Steven G. Johnson:
>>
>> *No!*  This is one of the most common misconceptions about Julia
>> programming.
>>
>> The type declarations in function arguments have *no impact* on
>> performance.  Zero.  Nada.  Zip.  You *don't have to declare a type at
>> all* in the function argument, and it *still* won't matter for
>> performance.
>>
>> The argument types are just a filter for when the function is applicable.
>>
>> The first time a function is called, a specialized version is compiled
>> for the types of the arguments that you pass it.  Subsequently, when you
>> call it with arguments of the same type, the specialized version is called.
>>
>> Note also that a default argument foo(x, y=false) is exactly equivalent
>> to defining
>>
>>     foo(x,y) = ...
>>     foo(x) = foo(x, false)
>>
>> So, if you call foo(x, [1,2,3]), it calls a version of foo(x,y)
>> specialized for an Array{Int} in the second argument.  The existence of a
>> version of foo specialized for a boolean y is irrelevant.
>>
>

Reply via email to