@live-codes/ocaml 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/LICENSE +220 -0
  2. package/README.md +165 -2
  3. package/THIRD-PARTY-NOTICES.md +52 -0
  4. package/assets/compiler/compile_stdout.browser.js +27856 -0
  5. package/assets/compiler/jsoo.js +12631 -0
  6. package/assets/compiler/package.json +3 -0
  7. package/assets/compiler/runtime/bigarray.js +1072 -0
  8. package/assets/compiler/runtime/bigstring.js +137 -0
  9. package/assets/compiler/runtime/domain.js +393 -0
  10. package/assets/compiler/runtime/dynlink.js +91 -0
  11. package/assets/compiler/runtime/float32.js +486 -0
  12. package/assets/compiler/runtime/fs.js +416 -0
  13. package/assets/compiler/runtime/fs_fake.js +600 -0
  14. package/assets/compiler/runtime/fs_node.js +609 -0
  15. package/assets/compiler/runtime/fs_quickjs.js +532 -0
  16. package/assets/compiler/runtime/gc.js +201 -0
  17. package/assets/compiler/runtime/graphics.js +1053 -0
  18. package/assets/compiler/runtime/ieee_754.js +621 -0
  19. package/assets/compiler/runtime/int64.js +516 -0
  20. package/assets/compiler/runtime/io.js +739 -0
  21. package/assets/compiler/runtime/jslib.js +553 -0
  22. package/assets/compiler/runtime/jslib_js_of_ocaml.js +81 -0
  23. package/assets/compiler/runtime/lexing.js +240 -0
  24. package/assets/compiler/runtime/manifest.txt +31 -0
  25. package/assets/compiler/runtime/marshal.js +863 -0
  26. package/assets/compiler/runtime/md5.js +236 -0
  27. package/assets/compiler/runtime/mlBytes.js +1007 -0
  28. package/assets/compiler/runtime/nat.js +469 -0
  29. package/assets/compiler/runtime/parsing.js +317 -0
  30. package/assets/compiler/runtime/prng.js +84 -0
  31. package/assets/compiler/runtime/promise.js +45 -0
  32. package/assets/compiler/runtime/runtime.js +16688 -0
  33. package/assets/compiler/runtime/runtime_events.js +90 -0
  34. package/assets/compiler/runtime/stdlib.js +363 -0
  35. package/assets/compiler/runtime/sync.js +35 -0
  36. package/assets/compiler/runtime/toplevel.js +150 -0
  37. package/assets/compiler/runtime/unix.js +914 -0
  38. package/assets/compiler/runtime/weak.js +247 -0
  39. package/assets/compiler/stdlib.js +254 -0
  40. package/assets/compiler/worker.js +46 -0
  41. package/assets/interpreter/libs/greet.cma +0 -0
  42. package/assets/interpreter/libs/greet.cmi +0 -0
  43. package/assets/interpreter/libs/manifest.txt +1 -0
  44. package/assets/interpreter/package.json +3 -0
  45. package/assets/interpreter/stdlib/camlinternalFormat.cmi +0 -0
  46. package/assets/interpreter/stdlib/camlinternalFormatBasics.cmi +0 -0
  47. package/assets/interpreter/stdlib/camlinternalLazy.cmi +0 -0
  48. package/assets/interpreter/stdlib/camlinternalMod.cmi +0 -0
  49. package/assets/interpreter/stdlib/camlinternalOO.cmi +0 -0
  50. package/assets/interpreter/stdlib/std_exit.cmi +0 -0
  51. package/assets/interpreter/stdlib/stdlib.cmi +0 -0
  52. package/assets/interpreter/stdlib/stdlib__Arg.cmi +0 -0
  53. package/assets/interpreter/stdlib/stdlib__Array.cmi +0 -0
  54. package/assets/interpreter/stdlib/stdlib__ArrayLabels.cmi +0 -0
  55. package/assets/interpreter/stdlib/stdlib__Atomic.cmi +0 -0
  56. package/assets/interpreter/stdlib/stdlib__Bigarray.cmi +0 -0
  57. package/assets/interpreter/stdlib/stdlib__Bool.cmi +0 -0
  58. package/assets/interpreter/stdlib/stdlib__Buffer.cmi +0 -0
  59. package/assets/interpreter/stdlib/stdlib__Bytes.cmi +0 -0
  60. package/assets/interpreter/stdlib/stdlib__BytesLabels.cmi +0 -0
  61. package/assets/interpreter/stdlib/stdlib__Callback.cmi +0 -0
  62. package/assets/interpreter/stdlib/stdlib__Char.cmi +0 -0
  63. package/assets/interpreter/stdlib/stdlib__Complex.cmi +0 -0
  64. package/assets/interpreter/stdlib/stdlib__Condition.cmi +0 -0
  65. package/assets/interpreter/stdlib/stdlib__Digest.cmi +0 -0
  66. package/assets/interpreter/stdlib/stdlib__Domain.cmi +0 -0
  67. package/assets/interpreter/stdlib/stdlib__Dynarray.cmi +0 -0
  68. package/assets/interpreter/stdlib/stdlib__Effect.cmi +0 -0
  69. package/assets/interpreter/stdlib/stdlib__Either.cmi +0 -0
  70. package/assets/interpreter/stdlib/stdlib__Ephemeron.cmi +0 -0
  71. package/assets/interpreter/stdlib/stdlib__Filename.cmi +0 -0
  72. package/assets/interpreter/stdlib/stdlib__Float.cmi +0 -0
  73. package/assets/interpreter/stdlib/stdlib__Format.cmi +0 -0
  74. package/assets/interpreter/stdlib/stdlib__Fun.cmi +0 -0
  75. package/assets/interpreter/stdlib/stdlib__Gc.cmi +0 -0
  76. package/assets/interpreter/stdlib/stdlib__Hashtbl.cmi +0 -0
  77. package/assets/interpreter/stdlib/stdlib__Iarray.cmi +0 -0
  78. package/assets/interpreter/stdlib/stdlib__In_channel.cmi +0 -0
  79. package/assets/interpreter/stdlib/stdlib__Int.cmi +0 -0
  80. package/assets/interpreter/stdlib/stdlib__Int32.cmi +0 -0
  81. package/assets/interpreter/stdlib/stdlib__Int64.cmi +0 -0
  82. package/assets/interpreter/stdlib/stdlib__Lazy.cmi +0 -0
  83. package/assets/interpreter/stdlib/stdlib__Lexing.cmi +0 -0
  84. package/assets/interpreter/stdlib/stdlib__List.cmi +0 -0
  85. package/assets/interpreter/stdlib/stdlib__ListLabels.cmi +0 -0
  86. package/assets/interpreter/stdlib/stdlib__Map.cmi +0 -0
  87. package/assets/interpreter/stdlib/stdlib__Marshal.cmi +0 -0
  88. package/assets/interpreter/stdlib/stdlib__MoreLabels.cmi +0 -0
  89. package/assets/interpreter/stdlib/stdlib__Mutex.cmi +0 -0
  90. package/assets/interpreter/stdlib/stdlib__Nativeint.cmi +0 -0
  91. package/assets/interpreter/stdlib/stdlib__Obj.cmi +0 -0
  92. package/assets/interpreter/stdlib/stdlib__Oo.cmi +0 -0
  93. package/assets/interpreter/stdlib/stdlib__Option.cmi +0 -0
  94. package/assets/interpreter/stdlib/stdlib__Out_channel.cmi +0 -0
  95. package/assets/interpreter/stdlib/stdlib__Pair.cmi +0 -0
  96. package/assets/interpreter/stdlib/stdlib__Parsing.cmi +0 -0
  97. package/assets/interpreter/stdlib/stdlib__Pqueue.cmi +0 -0
  98. package/assets/interpreter/stdlib/stdlib__Printexc.cmi +0 -0
  99. package/assets/interpreter/stdlib/stdlib__Printf.cmi +0 -0
  100. package/assets/interpreter/stdlib/stdlib__Queue.cmi +0 -0
  101. package/assets/interpreter/stdlib/stdlib__Random.cmi +0 -0
  102. package/assets/interpreter/stdlib/stdlib__Repr.cmi +0 -0
  103. package/assets/interpreter/stdlib/stdlib__Result.cmi +0 -0
  104. package/assets/interpreter/stdlib/stdlib__Scanf.cmi +0 -0
  105. package/assets/interpreter/stdlib/stdlib__Semaphore.cmi +0 -0
  106. package/assets/interpreter/stdlib/stdlib__Seq.cmi +0 -0
  107. package/assets/interpreter/stdlib/stdlib__Set.cmi +0 -0
  108. package/assets/interpreter/stdlib/stdlib__Stack.cmi +0 -0
  109. package/assets/interpreter/stdlib/stdlib__StdLabels.cmi +0 -0
  110. package/assets/interpreter/stdlib/stdlib__String.cmi +0 -0
  111. package/assets/interpreter/stdlib/stdlib__StringLabels.cmi +0 -0
  112. package/assets/interpreter/stdlib/stdlib__Sys.cmi +0 -0
  113. package/assets/interpreter/stdlib/stdlib__Type.cmi +0 -0
  114. package/assets/interpreter/stdlib/stdlib__Uchar.cmi +0 -0
  115. package/assets/interpreter/stdlib/stdlib__Unit.cmi +0 -0
  116. package/assets/interpreter/stdlib/stdlib__Weak.cmi +0 -0
  117. package/assets/interpreter/stdlib/topdirs.cmi +0 -0
  118. package/assets/interpreter/stdlib/units.txt +75 -0
  119. package/assets/interpreter/stdlib/unix.cmi +0 -0
  120. package/assets/interpreter/stdlib/unixLabels.cmi +0 -0
  121. package/assets/interpreter/worker-entry.js +39 -0
  122. package/assets/interpreter/worker.js +42356 -0
  123. package/bin/copy-assets.mjs +75 -0
  124. package/package.json +41 -4
  125. package/src/compiler/compile.js +170 -0
  126. package/src/compiler/index.js +46 -0
  127. package/src/compiler/worker.js +46 -0
  128. package/src/index.js +12 -0
  129. package/src/interpreter/api.js +182 -0
  130. package/src/interpreter/index.js +5 -0
