On Thu, Jul 9, 2015 at 10:52 AM, andrew cooke <and...@acooke.org> wrote:
> I want to do what I wrote, I think!  In particular, the type parameter is
> itself a value, the polynomial x.  It's immutable and a subclass of Integer.
> So I have no idea why the code should not work.

It's not `isbits` though.

>
> It's unusual to have a complex value like that in a type, I know, but it
> makes logical sense here - it's the type of values in the quotient ring with
> that ideal.
>
> Andrew
>
>
>
> On Thursday, 9 July 2015 11:44:42 UTC-3, Tom Breloff wrote:
>>
>> I'm not 100% sure I understand what you want, but here's a stab for line
>> 16:
>>
>> ZField{T1.parameters[1],T2}(x)
>>
>>
>> On Thursday, July 9, 2015 at 10:32:28 AM UTC-4, andrew cooke wrote:
>>>
>>>
>>> Before I raise an issue I wondered if I've made some stupid mistake here.
>>> The code is about as simple as I can make it.  The idea behind things is
>>> that you have a field of integers module 2 (GF2).  Then over that you define
>>> polynomials.  And then you can define a Quotient Ring with the polynomials,
>>> which is analogous to the initial field, and so you can use the same type as
>>> the rogiinal field.  But you don't need to understand that!
>>>
>>> Here's the code:
>>>
>>> immutable ZField{N, I<:Integer} <: Integer
>>>     i::I
>>> end
>>>
>>> immutable ZPoly{I<:Integer} <: Integer
>>>     a::Vector{I}
>>> end
>>>
>>> T1 = ZField{2,Int}
>>> o = T1(1)
>>>
>>> T2 = ZPoly{T1}
>>> x = T2([o, o])
>>>
>>> ZField{x,T2}(x)
>>>
>>> And this is the error (from the last line, which is line 16)
>>>
>>> andrew@laptop:~> julia-trunk IntModN.jl
>>> ERROR: LoadError: TypeError: apply_type: in ZField, expected Int64, got
>>> ZPoly{ZField{2,Int64}}
>>>  in include at ./boot.jl:254
>>>  in include_from_node1 at loading.jl:133
>>>  in process_options at ./client.jl:305
>>>  in _start at ./client.jl:405
>>> while loading /home/andrew/IntModN.jl, in expression starting on line 16
>>>
>>> In short - I have no idea where the Int64 comes from.
>>>
>>> Thanks,
>>> Andrew
>>>
>

Reply via email to