Thanks! you do need the .primary:
*julia> **typeof(f).name(4.0)*
*ERROR: MethodError: `call` has no method matching call(::TypeName,
::Float64)*
Closest candidates are:
BoundsError()
BoundsError(*::Any...*)
DivideError()
...
*julia> **typeof(f).name.primary(4.0)*
*Foo{Float64}(4.0)*
On Monday, January 4, 2016 at 11:30:17 AM UTC, Jeffrey Sarnoff wrote:
>
> I meant: typeof(f).name
>
>
> On Monday, January 4, 2016 at 6:27:43 AM UTC-5, Jeffrey Sarnoff wrote:
>>
>> try Foo.name (without the '.primary'), and as Mauro says (try not to use
>> it much)
>>
>>
>> On Monday, January 4, 2016 at 5:39:53 AM UTC-5, Mauro wrote:
>>>
>>> This should do the trick:
>>>
>>> Foo.name.primary
>>>
>>> (I think this defeats type inference, so try not to use it in
>>> performance critical code)
>>>
>>> On Mon, 2016-01-04 at 11:31, Sheehan Olver <[email protected]> wrote:
>>> > If I have a type
>>> >
>>> > ```julia
>>> > immutable Foo{D}
>>> > x::D
>>> > end
>>> >
>>> > f=Foo(5)
>>> > ```
>>> >
>>> >
>>> > then `typeof(f)` gives me `Foo{Int}`. Is it possible to get access to
>>> just
>>> > `Foo`? I.e., I want to do:
>>> >
>>> > ```
>>> > F=droptemplates(typeof(f)) # returns pointer to Foo
>>> > F(1.0)
>>> > ```
>>>
>>