on 492ae2f help sign in
55 lines 858 B history raw
1### `++cat`
3Concatenate
5Concatenates two atoms, `b` and `c`, according to bloq size `a`, producing an
6atom.
8Accepts
9-------
11`a` is a block size (see `++bloq`).
13`b` is an atom.
15`c` is an atom.
17Produces
18--------
20An atom.
22Source
23------
25 ++ cat :: concatenate
26 ~/ %cat
27 |= {a/bloq b/@ c/@}
28 (add (lsh a (met a b) c) b)
31Examples
32--------
34 ~zod/try=> `@ub`(cat 3 1 0)
35 0b1
36 ~zod/try=> `@ub`(cat 0 1 1)
37 0b11
38 ~zod/try=> `@ub`(cat 0 2 1)
39 0b110
40 ~zod/try=> `@ub`(cat 2 1 1)
41 0b1.0001
42 ~zod/try=> `@ub`256
43 0b1.0000.0000
44 ~zod/try=> `@ub`255
45 0b1111.1111
46 ~zod/try=> `@ub`(cat 3 256 255)
47 0b1111.1111.0000.0001.0000.0000
48 ~zod/try=> `@ub`(cat 2 256 255)
49 0b1111.1111.0001.0000.0000
50 ~zod/try=> (cat 3 256 255)
51 16.711.936
55***