Commit graph

702 commits

Author SHA1 Message Date
Sergiu Ivanov
c7c50e7152 functions: Add tbf-tabulate*/boolean. 2020-07-12 20:48:36 +02:00
Sergiu Ivanov
b1d9b5193e example: Add the section on TBF. 2020-07-12 00:31:24 +02:00
Sergiu Ivanov
1adaf63ec1 functions: Implement tbf-tabulate using tbf-tabulate*. 2020-07-12 00:20:15 +02:00
Sergiu Ivanov
e11f20431f functions: Add tbf-tabulate*. 2020-07-12 00:18:25 +02:00
Sergiu Ivanov
3dee3163f0 Generalise the contracts of tabulate and tabulate*.
The new contracts do not require the procedures to have fixed arity.
I don't actually need the fixed arity in tabulate and tabulate*,
because these functions know the number of inputs from the length of
the list of the domains.
2020-07-11 00:53:15 +02:00
Sergiu Ivanov
47532e3905 functions: Add tbf-tabulate. 2020-07-11 00:46:58 +02:00
Sergiu Ivanov
7d825d0a83 functions: Add read-org-tbfs. 2020-07-09 01:03:24 +02:00
Sergiu Ivanov
c999b4c6ce functions: read-org-tbfs → read-tbfs. 2020-07-09 00:53:16 +02:00
Sergiu Ivanov
765ab457a6 functions: Fix in the comment of read-org-tbfs. 2020-07-09 00:45:26 +02:00
Sergiu Ivanov
b52aa188b9 functions: Add read-org-tbfs. 2020-07-09 00:45:00 +02:00
Sergiu Ivanov
dd3062652f functions: Add list->tbf. 2020-07-07 23:29:38 +02:00
Sergiu Ivanov
db42e20f1c functions: Define apply-tbf using define.
I forgot to rewrite that from define/contract when I added the out
contract to the module exports.
2020-07-07 23:25:51 +02:00
Sergiu Ivanov
dfe8766424 functions: Wrap the test for apply-tbf/boolean in test-case. 2020-07-07 23:24:34 +02:00
Sergiu Ivanov
194bb1bb10 functions: Fix the contract for tbf. 2020-07-07 22:45:19 +02:00
Sergiu Ivanov
c4ba018b5b functinos,apply-tbf and apply-tbf/boolean: Work on Boolean vectors.
These functions initially used rest arguments, but it's actually quite
impractical.
2020-07-07 21:41:45 +02:00
Sergiu Ivanov
2ed5f84338 functions: Add apply-tbf and apply-tbf/boolean. 2020-06-11 00:27:11 +02:00
Sergiu Ivanov
dc3a0072a2 functions: Add vector-boolean->01. 2020-06-10 23:51:01 +02:00
Sergiu Ivanov
45f4984f4c functions: Add tabulate/01 and tabulate*/01. 2020-06-10 23:25:39 +02:00
Sergiu Ivanov
512de1a963 functions,tabulate*/boolean: Make the output contract more exact. 2020-06-10 23:03:25 +02:00
Sergiu Ivanov
6e5a7fa845 functions: Make all tabulate functions take procedures of fixed arity. 2020-06-09 20:06:36 +02:00
Sergiu Ivanov
180810a2aa utils: 0-1 -> 01
Shorter and easier to type.
2020-06-06 08:23:55 +02:00
Sergiu Ivanov
8e6002040a utils: Add 0-1->boolean. 2020-06-05 00:03:46 +02:00
Sergiu Ivanov
83dd673df9 utils: any->boolean -> any->0-1. 2020-06-04 23:47:10 +02:00
Sergiu Ivanov
458868ea21 any->boolean: Move from networks to utils. 2020-06-03 23:42:47 +02:00
Sergiu Ivanov
e237e9e019 functions: Add tbf. 2020-06-03 22:51:06 +02:00
Sergiu Ivanov
6247f28958 networks,tabulate-network: Fix the case of an identifier. 2020-06-02 23:37:28 +02:00
Sergiu Ivanov
7f58bf5623 networks: Rewrite tabulate-network to use tabulate-state*/boolean. 2020-06-02 23:34:19 +02:00
Sergiu Ivanov
9a1477ad42 networks: Fix the test for tabulate-state*/boolean. 2020-06-02 23:33:34 +02:00
Sergiu Ivanov
f812165b39 networks,tabulate-state*,tabulate-state*/boolean: Move the contracts to provide. 2020-06-02 21:53:53 +02:00
Sergiu Ivanov
a34b08e477 networks: Rewrite tabulate-state to use tabulate-state*. 2020-06-02 21:29:00 +02:00
Sergiu Ivanov
42ffc37eeb networks: Add tabulate-state* and tabulate-state*/boolean. 2020-06-02 21:28:37 +02:00
Sergiu Ivanov
e654123a39 example: Illustrate tabulate*/boolean. 2020-05-31 23:42:16 +02:00
Sergiu Ivanov
45b7604c51 example: Fix the usage of tabulate. 2020-05-31 23:41:56 +02:00
Sergiu Ivanov
78386dd5bf functions: Add tabulate*/boolean. 2020-05-31 23:31:54 +02:00
Sergiu Ivanov
26c615e6cf functions, tabulate*: Add a test for an empty list of functions. 2020-05-31 22:50:35 +02:00
Sergiu Ivanov
ece53ea522 functions: Only have one tabulate.
I used to have a distinction between tabulate and
tabulate/domain-list, but this made no sense, so tabulate/domain-list
becomes the only true tabulate.
2020-05-31 00:13:50 +02:00
Sergiu Ivanov
e7b5a3931a functions: Add tabulate*/domain-list and use it in tabulate/domain-list. 2020-05-30 23:55:48 +02:00
Sergiu Ivanov
cd00e2a4d4 networks: Redefine ppsg and ppsgb as functions and export them. 2020-05-28 00:49:29 +02:00
Sergiu Ivanov
28a77d1e20 example: Mention dds/functions. 2020-05-28 00:30:27 +02:00
Sergiu Ivanov
8421d89629 networks: Factor out purely function-related code into functions. 2020-05-28 00:24:17 +02:00
Sergiu Ivanov
90bebbded9 boolean-power,boolean-power-stream: Move from networks to utils. 2020-05-28 00:24:02 +02:00
Sergiu Ivanov
1b65cd7624 functions: Add. 2020-05-28 00:02:08 +02:00
Sergiu Ivanov
b6f6e4e7c4 rs/test: Use test-case and define instead of let. 2020-05-27 23:48:22 +02:00
Sergiu Ivanov
b98d00320c networks: Use test-case and define instead of let. 2020-05-27 23:39:38 +02:00
Sergiu Ivanov
48394daa7a utils: Set the seed of the random generator in each test case. 2020-05-26 22:45:36 +02:00
Sergiu Ivanov
168b898080 utils/test: Use test-case and define instead of let. 2020-05-24 00:38:05 +02:00
Sergiu Ivanov
b9109faa6e example: Update to a picture. 2020-05-23 23:53:04 +02:00
Sergiu Ivanov
1166132362 example: Fix the prologue to correctly require dds. 2020-05-23 23:52:32 +02:00
Sergiu Ivanov
e7d4ff88cf rs: Move the tests to the test submodule. 2020-05-23 00:00:28 +02:00
Sergiu Ivanov
c8d88de6c2 networks: Move the tests to the test submodule. 2020-05-22 23:40:40 +02:00