Sergiu Ivanov
1e4f6d3fbc
Use define-syntax-parse-rule in make-tabulate*.
2022-03-31 23:45:38 +02:00
Sergiu Ivanov
b07cda477f
Add tabulate*/pv and tabulate/pv.
2022-03-21 00:04:21 +01:00
Sergiu Ivanov
8fb5bab803
Add syntax for defining pseudovariadic functions.
2022-03-20 20:42:29 +01:00
Sergiu Ivanov
e7616684f5
Add tabulate, tabulate/strict, and tabulate/untyped.
2022-03-06 23:39:51 +01:00
Sergiu Ivanov
fcf21c51aa
Remove tabulate* from functions.rkt.
...
This temporarily breaks networks, but all breakages are easy to fix
with tabulate*/untyped.
2022-03-06 22:58:16 +01:00
Sergiu Ivanov
31d6275229
Add an explain tabulate*/untyped.
2022-03-06 22:53:33 +01:00
Sergiu Ivanov
37dddb190f
Add make-tabulate* to factor out the common parts.
2022-03-06 21:45:21 +01:00
Sergiu Ivanov
66f1157200
Add typed versions of tabulate* and tabulate*/strict.
2022-03-06 19:54:05 +01:00
Sergiu Ivanov
cd94326ea3
Start typing functions.
2022-03-05 21:37:17 +01:00
Sergiu Ivanov
b36d8adaa4
Remove procedure-fixed-arity?.
...
I don't really need this function. I think I wrote it just to see how
I can count the arity of a procedure.
2022-02-13 20:09:50 +01:00
Sergiu Ivanov
6eb6e21979
functions: Always use named test-cases in tests.
2020-07-23 00:21:34 +02:00
Sergiu Ivanov
17ffa3eb81
functions: Add read-org-sbfs.
2020-07-14 23:55:55 +02:00
Sergiu Ivanov
45e4feaee0
functions: read-tbfs → lists-tbfs.
2020-07-14 23:41:55 +02:00
Sergiu Ivanov
bf45cf6382
functions: Add list->sbf.
2020-07-14 23:37:38 +02:00
Sergiu Ivanov
ac0f90ce23
functions: Add sbf.
2020-07-12 23:58:55 +02:00
Sergiu Ivanov
e5d07b2f13
functions: Add sbf?.
2020-07-12 23:53:17 +02:00
Sergiu Ivanov
c7c50e7152
functions: Add tbf-tabulate*/boolean.
2020-07-12 20:48:36 +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
e237e9e019
functions: Add tbf.
2020-06-03 22:51:06 +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
8421d89629
networks: Factor out purely function-related code into functions.
2020-05-28 00:24:17 +02:00
Sergiu Ivanov
1b65cd7624
functions: Add.
2020-05-28 00:02:08 +02:00