@@ -0,0 +1,201 @@
1
+ //Provides: caml_gc_minor
2
+ function caml_gc_minor(_unit) {
3
+ //available with [node --expose-gc]
4
+ if (typeof globalThis.gc === "function") globalThis.gc(true);
5
+ return 0;
6
+ }
7
+ //Provides: caml_gc_major
8
+ function caml_gc_major(_unit) {
9
+ //available with [node --expose-gc]
10
+ if (typeof globalThis.gc === "function") globalThis.gc();
11
+ return 0;
12
+ }
13
+ //Provides: caml_gc_full_major
14
+ function caml_gc_full_major(_unit) {
15
+ //available with [node --expose-gc]
16
+ if (typeof globalThis.gc === "function") globalThis.gc();
17
+ return 0;
18
+ }
19
+ //Provides: caml_gc_compaction
20
+ function caml_gc_compaction(_unit) {
21
+ return 0;
22
+ }
23
+ //Provides: caml_gc_counters
24
+ function caml_gc_counters(_unit) {
25
+ return [0, 0, 0, 0];
26
+ }
27
+ //Provides: caml_gc_quick_stat
28
+ //Version: < 5.5
29
+ function caml_gc_quick_stat(_unit) {
30
+ return [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
31
+ }
32
+
33
+ //Provides: caml_gc_quick_stat
34
+ //Version: >= 5.5
35
+ function caml_gc_quick_stat(_unit) {
36
+ return [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
37
+ }
38
+
39
+ //Provides: caml_gc_stat
40
+ //Requires: caml_gc_quick_stat
41
+ function caml_gc_stat(unit) {
42
+ return caml_gc_quick_stat(unit);
43
+ }
44
+
45
+ //Provides: caml_gc_set
46
+ function caml_gc_set(_control) {
47
+ return 0;
48
+ }
49
+
50
+ //Provides: caml_gc_get
51
+ function caml_gc_get(_unit) {
52
+ return [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
53
+ }
54
+
55
+ //Provides: caml_final_register const
56
+ function caml_final_register(_f, _x) {
57
+ return 0;
58
+ }
59
+
60
+ //Provides: caml_final_register_called_without_value
61
+ //Requires: caml_callback
62
+ var all_finalizers = new globalThis.Set();
63
+ function caml_final_register_called_without_value(cb, a) {
64
+ if (globalThis.FinalizationRegistry && a instanceof Object) {
65
+ var x = new globalThis.FinalizationRegistry(function (x) {
66
+ all_finalizers.delete(x);
67
+ // Go through caml_callback so that the CPS calling convention
68
+ // is respected and exceptions are handled
69
+ caml_callback(cb, [0]);
70
+ return;
71
+ });
72
+ x.register(a, x);
73
+ all_finalizers.add(x);
74
+ }
75
+ return 0;
76
+ }
77
+
78
+ //Provides: caml_final_release const
79
+ function caml_final_release(_unit) {
80
+ return 0;
81
+ }
82
+
83
+ //Provides: caml_memprof_start
84
+ function caml_memprof_start(_rate, _stack_size, _tracker) {
85
+ return 0;
86
+ }
87
+
88
+ //Provides: caml_memprof_stop
89
+ function caml_memprof_stop(_unit) {
90
+ return 0;
91
+ }
92
+
93
+ //Provides: caml_memprof_discard
94
+ //Version: >= 5.2
95
+ function caml_memprof_discard(_t) {
96
+ return 0;
97
+ }
98
+
99
+ //Provides: caml_memprof_is_sampling const
100
+ //Version: >= 5.5
101
+ function caml_memprof_is_sampling(_unit) {
102
+ return 0;
103
+ }
104
+
105
+ //Provides: caml_memprof_participate
106
+ //Version: >= 5.2, < 5.3
107
+ //OxCaml
108
+ function caml_memprof_participate(_config) {
109
+ return 0;
110
+ }
111
+
112
+ //Provides: caml_eventlog_resume
113
+ //Version: <= 5.2
114
+ //(actually < 5.0, but OxCaml still references it)
115
+ function caml_eventlog_resume(_unit) {
116
+ return 0;
117
+ }
118
+
119
+ //Provides: caml_eventlog_pause
120
+ //Version: <= 5.2
121
+ //(actually < 5.0, but OxCaml still references it)
122
+ function caml_eventlog_pause(_unit) {
123
+ return 0;
124
+ }
125
+
126
+ //Provides: caml_gc_huge_fallback_count
127
+ //Version: < 5.0
128
+ function caml_gc_huge_fallback_count(_unit) {
129
+ return 0;
130
+ }
131
+
132
+ //Provides: caml_gc_major_slice
133
+ function caml_gc_major_slice(_work) {
134
+ return 0;
135
+ }
136
+
137
+ //Provides: caml_gc_minor_words
138
+ function caml_gc_minor_words(_unit) {
139
+ return 0;
140
+ }
141
+
142
+ //Provides: caml_get_minor_free
143
+ function caml_get_minor_free(_unit) {
144
+ return 0;
145
+ }
146
+
147
+ //Provides: caml_get_major_bucket
148
+ //Version: < 5.0
149
+ function caml_get_major_bucket(_n) {
150
+ return 0;
151
+ }
152
+
153
+ //Provides: caml_get_major_credit
154
+ //Version: < 5.0
155
+ function caml_get_major_credit(_n) {
156
+ return 0;
157
+ }
158
+
159
+ //Provides: caml_gc_tweak_get
160
+ //Requires: caml_invalid_argument
161
+ //Version: >= 5.5
162
+ //OxCaml
163
+ function caml_gc_tweak_get(_name) {
164
+ caml_invalid_argument("Gc.Tweak: parameter not found");
165
+ }
166
+
167
+ //Provides: caml_gc_tweak_get
168
+ //Requires: caml_invalid_argument
169
+ //Version: >= 5.2, < 5.3
170
+ //OxCaml
171
+ function caml_gc_tweak_get(_name) {
172
+ caml_invalid_argument("Gc.Tweak: parameter not found");
173
+ }
174
+
175
+ //Provides: caml_gc_tweak_set
176
+ //Requires: caml_invalid_argument
177
+ //Version: >= 5.5
178
+ function caml_gc_tweak_set(_name, _v) {
179
+ caml_invalid_argument("Gc.Tweak: parameter not found");
180
+ }
181
+
182
+ //Provides: caml_gc_tweak_set
183
+ //Requires: caml_invalid_argument
184
+ //Version: >= 5.2, < 5.3
185
+ //OxCaml
186
+ function caml_gc_tweak_set(_name, _value) {
187
+ caml_invalid_argument("Gc.Tweak: parameter not found");
188
+ }
189
+
190
+ //Provides: caml_gc_tweak_list_active const
191
+ //Version: >= 5.5
192
+ function caml_gc_tweak_list_active(_unit) {
193
+ return 0;
194
+ }
195
+
196
+ //Provides: caml_gc_tweak_list_active
197
+ //Version: >= 5.2, < 5.3
198
+ //OxCaml
199
+ function caml_gc_tweak_list_active(_unit) {
200
+ return 0;
201
+ }