> Hi Mauro ,
>
> Can you show me any example ?
> I am a beginner in Julia. It would of great help for me.

In Julia the number types are defined here:
https://github.com/JuliaLang/julia/blob/fdbcdf78bf0106e609a8d83b9e896d2d11bae594/base/boot.jl#L156

So there are the abstract types:

abstract Number
abstract Real     <: Number
abstract AbstractFloat <: Real
abstract Integer  <: Real
abstract Signed   <: Integer
abstract Unsigned <: Integer

and then there are concrete subtypes. For example a few integer types:

bitstype 8  Bool <: Integer
bitstype 64  Int64   <: Signed
bitstype 64  UInt64  <: Unsigned


> On Tuesday, March 22, 2016 at 8:01:47 PM UTC+5:30, Mauro wrote:
>
>     You can only inherit from abstract types. Also, first defining
>
>     type number
>     ...
>     end
>
>     and then
>
>     abstract number
>
>     is not possible. It cannot be both abstract and concrete. (Also note
>     that types are by convention Captialized).
>
>     So build your hierarchy only with abstract types and make concrete types
>     of some of the abstract ones.
>
>     On Tue, 2016-03-22 at 15:26, kunal singh <ks25...@gmail.com> wrote:
>     > So basically there is a type called Basic defined as follows
>     >
>     > type Basic
>     >  ptr::Ptr{Void}
>     >  function Basic()
>     >   z = new(C_NULL)
>     >   ccall((:basic_new_stack, :libsymengine), Void, (Ptr{Basic}, ), &z)
>     >   finalizer(z, basic_free)
>     >   return z
>     >  end
>     > end
>     >
>     > Now I want to create a hierarchy: integer(not Integer)< number(not
>     Number) <
>     > Basic
>     >
>     > But in Julia, we cannot inherit from concrete type So what should I Do??
>     >
>     > Here's My approach
>     >
>     > abstract Basic
>     >
>     > type number <: Basic
>     >  ptr::Ptr{Void}
>     >  function number()
>     >   z = new(C_NULL)
>     >   ccall((:basic_new_stack, :libsymengine), Void, (Ptr{Basic}, ), &z)
>     >   finalizer(z, basic_free)
>     >   return z
>     >  end
>     > end
>     >
>     > abstract number
>     >
>     > type integer <: number
>     >  ptr::Ptr{Void}
>     >  function integer()
>     >   z = new(C_NULL)
>     >   ccall((:basic_new_stack, :libsymengine), Void, (Ptr{Basic}, ), &z)
>     >   finalizer(z, basic_free)
>     >   return z
>     >  end
>     > end
>     >
>     >
>     > Please tell me if I am wrong ?
>     > Need help from

Reply via email to