Thanks, I tried something similar with the "dict" type, but completely 
overlooked the "bucket" type.  I'll test this to see if it resolves the 
issue.

On Wednesday, December 1, 2021 at 12:28:15 AM UTC-5 gmhwxi wrote:

> After taking a quick look at dict.sats, I spotted the following line:
>
> absvtype bucket(a:vt@ype)
>
> which should be change to the following one:
>
> absvtype bucket(a:vt@ype) = ptr // ptr takes the compiler the size of 
> bucket
>
> The simple reason is that the compiler needs to know the size of an 
> abstract type in order to compile it to a type in C.
>
>
> On Wednesday, December 1, 2021 at 12:16:34 AM UTC-5 gmhwxi wrote:
>
>> I don't quite understand.
>> Templates in ATS2 are supposed to be working with abstract types.
>>
>> If I could try precisely what you did on your machine, then I may be able 
>> to suggest something.
>>
>>
>>
>> On Tue, Nov 30, 2021 at 8:27 PM d4v3y_5c0n3s <tmj...@gmail.com> wrote:
>>
>>> Update 2:
>>> After investigating the prelude, I've determined that templates in ATS2 
>>> just conflict with abstract types in some instances.  For this reason, it 
>>> seems that in many parts of the prelude avoided the use of the "assume" 
>>> keyword with template-heavy code.
>>>
>>> On Tuesday, November 30, 2021 at 7:08:48 PM UTC-5 d4v3y_5c0n3s wrote:
>>>
>>>> Update:
>>>> I was able to get the code I provided above running by staloading the 
>>>> dict.dats file from the dict_test.dats file using " staload _ = 
>>>> "./dict.dats" ".  Now, my only problem is that if I make the "dict" & 
>>>> bucket types abstract, the templates stop working.
>>>>
>>>> On Tuesday, November 30, 2021 at 1:39:39 PM UTC-5 d4v3y_5c0n3s wrote:
>>>>
>>>>> You are right, including " share/atspre_staload.hats" causes the code 
>>>>> to compile.  However, I'm still having issues.  You see, the code I 
>>>>> provided I had taken from a static (.sats) and dynamic (.dats) file in 
>>>>> order to make it more presentable when asking for help.  Your fix only 
>>>>> fixes the issue in the single-file version, and when including the 
>>>>> external 
>>>>> static file it doesn't work.  Do you know what might be going wrong?  
>>>>> I'll 
>>>>> provide the (simplified) contents of each of these files below.
>>>>>
>>>>> *dict.sats*:
>>>>> #include "share/atspre_staload.hats"
>>>>>
>>>>>
>>>>> datavtype BUCKET (a:vt@ype) =
>>>>> | bucket_empty of ()
>>>>> | bucket_filled of (Strptr1, a, BUCKET(a))
>>>>>
>>>>> vtypedef bucket(a:vt@ype) = BUCKET(a)
>>>>>
>>>>> fn{a:vt@ype} bucket_item$delete ( x: a ): void
>>>>>
>>>>> fun{a:vt@ype} bucket_delete_recursive ( b: bucket(a) ) : void
>>>>>
>>>>> sortdef dsz = {s:int | s > 0}
>>>>>
>>>>> vtypedef dict(a:vt@ype, n:int) =
>>>>> @{
>>>>>     size=int n,
>>>>>     buckets=arrayptr(bucket(a), n)
>>>>> }
>>>>>
>>>>> fn{a:vt@ype} dict_new {s:dsz} ( int s ) : dict(a, s)
>>>>> fn{a:t@ype} dict_delete {s:dsz} ( d: dict(a, s) ) : void
>>>>> fn{a:vt@ype} dict_delete_lin {s:dsz} ( d: dict(a, s) ) : void
>>>>>
>>>>>
>>>>> *dict.dats*:
>>>>> #include "share/atspre_staload.hats"
>>>>>
>>>>> staload "./dict.sats"
>>>>>
>>>>> local
>>>>> in
>>>>>
>>>>>
>>>>> implement{a} dict_new {s} ( size ) = let
>>>>>     val size_st = size_of_int(size)
>>>>>     val bucket_arr = arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>     implmnt array_initize$init<bucket(a)> (i, x) = x := bucket_empty()
>>>>>     val () = arrayptr_initize<bucket(a)>(bucket_arr, size_st)
>>>>> in
>>>>>     @{size=size, buckets=bucket_arr}:dict(a, s)
>>>>> end
>>>>>
>>>>> implmnt{a} dict_delete ( d ) = let
>>>>>   implmnt(a2:t@ype) bucket_item$delete<a2> ( x ) = ()
>>>>> in
>>>>>   dict_delete_lin<a>(d)
>>>>> end
>>>>>
>>>>> implmnt{a} bucket_delete_recursive ( b ) =
>>>>>     case+ b of
>>>>>     | ~bucket_empty() => ()
>>>>>     | ~bucket_filled(str, x, next_bucket) => let
>>>>>         val () = strptr_free(str)
>>>>>         val () = bucket_item$delete<a>(x)
>>>>>     in
>>>>>         bucket_delete_recursive<a>(next_bucket)
>>>>>     end
>>>>>
>>>>> implmnt{a} dict_delete_lin ( d ) = let
>>>>>   implmnt array_uninitize$clear<bucket(a)> (i, x) = 
>>>>> bucket_delete_recursive<a>(x)
>>>>> in
>>>>>   arrayptr_freelin(d.buckets, size_of_int(d.size))
>>>>> end
>>>>> end
>>>>>
>>>>> *dict_test.dats*, where main is:
>>>>> #include "share/atspre_staload.hats"
>>>>>
>>>>> staload "./dict.sats"
>>>>>
>>>>>
>>>>> implmnt main0 () = let
>>>>>   var d = dict_new<int>(13)
>>>>> in
>>>>>   dict_delete(d)
>>>>> end
>>>>>
>>>>> *My output*:
>>>>> $ patscc --gline -DATS_MEMALLOC_LIBC dict_test.dats
>>>>>
>>>>> In file included from dict_test_dats.c:15:
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats: In function 
>>>>> ‘mainats_0_void’:
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:58:21: error: 
>>>>> ‘PMVtmpltcstmat’ undeclared (first use in this function)
>>>>>    58 |   var d = dict_new<int>(13)
>>>>>       |                     ^~~~~~~       
>>>>>
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>       |                                     ^~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:58:21: note: 
>>>>> each undeclared identifier is reported only once for each function it 
>>>>> appears in
>>>>>    58 |   var d = dict_new<int>(13)
>>>>>       |                     ^~~~~~~       
>>>>>
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>       |                                     ^~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:58:39: error: 
>>>>> ‘dict_new’ undeclared (first use in this function)
>>>>>    58 |   var d = dict_new<int>(13)
>>>>>
>>>>>       |                                       ^       
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>       |                                     ^~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:58:48: 
>>>>> warning: implicit declaration of function ‘S2Eapp’ 
>>>>> [-Wimplicit-function-declaration]
>>>>>    58 |   var d = dict_new<int>(13)
>>>>>
>>>>>       |                                                ^     
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>       |                                     ^~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:58:55: 
>>>>> warning: implicit declaration of function ‘S2Ecst’ 
>>>>> [-Wimplicit-function-declaration]
>>>>>    58 |   var d = dict_new<int>(13)
>>>>>
>>>>>       |                                                       ^     
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>       |                                     ^~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:58:62: error: 
>>>>> ‘g0int_t0ype’ undeclared (first use in this function)
>>>>>    58 |   var d = dict_new<int>(13)
>>>>>
>>>>>       |                                                              
>>>>> ^          
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>       |                                     ^~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:58:74: error: 
>>>>> expected ‘)’ before ‘;’ token
>>>>>    58 |   var d = dict_new<int>(13)
>>>>>
>>>>>       
>>>>> |                                                                         
>>>>>  ^
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>       |                                     ^~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:58:101: error: 
>>>>> expected expression before ‘)’ token
>>>>>    58 |   var d = dict_new<int>(13)
>>>>>
>>>>>       
>>>>> |                                                                         
>>>>>                             
>>>>> ^
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>       |                                     ^~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:60:44: error: 
>>>>> ‘dict_delete’ undeclared (first use in this function); did you mean 
>>>>> ‘timer_delete’?
>>>>>    60 |   dict_delete(d)
>>>>>
>>>>>       |                                            ^          
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>       |                                       ^~~~~~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:60:82: error: 
>>>>> expected ‘)’ before ‘;’ token
>>>>>    60 |   dict_delete(d)
>>>>>
>>>>>       
>>>>> |                                                                         
>>>>>          
>>>>> ^
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>       |                                       ^~~~~~~
>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:60:109: error: 
>>>>> expected expression before ‘)’ token
>>>>>    60 |   dict_delete(d)
>>>>>
>>>>>       
>>>>> |                                                                         
>>>>>                                     
>>>>> ^
>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>  
>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>       |                                       ^~~~~~~
>>>>> On Tuesday, November 30, 2021 at 11:28:47 AM UTC-5 gmhwxi wrote:
>>>>>
>>>>>> I tried your code and it compiled without any issue.
>>>>>>
>>>>>> Did you have the following line at the top:
>>>>>>
>>>>>> #include "share/atspre_staload.hats"
>>>>>>
>>>>>> The error messages you showed indicate that many template 
>>>>>> implementations were not
>>>>>> available to the compiler (patsopt).
>>>>>>
>>>>>> --Hongwei
>>>>>>
>>>>>>
>>>>>> On Tue, Nov 30, 2021 at 10:52 AM d4v3y_5c0n3s <tmj...@gmail.com> 
>>>>>> wrote:
>>>>>>
>>>>>>>     Okay, so I've been struggling with my use of templates for a 
>>>>>>> while now, and I'm making this post to get some more eyes on the issue. 
>>>>>>>  
>>>>>>> I've been getting really frustrated, because nothing I've tried seems 
>>>>>>> to 
>>>>>>> work, and I have no way to understand what is going wrong whatsoever 
>>>>>>> besides becoming familiar with compiler internals (which could take who 
>>>>>>> knows how long to learn.)
>>>>>>>
>>>>>>> Here's my code:
>>>>>>> datavtype BUCKET (a:vt@ype) =
>>>>>>> | bucket_empty of ()
>>>>>>> | bucket_filled of (Strptr1, a, BUCKET(a))
>>>>>>>
>>>>>>> vtypedef bucket(a:vt@ype) = BUCKET(a)
>>>>>>>
>>>>>>> sortdef dsz = {s:int | s > 0}
>>>>>>>
>>>>>>> vtypedef dict(a:vt@ype, n:int) =
>>>>>>> @{
>>>>>>>     size=int n,
>>>>>>>     buckets=arrayptr(bucket(a), n)
>>>>>>> }
>>>>>>>
>>>>>>> extern fn{a:vt@ype} dict_new {s:dsz} ( int s ) : dict(a, s)
>>>>>>> extern fn{a:t@ype} dict_delete {s:dsz} ( d: dict(a, s) ) : void
>>>>>>> extern fn{a:vt@ype} dict_delete_lin {s:dsz} ( d: dict(a, s) ) : void
>>>>>>>
>>>>>>> extern fun{a:vt@ype} bucket_delete_recursive ( b: bucket(a) ) : void
>>>>>>> extern fn{a:vt@ype} bucket_item$delete ( x: a ): void
>>>>>>>
>>>>>>> implement{a} dict_new {s} ( size ) = let
>>>>>>>     val size_st = size_of_int(size)
>>>>>>>     val bucket_arr = arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>     implmnt array_initize$init<bucket(a)> (i, x) = x := 
>>>>>>> bucket_empty()
>>>>>>>     val () = arrayptr_initize<bucket(a)>(bucket_arr, size_st)
>>>>>>> in
>>>>>>>     @{size=size, buckets=bucket_arr}:dict(a, s)
>>>>>>> end
>>>>>>>
>>>>>>> implmnt{a} dict_delete ( d ) = let
>>>>>>>   implmnt(a2:t@ype) bucket_item$delete<a2> ( x ) = ()
>>>>>>> in
>>>>>>>   dict_delete_lin<a>(d)
>>>>>>> end
>>>>>>>
>>>>>>> implmnt{a} bucket_delete_recursive ( b ) =
>>>>>>>     case+ b of
>>>>>>>     | ~bucket_empty() => ()
>>>>>>>     | ~bucket_filled(str, x, next_bucket) => let
>>>>>>>         val () = strptr_free(str)
>>>>>>>         val () = bucket_item$delete<a>(x)
>>>>>>>     in
>>>>>>>         bucket_delete_recursive<a>(next_bucket)
>>>>>>>     end
>>>>>>>
>>>>>>> implmnt{a} dict_delete_lin ( d ) = let
>>>>>>>   implmnt array_uninitize$clear<bucket(a)> (i, x) = 
>>>>>>> bucket_delete_recursive<a>(x)
>>>>>>> in
>>>>>>>   arrayptr_freelin(d.buckets, size_of_int(d.size))
>>>>>>> end
>>>>>>>
>>>>>>> implmnt main0 () = let
>>>>>>>   var d = dict_new<int>(13)
>>>>>>> in
>>>>>>>   dict_delete(d)
>>>>>>> end
>>>>>>>
>>>>>>>
>>>>>>> Here's the output:
>>>>>>> $ patscc --gline dict_test.dats
>>>>>>> In file included from dict_test_dats.c:15:
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats: In function 
>>>>>>> ‘_057_home_057_tmj90_057_Goldelish_055_Engine_057_source_057_data_057_dict_test_056_dats__dict_new__0__1’:
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:24:21: 
>>>>>>> error: ‘PMVtmpltcstmat’ undeclared (first use in this function)
>>>>>>>    24 |     val bucket_arr = 
>>>>>>> arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>       |                     ^~~~~~~~~~~~~~
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>>>       |                                     ^~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:24:21: note: 
>>>>>>> each undeclared identifier is reported only once for each function it 
>>>>>>> appears in
>>>>>>>    24 |     val bucket_arr = 
>>>>>>> arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>       |                     ^~~~~~~~~~~~~~
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>>>       |                                     ^~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:24:39: 
>>>>>>> error: ‘arrayptr_make_uninitized’ undeclared (first use in this 
>>>>>>> function)
>>>>>>>    24 |     val bucket_arr = 
>>>>>>> arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>       |                                       
>>>>>>> ^~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>>>       |                                     ^~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:24:64: 
>>>>>>> warning: implicit declaration of function ‘S2Eapp’ 
>>>>>>> [-Wimplicit-function-declaration]
>>>>>>>    24 |     val bucket_arr = 
>>>>>>> arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>       
>>>>>>> |                                                                ^~    
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>>>       |                                     ^~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:24:71: 
>>>>>>> warning: implicit declaration of function ‘S2Ecst’ 
>>>>>>> [-Wimplicit-function-declaration]
>>>>>>>    24 |     val bucket_arr = 
>>>>>>> arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>> ^     
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>>>       |                                     ^~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:24:78: 
>>>>>>> error: ‘BUCKET’ undeclared (first use in this function)
>>>>>>>    24 |     val bucket_arr = 
>>>>>>> arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>>        
>>>>>>> ^     
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>>>       |                                     ^~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:24:85: 
>>>>>>> error: expected ‘)’ before ‘;’ token
>>>>>>>    24 |     val bucket_arr = 
>>>>>>> arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>>               
>>>>>>> ^
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>>>       |                                     ^~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:24:141: 
>>>>>>> error: expected expression before ‘)’ token
>>>>>>>    24 |     val bucket_arr = 
>>>>>>> arrayptr_make_uninitized<bucket(a)>(size_st)
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>>                                                                       
>>>>>>> ^
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:276:37:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove’
>>>>>>>   276 | #define ATSINSmove(tmp, val) (tmp = val)
>>>>>>>       |                                     ^~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:26:44: 
>>>>>>> error: ‘arrayptr_initize’ undeclared (first use in this function)
>>>>>>>    26 |     val () = arrayptr_initize<bucket(a)>(bucket_arr, size_st)
>>>>>>>       |                                            ^~~~~~~~~~~~~~~~
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>>>       |                                       ^~~~~~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:26:82: 
>>>>>>> error: expected ‘)’ before ‘;’ token
>>>>>>>    26 |     val () = arrayptr_initize<bucket(a)>(bucket_arr, size_st)
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>>            
>>>>>>> ^
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>>>       |                                       ^~~~~~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:26:138: 
>>>>>>> error: expected expression before ‘)’ token
>>>>>>>    26 |     val () = arrayptr_initize<bucket(a)>(bucket_arr, size_st)
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>>                                                                    
>>>>>>> ^
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>>>       |                                       ^~~~~~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats: In function 
>>>>>>> ‘_057_home_057_tmj90_057_Goldelish_055_Engine_057_source_057_data_057_dict_test_056_dats__dict_delete_lin__5__1’:
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:50:30: 
>>>>>>> error: ‘PMVtmpltcstmat’ undeclared (first use in this function)
>>>>>>>    50 |   arrayptr_freelin(d.buckets, size_of_int(d.size))
>>>>>>>       |                              ^~~~~~~~~~~~~~
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>>>       |                                       ^~~~~~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:50:48: 
>>>>>>> error: ‘arrayptr_freelin’ undeclared (first use in this function)
>>>>>>>    50 |   arrayptr_freelin(d.buckets, size_of_int(d.size))
>>>>>>>       |                                                
>>>>>>> ^~~             
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>>>       |                                       ^~~~~~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:50:79: 
>>>>>>> error: ‘BUCKET’ undeclared (first use in this function)
>>>>>>>    50 |   arrayptr_freelin(d.buckets, size_of_int(d.size))
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>>         
>>>>>>> ^     
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>>>       |                                       ^~~~~~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:50:86: 
>>>>>>> error: expected ‘)’ before ‘;’ token
>>>>>>>    50 |   arrayptr_freelin(d.buckets, size_of_int(d.size))
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>>                
>>>>>>> ^
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>>>       |                                       ^~~~~~~
>>>>>>> /home/tmj90/Goldelish-Engine/source/data/dict_test.dats:50:142: 
>>>>>>> error: expected expression before ‘)’ token
>>>>>>>    50 |   arrayptr_freelin(d.buckets, size_of_int(d.size))
>>>>>>>       
>>>>>>> |                                                                       
>>>>>>>                                                                        
>>>>>>> ^
>>>>>>> /usr/local/lib/ats2-postiats-0.4.2/ccomp/runtime/pats_ccomp_instrset.h:284:39:
>>>>>>>  
>>>>>>> note: in definition of macro ‘ATSINSmove_void’
>>>>>>>   284 | #define ATSINSmove_void(tmp, command) command
>>>>>>>       |                                       ^~~~~~~
>>>>>>>
>>>>>>> Any help is greatly appreciated, and let me know if you have any 
>>>>>>> questions.  Thank you.
>>>>>>>
>>>>>>> -- 
>>>>>>> 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-user...@googlegroups.com.
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/ats-lang-users/d42e5377-0287-4311-9b39-716235b7a0c3n%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/ats-lang-users/d42e5377-0287-4311-9b39-716235b7a0c3n%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-user...@googlegroups.com.
>>>
>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/ats-lang-users/8f8bd20f-8ec3-4008-ae28-e28b013d8069n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/ats-lang-users/8f8bd20f-8ec3-4008-ae28-e28b013d8069n%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/830917a2-98c5-472b-85b8-360c2c9732bbn%40googlegroups.com.

Reply via email to