-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathkernel_extensions.lua
More file actions
76 lines (58 loc) · 1.6 KB
/
kernel_extensions.lua
File metadata and controls
76 lines (58 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
-----
--[[ Wicker ]] VERSION="3.0"
--
-- Last updated: 2013-11-29
-----
--[[
-- Called by boot.lua after bootstrapping.
--]]
--[[
Copyright (C) 2013 simplex
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]--
local submodules = {
"uuids",
"class",
"dst_abstraction",
}
---
local function dobasicextend(kernel)
local Lambda = wickerrequire "paradigms.functional"
local Logic = wickerrequire "lib.logic"
local Pred = wickerrequire "lib.predicates"
local Game = wickerrequire "game"
kernel.Lambda = Lambda
kernel.Logic = Logic
kernel.Pred = Pred
kernel.Game = Game
kernel.Nil = Lambda.Nil
end
local function doextend(kernel)
local the_kernel = kernel
local function get_the_kernel()
return the_kernel
end
AddPropertyTo(kernel, "kernel", get_the_kernel)
dobasicextend(kernel)
for _, subm in ipairs(submodules) do
local extender = pkgrequire("kernel_extensions."..subm)
if type(extender) == "function" then
extender(kernel)
end
end
the_kernel = nil
end
---
return function(kernel)
doextend(kernel)
doextend = function() end
end