Skip to content

Commit c5af8f2

Browse files
author
Your Name
committed
chore: update bindings and tooling
1 parent 3020031 commit c5af8f2

147 files changed

Lines changed: 20983 additions & 492 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CONTRIBUTING.adoc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,17 @@ pack install-deps
4545
# Install Zig
4646
# See: https://ziglang.org/download/
4747
48+
# Environment fallback (Guix)
49+
guix time-machine -C guix/channels.scm -- \
50+
shell -m guix/manifest.scm
51+
52+
# Environment fallback (Nix)
53+
nix-shell nix/shard.nix
54+
55+
# Pin cadence (Guix + Nix)
56+
# Monthly on the first Saturday, plus CVE-driven updates as needed:
57+
./scripts/update-env-pins.sh
58+
4859
# Build
4960
zig build
5061

README.adoc

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1602,6 +1602,25 @@ let proven = import "path/to/proven.ncl" in
16021602
}
16031603
----
16041604

1605+
=== Development Environment (Idris 2 core)
1606+
1607+
[source,bash]
1608+
----
1609+
# Primary (pack)
1610+
pack install-deps
1611+
1612+
# Guix fallback
1613+
guix time-machine -C guix/channels.scm -- \
1614+
shell -m guix/manifest.scm
1615+
1616+
# Nix fallback
1617+
nix-shell nix/shard.nix
1618+
1619+
# Pin cadence (Guix master + nixpkgs-unstable)
1620+
# Monthly on the first Saturday, plus CVE-driven updates:
1621+
./scripts/update-env-pins.sh
1622+
----
1623+
16051624
=== 89 Binding Targets
16061625

16071626
Bindings are available for traditional languages, configuration languages, domain-specific languages, and exotic computing paradigms. See the `bindings/` directory for language-specific documentation.

bindings/rescript/src/Proven.res.js

Lines changed: 286 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// SPDX-License-Identifier: PMPL-1.0
2+
// SPDX-FileCopyrightText: 2025 Hyperpolymath
3+
4+
/**
5+
* Proven_Bitwise - Bitwise operations for ReScript.
6+
*
7+
* ReScript does not have built-in bitwise operators like OCaml's lsl, lsr, land, lor, etc.
8+
* This module provides these operations using JavaScript's native bitwise operators.
9+
*
10+
* Operations:
11+
* - lsl (logical shift left)
12+
* - lsr (logical shift right)
13+
* - asr (arithmetic shift right)
14+
* - land (bitwise AND)
15+
* - lor (bitwise OR)
16+
* - lxor (bitwise XOR)
17+
* - lnot (bitwise NOT)
18+
*/
19+
20+
/** Logical shift left: a << b */
21+
let lsl = %raw(`function(a, b) { return a << b; }`)
22+
23+
/** Logical shift right (unsigned): a >>> b */
24+
let lsr = %raw(`function(a, b) { return a >>> b; }`)
25+
26+
/** Arithmetic shift right (signed): a >> b */
27+
let asr = %raw(`function(a, b) { return a >> b; }`)
28+
29+
/** Bitwise AND: a & b */
30+
let land = %raw(`function(a, b) { return a & b; }`)
31+
32+
/** Bitwise OR: a | b */
33+
let lor = %raw(`function(a, b) { return a | b; }`)
34+
35+
/** Bitwise XOR: a ^ b */
36+
let lxor = %raw(`function(a, b) { return a ^ b; }`)
37+
38+
/** Bitwise NOT: ~a */
39+
let lnot = %raw(`function(a) { return ~a; }`)

bindings/rescript/src/Proven_Bitwise.res.js

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)