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.