コード例 #1
0
def visible_children(asker, object):
    expanded = convert.check_hard(asker, is_expanded(), object)
    object = asker.refresh(object)
    if not expanded:
        return asker.reply(answer=T.from_list([]))
    else:
        children = asker.ask(fields.get_field(all_children(), object)).firm_answer
        return asker.reply(answer=children)
コード例 #2
0
def add_children_on_expanded(asker, old, new, bindings):
    children = []
    for p in lists.iterator(asker, lists.from_dict(bindings)):
        k = asker.ask(fields.get_field(first(), p)).firm_answer
        v = asker.ask(fields.get_field(second(), p)).firm_answer
        prefix = strings.string_concat(k, T.from_str(": "))
        new_node = node_from_term(asker, v)
        new_node = updates.update(
            updates.apply_to(headline(), strings.prepend_str(prefix)),
            new_node
        )
        children.append(new_node)
    return asker.reply(answer=updates.update(
        fields.set_field(all_children(), T.from_list(children)), 
        new
    ))
コード例 #3
0
ファイル: script.py プロジェクト: paulfchristiano/interpreter
import convert
import representations
import properties
import updates
import outlines
import builtins
import computations
import term
import termtypes
import state
import views
import functions
import strings
from term import Term as T

k = updates.update(updates.trivial(), T.from_int(0))
d = T('test [a]', a=k)
Q = T('a question about [this]', this=k)
asker = ask.Asker(Q)

a = T('a')
b = T('b')
c = T('c')

l1 = T.from_list([a, b, c])
l2 = T.from_list([a, a, a])

l12 = lists.zip(l1, l2)

d = dictionaries.from_items(l12)
コード例 #4
0
ファイル: views.py プロジェクト: paulfchristiano/interpreter
def render_char(asker, x):
    return asker.reply(answer=T.simple_str(T.from_list([c])))
コード例 #5
0
ファイル: views.py プロジェクト: paulfchristiano/interpreter
def get_starting_view(asker, query):
    head = fields.get(asker, representations.head(), query)
    bindings = fields.get(asker, representations.bindings(), query)
    initial_lines = T.from_list([head, T.from_str("---")])
    return asker.reply(answer=view(initial_lines, bindings))
コード例 #6
0
def make_list_expr(l):
    return T(make_list_expr.head, l=T.from_list(l))