From 913171900fd11272ca328ded6553a56423db1e13 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 13 Jan 2023 16:14:20 -0400 Subject: Can now compile complex values (i.e. variants & tuples) in C++. --- lux-c++/source/program.lux | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) (limited to 'lux-c++/source/program.lux') diff --git a/lux-c++/source/program.lux b/lux-c++/source/program.lux index 3c3a037fc..26e6bde0d 100644 --- a/lux-c++/source/program.lux +++ b/lux-c++/source/program.lux @@ -29,12 +29,13 @@ ["[0]" file] ["[1]/[0]" environment]] [meta - [target - ["_" c++]] [macro ["^" pattern] ["[0]" template]] [compiler + [target + ["_" c++ (.only) + [":" type]]] [reference [variable (.only Register)]] [language @@ -54,7 +55,8 @@ [c++ ["[0]" runtime] ["[0]" type] - ["[0]" primitive]]]]]] + ["[0]" primitive] + ["[0]" complex]]]]]] [default ["[0]" platform (.only Platform)]] [meta @@ -94,22 +96,12 @@ (_.function (_.local ) (list) (list) - _.void + :.void (all _.then - ... (print (primitive.bit true)) - ... (print (primitive.i64 +123)) - ... (print (primitive.f64 -456.789)) - ... (print (primitive.text "YOLO")) - - ... (print (runtime.lux_value type.bit (primitive.bit true))) - ... (print (runtime.lux_value type.i64 (primitive.i64 +123))) - ... (print (runtime.lux_value type.f64 (primitive.f64 -456.789))) - ... (print (runtime.lux_value type.text (primitive.text "YOLO"))) - - ... (print (_.deref (runtime.host_value type.bit (runtime.lux_value type.bit (primitive.bit true))))) - (print (_.deref (runtime.host_value type.i64 (runtime.lux_value type.i64 (primitive.i64 +123))))) - ... (print (_.deref (runtime.host_value type.f64 (runtime.lux_value type.f64 (primitive.f64 -456.789))))) - ... (print (_.deref (runtime.host_value type.text (runtime.lux_value type.text (primitive.text "YOLO"))))) + (print (_.deref (runtime.host_value type.bit (runtime.simple type.bit (primitive.bit true))))) + (print (_.deref (runtime.host_value type.i64 (runtime.simple type.i64 (primitive.i64 +123))))) + (print (_.deref (runtime.host_value type.f64 (runtime.simple type.f64 (primitive.f64 -456.789))))) + ... (print (_.deref (runtime.host_value type.text (runtime.simple type.text (primitive.text "YOLO"))))) ))))]) .let [_ (debug.log! (%.format "BEFORE " (%.bit ?)))] global (cppyy::gbl) -- cgit v1.2.3