cwebber pushed a commit to branch compile-to-js-merge
in repository guile.
commit 3d29f2874f1f9f11295a14592024c99923bee50a
Author: Ian Price <[email protected]>
AuthorDate: Wed Aug 2 23:19:00 2017 +0100
Implement procedure built-ins.
* module/language/js-il/runtime.js
(procedure?, set-procedure-property!, make-procedure-with-setter):
Implement.
---
module/language/js-il/runtime.js | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/module/language/js-il/runtime.js b/module/language/js-il/runtime.js
index 9d099b5..feda26a 100644
--- a/module/language/js-il/runtime.js
+++ b/module/language/js-il/runtime.js
@@ -936,6 +936,19 @@ def_guile0("make-struct", function (self, cont, vtable,
tailsize) {
}
});
+// Procedures
+def_guile0("procedure?", function (self, cont, obj) {
+ return cont(coerce_bool(obj instanceof scheme.Closure));
+});
+
+def_guile0("set-procedure-property!", function (self, cont, procedure,
property, obj) {
+ return cont(scheme.FALSE);
+});
+
+def_guile0("make-procedure-with-setter", function (self, cont, procedure,
setter) {
+ return cont(scheme.FALSE);
+});
+
// Hashtables
def_guile0("make-hash-table", function (self, cont, size) {
return cont(new scheme.HashTable());