@@ -32,21 +32,9 @@ inline namespace kernel
32
32
, public reader <environment>
33
33
, public writer <environment>
34
34
{
35
- /* ---- NOTE ---------------------------------------------------------------
36
- *
37
- * If this class is constructed as make<environment>(...) then the
38
- * heterogeneous::binder will have forwarded all constructor arguments to
39
- * the virtual base class pair in advance, and this constructor will be
40
- * called without any arguments.
41
- *
42
- * (See the heterogeneous::binder::binder for details)
43
- *
44
- * ---------------------------------------------------------------------- */
45
35
using pair::pair;
46
36
47
37
public:
48
- let datum = unit;
49
-
50
38
using configurator::is_debug_mode;
51
39
using configurator::is_trace_mode;
52
40
using configurator::is_verbose_mode;
@@ -68,10 +56,6 @@ inline namespace kernel
68
56
69
57
auto operator [](std::string const &) -> const_reference;
70
58
71
- auto build (continuation const &) -> void; // NOTE: Only fork() may call this function.
72
-
73
- auto current_expression () const -> const_reference;
74
-
75
59
auto define (const_reference, const_reference) -> const_reference;
76
60
77
61
auto define (std::string const &, const_reference) -> const_reference;
@@ -82,36 +66,36 @@ inline namespace kernel
82
66
return define (intern (name), make<T>(name, std::forward<decltype (xs)>(xs)...));
83
67
}
84
68
85
- auto dynamic_environment () const -> const_reference;
86
-
87
69
auto evaluate (const_reference) -> object;
88
70
89
71
auto execute () -> object;
90
72
91
- auto form () noexcept -> reference;
92
- auto form () const noexcept -> const_reference;
73
+ auto global () noexcept -> reference;
93
74
94
- auto global () noexcept -> reference;
95
75
auto global () const noexcept -> const_reference;
96
76
97
- auto import () -> void;
98
-
99
77
template <typename T>
100
78
auto import (T) -> void;
101
79
80
+ auto import () -> void;
81
+
102
82
auto load (std::string const &) -> object;
103
83
104
84
auto load (const_reference) -> object;
105
85
106
- auto macroexpand (const_reference, const_reference) -> object;
86
+ auto rename (const_reference) -> const_reference;
87
+
88
+ auto rename (const_reference, const_reference) -> object;
107
89
108
- auto rename (const_reference) -> const_reference;
109
90
auto rename (const_reference) const -> const_reference;
91
+
92
+ auto rename (const_reference, const_reference) const -> object;
110
93
};
111
94
112
95
auto operator >>(std::istream &, environment &) -> std::istream &;
113
96
114
- auto operator <<(std::ostream &, environment &) -> std::ostream &;
97
+ auto operator <<(std::ostream &, environment &) -> std::ostream &;
98
+
115
99
auto operator <<(std::ostream &, environment const &) -> std::ostream &;
116
100
117
101
extern template class configurator <environment>;
0 commit comments