summaryrefslogtreecommitdiff
path: root/starts/meaning-vm/level-2/funcs.hpp
blob: 65290fb7e25d5fe950e9647ddf8438819766322e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once

#include "common.hpp"

#include <functional>
#include <initializer_list>

namespace intellect {
namespace level2 {

ref & context();
// TODO: pass default argument values to makehabit?
ref makehabit(ref name, std::initializer_list<ref> argnames, std::function<void(ref)> code);
ref dohabit(ref habit, std::initializer_list<ref> args);
ref dohabit(ref habit, std::initializer_list<std::initializer_list<ref>> args = {});

}
}