I could not produce the error by using the code snippet you provided.

The error message in your code is likely due to the conflict between
nominal type equality
(in C) and structural type equality (in ATS); postiats_tyrec_7 and
postiats_tyrec_15 are nominally
different in C but they should be based on two types in ATS that are
structurally equal.

I may be able to suggest something if I could produce the error on my side.

--Hongwei


On Fri, Dec 10, 2021 at 8:58 PM d4v3y_5c0n3s <tmj9...@gmail.com> wrote:

> So, I've got the following defined in my ".sats" file:
> absvt@ype mesh = @{v=int, t=int}
>
> In my ".dats" file, I've defined the following:
> assume mesh =
> [v,t:nat | v == t*3]
> @{
>   v=int v, t=int t
> }
> in
> implement mesh_new (  ) = let
> in
>   @{
>     v=3, t=1
>   }:mesh
> end
>
>   Where "mesh_new()" is simply a function that returns a new "mesh"
> value.  The code I'm showing is a simplified version of my code that still
> exhibits the issue I was encountering (my original version had arrays,
> hence it being linear.)
>   I've been getting the following cryptic error message when compiling my
> code:
> !patscc -c g_engine.dats
> g_engine_dats.c:47259:1: error: conflicting types for ‘str_043__045_’;
> have ‘postiats_tyrec_15()’
> 47259 | str_043__045_()
>       | ^~~~~~~~~~~~~
> g_engine_dats.c:25134:1: note: previous definition of ‘str_043__045_’ with
> type ‘postiats_tyrec_7(atstype_float,  atstype_float,  atstype_float,
>  atstype_float,  atstype_float,  atstype_float,  atstype_float,
>  atstype_float,  atstype_float,  atstype_float,  atstype_float,
>  atstype_float,  atstype_float,  atstype_float,  atstype_float,
>  atstype_float)’ {aka ‘postiats_tyrec_7(float,  float,  float,  float,
>  float,  float,  float,  float,  float,  float,  float,  float,  float,
>  float,  float,  float)’}
> 25134 | str_043__045_(atstkind_t0ype(atstype_float) arg0,
> atstkind_t0ype(atstype_float) arg1, atstkind_t0ype(atstype_float) arg2,
> atstkind_t0ype(atstype_float) arg3, atstkind_t0ype(atstype_float) arg4,
> atstkind_t0ype(atstype_float) arg5, atstkind_t0ype(atstype_float) arg6,
> atstkind_t0ype(atstype_float) arg7, atstkind_t0ype(atstype_float) arg8,
> atstkind_t0ype(atstype_float) arg9, atstkind_t0ype(atstype_float) arg10,
> atstkind_t0ype(atstype_float) arg11, atstkind_t0ype(atstype_float) arg12,
> atstkind_t0ype(atstype_float) arg13, atstkind_t0ype(atstype_float) arg14,
> atstkind_t0ype(atstype_float) arg15)
>       | ^~~~~~~~~~~~~
> !
> My question is, what am I doing wrong?  Additionally, if you have any
> suggestions for where to look for an answer, that would also be welcomed.
> Also, feel free to request more details, since this is a simplified version
> of my code and I may have accidentally omitted an important detail.  I
> appreciate any and all help that can be provided.
>
> --
> You received this message because you are subscribed to the Google Groups
> "ats-lang-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ats-lang-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ats-lang-users/5156ff12-80f4-4ce0-af53-9ecf04584964n%40googlegroups.com
> <https://groups.google.com/d/msgid/ats-lang-users/5156ff12-80f4-4ce0-af53-9ecf04584964n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ats-lang-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/CAPPSPLp%2BV_LZucJweMp-UP-wHebNGKG-OJ%2BSDcu4DEdjL6No%3Dg%40mail.gmail.com.

Reply via email to