From 08a960306c34e10c23a172fafdb047e7dee972f0 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Mon, 17 Apr 2017 17:46:39 +0000 Subject: [PATCH] WIP --- scheme/cyclone/cgen.sld | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/scheme/cyclone/cgen.sld b/scheme/cyclone/cgen.sld index 5b992b95..c38e24eb 100644 --- a/scheme/cyclone/cgen.sld +++ b/scheme/cyclone/cgen.sld @@ -1332,7 +1332,7 @@ ; Emit inlinable function list (cond ((not program?) - (emit* "void c_" (lib:name->string lib-name) "_inlinable_lambdas(void *data, int argc, closure cont, object value){ ") + (emit* "void c_" (lib:name->string lib-name) "_inlinable_lambdas(void *data, int argc, closure _, object cont){ ") (let ((pairs '()) (head-pair #f)) (for-each @@ -1430,6 +1430,22 @@ ;; TODO: only need to do this if 'eval' was also compiled (let ((pairs '()) (head-pair #f)) + +;; TODO: want some way of being able to get the list in scheme code +;; TODO: ;; Attempt to expose inlinable lambdas function +;; TODO: (let ((cvar-sym (mangle (gensym 'cvar))) +;; TODO: (pair-sym (mangle (gensym 'pair))) +;; TODO: (fnc (string-append +;; TODO: "c_" (lib:name->string lib-name) "_inlinable_lambdas"))) +;; TODO: (emits* +;; TODO: " make_cvar(" cvar-sym +;; TODO: ", (object *)&" fnc ");") +;; TODO: (emits* +;; TODO: "make_pair(" pair-sym ", find_or_add_symbol(\"" fnc +;; TODO: "\"), &" cvar-sym ");\n") +;; TODO: (set! pairs (cons pair-sym pairs))) +;; TODO: ;; END + (for-each (lambda (g) (let ((cvar-sym (mangle (gensym 'cvar)))