git @ Cat's Eye Technologies Robin / 9fd773c
300 tests, and improve the documentation a little. Cat's Eye Technologies 13 years ago
2 changed file(s) with 62 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
415415
416416 The `env` module is documented in
417417 [module/Environment.falderal](module/Environment.falderal).
418
419 ### `boolean` ###
420
421 Robin's `boolean` module exports macros and functions for working
422 with Boolean values, including the traditional Boolean operators.
423
424 All macros in this module can be expressed in Robin, but of course
425 could also be implemented natively for efficiency.
426
427 `boolean` is technically an optional module, but it's really handy,
428 and could be written in pure Robin, so it's likely to be available.
429
430 The `boolean` module is documented in
431 [module/Boolean.falderal](module/Boolean.falderal).
432
433 ### `arith` ###
434
435 Robin's `arith` module exports macros and functions for performing
436 basic arithmetic and numeric comparison operations.
437
438 All macros in this module can be expressed in Robin, but of course
439 could also be implemented natively for efficiency.
440
441 `arith` is technically an optional module, but it's really handy,
442 and could be written in pure Robin, so it's likely to be available.
443
444 The `arith` module is documented in
445 [module/Arithmetic.falderal](module/Arithmetic.falderal).
446
447 ### `crude-io` ###
448
449 Robin's `crude-io` module exports a rudeimentary, process-based
450 interface to the operating system's idea of "standard input" and
451 "standard output". Textual S-expressions may be read and written,
452 one per line.
453
454 `crude-io` is an optional module. It cannot be written directly
455 in Robin.
456
457 The `crude-io` module is documented in
458 [module/CrudeIO.falderal](module/CrudeIO.falderal).
299299 | (call worker this-tag (literal this-payload) reply
300300 | (pair (literal reply-was) reply))))
301301 ? robin: thread blocked indefinitely in an MVar operation
302
303 `call` expects its first argument to be a pid.
304
305 | (robin (0 . 1) (small (0 . 1) concurrency (0 . 1))
306 | (call (literal worker) this-tag (literal this-payload) reply
307 | (pair (literal reply-was) reply)))
308 ? robin: uncaught exception: (expected-pid . worker)
309
310 `call` expects its second argument to be a symbol.
311
312 | (robin (0 . 1) (small (0 . 1) concurrency (0 . 1))
313 | (call (myself) #f (literal this-payload) reply
314 | (pair (literal reply-was) reply)))
315 ? robin: uncaught exception: (illegal-arguments (myself) #f (literal this-payload) reply (pair (literal reply-was) reply))
316
317 `call` expects its fourth argument to be an identifier.
318
319 | (robin (0 . 1) (small (0 . 1) concurrency (0 . 1))
320 | (call (myself) this-tag (literal this-payload) #f
321 | (pair (literal reply-was) reply)))
322 ? robin: uncaught exception: (illegal-arguments (myself) this-tag (literal this-payload) #f (pair (literal reply-was) reply))