# New blog post about Julia parametric types and constructors

**URL:** <https://discourse.julialang.org/t/new-blog-post-about-julia-parametric-types-and-constructors/120717>\
**Category:** Teaching & Outreach\
**Tags:** parametric-types, constructors\
**Created:** [September 30, 2024, 11:03am UTC](https://discourse.julialang.org/t/new-blog-post-about-julia-parametric-types-and-constructors/120717 "2024-09-30T11:03:52Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [September 30, 2024, 11:20am UTC](https://discourse.julialang.org/t/new-blog-post-about-julia-parametric-types-and-constructors/120717/2 "2024-09-30T11:20:28Z")

</div>

> we enable the definition of several concrete types like `Point{Float64}`, `Point{Int}`, `Point{String}`, etc., and each of them derive from an ancestor type `Point`

I think this is not quite correct as `Point` is not an “ancestor type” as I’d understand it (to me that sounds like an abstract type usually defined with `abstract type`). It’s a `UnionAll` and short for `Point{T} where T`:

```julia
julia> struct Point{T}
           x::T
           y::T
       end

julia> isabstracttype(Point)
false

julia> Point{T} where T
Point

```

---

_[View the full topic](https://discourse.julialang.org/t/new-blog-post-about-julia-parametric-types-and-constructors/120717)._
