|
140 | 140 | (define (check-node-expr-op-+ expr-node node-type child-types) |
141 | 141 | (when (eq? (nodeinfo-lang (node-info expr-node)) LANG_ID) |
142 | 142 | (define loc (nodeinfo-loc (node-info expr-node))) |
143 | | - (raise-bsl-relational-error "+" expr-node loc "You may have meant to use the `add` predicate instead."))) |
| 143 | + (raise-bsl-relational-error "+" expr-node loc "The `+` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant addition, use the `add` predicate instead."))) |
144 | 144 |
|
145 | 145 | (define (check-node-expr-op-- expr-node node-type child-types) |
146 | 146 | (when (eq? (nodeinfo-lang (node-info expr-node)) LANG_ID) |
147 | 147 | (define loc (nodeinfo-loc (node-info expr-node))) |
148 | | - (raise-bsl-relational-error "-" expr-node loc "You may have meant to use the `subtract` predicate instead."))) |
| 148 | + (raise-bsl-relational-error "-" expr-node loc "The `-` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant subtraction, use the `subtract` predicate instead."))) |
149 | 149 |
|
150 | 150 | (define (check-node-expr-op-& expr-node node-type child-types) |
151 | 151 | (when (eq? (nodeinfo-lang (node-info expr-node)) LANG_ID) |
152 | 152 | (define loc (nodeinfo-loc (node-info expr-node))) |
153 | | - (raise-bsl-relational-error "&" expr-node loc))) |
| 153 | + (raise-bsl-relational-error "&" expr-node loc "The `&` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant logical-and, use `and` or `&&` instead."))) |
154 | 154 |
|
155 | 155 | (define (check-node-expr-op--> expr-node node-type child-types) |
156 | 156 | (when (eq? (nodeinfo-lang (node-info expr-node)) LANG_ID) |
157 | 157 | (define loc (nodeinfo-loc (node-info expr-node))) |
158 | | - (raise-bsl-error "Use of -> in expressions is not allowed in forge/bsl" expr-node loc))) |
| 158 | + (raise-bsl-error "The `->` operator is only used for field declaration in Froglet." expr-node loc))) |
159 | 159 |
|
160 | 160 | (define (check-node-expr-op-join expr-node node-type child-types) |
161 | 161 | (when (eq? (nodeinfo-lang (node-info expr-node)) LANG_ID) |
|
170 | 170 | (define (check-node-expr-op-^ expr-node node-type child-types) |
171 | 171 | (when (eq? (nodeinfo-lang (node-info expr-node)) LANG_ID) |
172 | 172 | (define loc (nodeinfo-loc (node-info expr-node))) |
173 | | - (raise-bsl-relational-error "^" expr-node loc))) |
| 173 | + (raise-bsl-relational-error "^" expr-node loc "The `^` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant exclusive-or, use the `xor` operator instead."))) |
174 | 174 |
|
175 | 175 | (define (check-node-expr-op-* expr-node node-type child-types) |
176 | 176 | (when (eq? (nodeinfo-lang (node-info expr-node)) LANG_ID) |
177 | 177 | (define loc (nodeinfo-loc (node-info expr-node))) |
178 | | - (raise-bsl-relational-error "*" expr-node loc))) |
| 178 | + (raise-bsl-relational-error "*" expr-node loc "The `*` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant multiplication, use the `multiply` predicate instead."))) |
179 | 179 |
|
180 | 180 | (define (check-node-expr-op-~ expr-node node-type child-types) |
181 | 181 | (when (eq? (nodeinfo-lang (node-info expr-node)) LANG_ID) |
182 | 182 | (define loc (nodeinfo-loc (node-info expr-node))) |
183 | | - (raise-bsl-relational-error "~~" expr-node loc))) |
| 183 | + (raise-bsl-relational-error "~~" expr-node loc "The `~` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant logical-negation, use `not` or '!' instead."))) |
184 | 184 |
|
185 | 185 | (define bsl-checker-hash (make-hash)) |
186 | 186 | (hash-set! bsl-checker-hash node/formula/multiplicity check-formula-mult) |
|
259 | 259 | (define (check-args-node-expr-op--> expr-args info) |
260 | 260 | (when (eq? (nodeinfo-lang info) LANG_ID) |
261 | 261 | (define loc (nodeinfo-loc info)) |
262 | | - (raise-bsl-error-deparsed-str "Direct use of -> in a formula is not allowed in Froglet" (format "(~a->~a)" (deparse (first expr-args)) (deparse (second expr-args))) loc))) |
| 262 | + (raise-bsl-error-deparsed-str "The `->` operator is only used for field declaration in Froglet." (format "(~a->~a)" (deparse (first expr-args)) (deparse (second expr-args))) loc))) |
263 | 263 |
|
264 | 264 | (define (check-args-node-expr-op-+ expr-args info) |
265 | 265 | (when (eq? (nodeinfo-lang info) LANG_ID) |
266 | 266 | (define loc (nodeinfo-loc info)) |
267 | | - (raise-bsl-relational-error-expr-args "+" expr-args loc "You may have meant to use the `add` predicate instead."))) |
| 267 | + (raise-bsl-relational-error-expr-args "+" expr-args loc "The `+` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant addition, use the `add` predicate instead."))) |
268 | 268 |
|
269 | 269 |
|
270 | 270 | (define (check-args-node-expr-op-- expr-args info) |
271 | 271 | (when (eq? (nodeinfo-lang info) LANG_ID) |
272 | 272 | (define loc (nodeinfo-loc info)) |
273 | | - (raise-bsl-relational-error-expr-args "-" expr-args loc "You may have meant to use the `subtract` predicate instead."))) |
| 273 | + (raise-bsl-relational-error-expr-args "-" expr-args loc "The `-` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant subtraction, use the `subtract` predicate instead."))) |
274 | 274 |
|
275 | 275 | (define (check-args-node-expr-op-& expr-args info) |
276 | 276 | (when (eq? (nodeinfo-lang info) LANG_ID) |
277 | 277 | (define loc (nodeinfo-loc info)) |
278 | | - (raise-bsl-relational-error-expr-args "&" expr-args loc))) |
| 278 | + (raise-bsl-relational-error-expr-args "&" expr-args loc "The `&` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant logical-and, use `and` or `&&` instead."))) |
279 | 279 |
|
280 | 280 | (define (check-args-node-expr-op-^ expr-args info) |
281 | 281 | (when (eq? (nodeinfo-lang info) LANG_ID) |
282 | 282 | (define loc (nodeinfo-loc info)) |
283 | | - (raise-bsl-relational-error-expr-args "^" expr-args loc))) |
| 283 | + (raise-bsl-relational-error-expr-args "^" expr-args loc "The `^` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant exclusive-or, use the `xor` operator instead."))) |
284 | 284 |
|
285 | 285 | (define (check-args-node-expr-op-* expr-args info) |
286 | 286 | (when (eq? (nodeinfo-lang info) LANG_ID) |
287 | 287 | (define loc (nodeinfo-loc info)) |
288 | | - (raise-bsl-relational-error-expr-args "*" expr-args loc))) |
| 288 | + (raise-bsl-relational-error-expr-args "*" expr-args loc "The `*` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant multiplication, use the `multiply` predicate instead."))) |
289 | 289 |
|
290 | 290 | (define (check-args-node-expr-op-~ expr-args info) |
291 | 291 | (when (eq? (nodeinfo-lang info) LANG_ID) |
292 | 292 | (define loc (nodeinfo-loc info)) |
293 | | - (raise-bsl-relational-error-expr-args "~" expr-args loc))) |
| 293 | + (raise-bsl-relational-error-expr-args "~" expr-args loc "The `~` operator is not used in Froglet, but is reserved for use in other Forge languages. If you meant logical-negation, use `not` or '!' instead."))) |
294 | 294 |
|
295 | 295 | ; Prevent the forge/core arity error from appearing, since it breaks closure |
296 | 296 | (define (check-args-node-formula-op-= expr-args info) |
|
0 commit comments