Mercurial > repos > rhope
comparison runtime/func.h @ 75:0083b2f7b3c7
Partially working implementation of List. Modified build scripts to allow use of other compilers. Fixed some bugs involving method implementations on different types returning different numbers of outputs. Added Fold to the 'builtins' in the comipler.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 06 Jul 2010 07:52:59 -0400 |
parents | a844c623c7df |
children | 6d10b5b9ebc3 |
comparison
equal
deleted
inserted
replaced
74:a844c623c7df | 75:0083b2f7b3c7 |
---|---|
103 #define CallSpace | 103 #define CallSpace |
104 | 104 |
105 #define Param(num,convtypeid) \ | 105 #define Param(num,convtypeid) \ |
106 if(get_blueprint(cdata->params[num])->type_id != convtypeid)\ | 106 if(get_blueprint(cdata->params[num])->type_id != convtypeid)\ |
107 {\ | 107 {\ |
108 puts("uh oh, need conversion and that's not implemented yet!");\ | 108 printf("uh oh, need conversion from type %d to type %d for param %d and that's not implemented yet!", get_blueprint(cdata->params[num])->type_id, convtypeid, num);\ |
109 exit(1);\ | 109 goto _exception;\ |
110 } | 110 } |
111 | 111 |
112 #define CopiedParam(num,convtypeid) Param(num,convtypeid) cdata->params[num] = copy_object(cdata->params[num]); | 112 #define CopiedParam(num,convtypeid) Param(num,convtypeid) cdata->params[num] = copy_object(cdata->params[num]); |
113 #define Ret(num,val) cdata->params[num] = (object *)(val); | 113 #define Ret(num,val) cdata->params[num] = (object *)(val); |
114 #define NumRet(num) cdata->num_params = num; | 114 #define NumRet(num) cdata->num_params = num; |