func init() { var s, t *term.SettingS s = ApplicationSetting() s.AppendTemplate(Map, "g") s = dynamics.AddSimple(s, term.ViewS(term.Sr("x"))) t = s.Copy().AppendTemplate(lists.Empty) t = dynamics.AddSimple(t, term.ReturnS(core.Answer.S(lists.Empty.S()))) t = s.Copy().AppendTemplate(lists.Singleton, "y") t = dynamics.AddSimple(t, term.AskS(Apply.S(term.Sr("g"), term.Sr("y")))) t = dynamics.ExpectAnswer(t, core.Answer, "A1", "newy") t = dynamics.AddSimple(t, term.ReturnS(lists.Singleton.S(term.Sr("y")))) t = s.Copy().AppendTemplate(lists.Cons, "head", "tail") t = dynamics.AddSimple(t, term.AskS(Apply.S(term.Sr("g"), term.Sr("head")))) t = dynamics.ExpectAnswer(t, core.Answer, "A1", "newhead") t = dynamics.AddSimple(t, term.AskS(Apply.S(term.Sr("f"), term.Sr("tail")))) t = dynamics.ExpectAnswer(t, core.Answer, "A2", "newtail") t = dynamics.AddSimple(t, term.ReturnS(lists.Cons.S(term.Sr("newhead"), term.Sr("newtail")))) t = s.Copy().AppendTemplate(lists.Snoc, "init", "last") t = dynamics.AddSimple(t, term.AskS(Apply.S(term.Sr("g"), term.Sr("last")))) t = dynamics.ExpectAnswer(t, core.Answer, "A1", "newlast") t = dynamics.AddSimple(t, term.AskS(Apply.S(term.Sr("f"), term.Sr("init")))) t = dynamics.ExpectAnswer(t, core.Answer, "A2", "newinit") t = dynamics.AddSimple(t, term.ReturnS(lists.Snoc.S(term.Sr("newinit"), term.Sr("newlast")))) t = s.Copy().AppendTemplate(lists.Concat, "a", "b") t = dynamics.AddSimple(t, term.AskS(Apply.S(term.Sr("f"), term.Sr("a")))) t = dynamics.ExpectAnswer(t, core.Answer, "A1", "newa") t = dynamics.AddSimple(t, term.AskS(Apply.S(term.Sr("f"), term.Sr("b")))) t = dynamics.ExpectAnswer(t, core.Answer, "A2", "newb") t = dynamics.AddSimple(t, term.ReturnS(lists.Concat.S(term.Sr("newa"), term.Sr("newb")))) }
func init() { var s, t *term.SettingS s = term.InitS() s.AppendTemplate(Fold, "f", "l", "x") s = dynamics.AddSimple(s, term.ViewS(term.Sr("l"))) t = s.Copy().AppendTemplate(lists.Empty) t = dynamics.AddSimple(t, term.ReturnS(term.Sr("x"))) t = s.Copy().AppendTemplate(lists.Cons, "head", "tail") t = dynamics.AddSimple(t, term.AskS(Apply2.S(term.Sr("f"), term.Sr("x"), term.Sr("head")))) t = dynamics.ExpectAnswer(t, core.Answer, "A1", "y") t = dynamics.AddSimple(t, term.AskS(Fold.S(term.Sr("f"), term.Sr("tail"), term.Sr("y")))) t = dynamics.ExpectAnswer(t, core.Answer, "A2", "A") t = dynamics.AddSimple(t, term.ReturnS(term.Sr("A"))) t = s.Copy().AppendTemplate(lists.Snoc, "init", "last") t = dynamics.AddSimple(t, term.AskS(Fold.S(term.Sr("f"), term.Sr("init"), term.Sr("x")))) t = dynamics.ExpectAnswer(t, core.Answer, "A1", "y") t = dynamics.AddSimple(t, term.AskS(Apply2.S(term.Sr("f"), term.Sr("y"), term.Sr("last")))) t = dynamics.ExpectAnswer(t, core.Answer, "A2", "A") t = dynamics.AddSimple(t, term.ReturnS(term.Sr("A"))) t = s.Copy().AppendTemplate(lists.Concat, "a", "b") t = dynamics.AddSimple(t, term.AskS(Fold.S(term.Sr("f"), term.Sr("a"), term.Sr("x")))) t = dynamics.ExpectAnswer(t, core.Answer, "A1", "y") t = dynamics.AddSimple(t, term.AskS(Fold.S(term.Sr("f"), term.Sr("b"), term.Sr("y")))) t = dynamics.ExpectAnswer(t, core.Answer, "A2", "A") t = dynamics.AddSimple(t, term.ReturnS(term.Sr("A"))) t = s.Copy().AppendTemplate(lists.Singleton, "y") t = dynamics.AddSimple(t, term.AskS(Apply2.S(term.Sr("f"), term.Sr("x"), term.Sr("y")))) t = dynamics.ExpectAnswer(t, core.Answer, "A1", "A") t = dynamics.AddSimple(t, term.ReturnS(term.Sr("A"))) }
func init() { //dynamics.AddNativeResponse(FallThrough, 1, dynamics.Args1(fallThrough)) dynamics.AddNativeResponse(DisplayTemplate, 1, dynamics.Args1(displayTemplate)) dynamics.AddNativeResponse(GetActionInput, 2, dynamics.Args2(getInput)) dynamics.AddNativeResponse(ParseInputAsAction, 2, dynamics.Args2(parseInput)) var s *term.SettingS s = dynamics.ExpectQuestion(term.InitS(), FallThrough, "Q", "setting") s = dynamics.AddSimple(s, term.AskS(GetTemplate.S(term.Sr("setting")))) s = dynamics.ExpectAnswer(s, core.Answer, "A", "template") s = dynamics.AddSimple(s, term.AskS(ElicitActionQ.S(term.Sr("template")))) s = dynamics.ExpectAnswer(s, core.Answer, "A2", "action") s = dynamics.AddSimple(s, term.AskS(MakeTransition.S(term.Sr("action")))) s = dynamics.ExpectAnswer(s, core.Answer, "A3", "transition") s = dynamics.AddSimple(s, term.AskS(ShouldRecord.S(term.Sr("action")))) s = dynamics.ExpectAnswer(s, core.Answer, "AA", "should") s = dynamics.AddSimple(s, term.ViewS(term.Sr("should"))) s.AppendTemplate(core.Yes) s = dynamics.AddSimple(s, term.AskS(SetTransition.S(term.Sr("transition"), term.Sr("template")))) s = dynamics.ExpectAnswer(s, core.OK, "A4") s = dynamics.AddSimple(s, term.ReturnS(TakeTransition.S(term.Sr("transition")))) s = dynamics.ExpectQuestion(term.InitS(), ShouldRecord, "Q", "action") s = dynamics.AddSimple(s, term.ViewS(term.Sr("action"))) s.AppendTemplate(represent.QuotedActionC, "act", "args", "indices") s = dynamics.AddSimple(s, term.ViewS(term.Sr("act"))) for act, template := range represent.ActionLookup { t := s.Copy().AppendTemplate(template) switch act { case term.Replace, term.Correct, term.Replay: dynamics.AddSimple(t, term.ReturnS(core.Answer.S(core.No.S()))) default: dynamics.AddSimple(t, term.ReturnS(core.Answer.S(core.Yes.S()))) } } s = dynamics.ExpectQuestion(term.InitS(), MakeTransition, "Q", "action") s = dynamics.AddSimple(s, term.ReturnS(core.Answer.S(represent.QuotedSimpleTransition.S(term.Sr("action"))))) s = dynamics.ExpectQuestion(term.InitS(), GetTemplate, "Q", "setting") t := dynamics.AddSimple(s, term.ViewS(term.Sr("setting"))) s = t.Copy().AppendTemplate(represent.QuotedTemplate, "parts") s = dynamics.AddSimple(s, term.ReturnS(core.Answer.S(term.Sr("setting")))) s = t.Copy().AppendTemplate(represent.QuotedSettingT, "template", "args") s = dynamics.AddSimple(s, term.ReturnS(core.Answer.S(term.Sr("template")))) s = dynamics.ExpectQuestion(term.InitS(), ElicitActionQ, "Q", "setting") s = dynamics.AddSimple(s, term.AskS(GetTemplate.S(term.Sr("setting")))) s = dynamics.ExpectAnswer(s, core.Answer, "A", "template") s = dynamics.AddSimple(s, term.AskS(ElicitActionQTemplate.S(term.Sr("template")))) s = dynamics.ExpectAnswer(s, core.Answer, "A2", "action") s = dynamics.AddSimple(s, term.ReturnS(core.Answer.S(term.Sr("action")))) s = dynamics.ExpectQuestion(term.InitS(), ElicitActionQTemplate, "Q", "template") s = dynamics.AddSimple(s, term.AskS(similarity.GetHints.S(term.Sr("template")))) s = dynamics.ExpectAnswer(s, core.Answer, "A", "hints") s = dynamics.AddSimple(s, term.AskS(similarity.GetTools.S(term.Sr("template")))) s = dynamics.ExpectAnswer(s, core.Answer, "A2", "tools") s = dynamics.AddSimple(s, term.AskS(ElicitActionQTemplateHints.S( term.Sr("template"), term.Sr("hints"), term.Sr("tools"), ))) s = dynamics.ExpectAnswer(s, core.Answer, "A3", "action") s = dynamics.AddSimple(s, term.ReturnS(core.Answer.S(term.Sr("action")))) s = dynamics.ExpectQuestion(term.InitS(), ElicitActionQTemplateHints, "Q", "template", "hints", "tools") s = dynamics.AddSimple(s, term.AskS(meta.Clear.S())) s = dynamics.ExpectAnswer(s, core.OK, "A") s = dynamics.AddSimple(s, term.AskS(DisplayTemplate.S(term.Sr("template")))) s = dynamics.ExpectAnswer(s, Names, "A2", "names") s = dynamics.AddSimple(s, term.AskS(similarity.DisplayTools.S(term.Sr("tools")))) s = dynamics.ExpectAnswer(s, similarity.ToolMapping, "A3", "toolmap") s = dynamics.AddSimple(s, term.AskS(similarity.DisplayHints.S(term.Sr("hints"), term.Sr("names")))) s = dynamics.ExpectAnswer(s, similarity.HintStrings, "A4", "hintstrings") s = dynamics.AddSimple(s, term.AskS(GetActionInput.S(term.Sr("hintstrings"), term.Sr("toolmap")))) s = dynamics.ExpectAnswer(s, core.Answer, "A5", "input") s = dynamics.AddSimple(s, term.AskS(ParseInputAsAction.S(term.Sr("input"), term.Sr("names")))) t = dynamics.ExpectAnswer(s.Copy(), core.Answer, "A6", "action") t = dynamics.AddSimple(t, term.ReturnS(core.Answer.S(term.Sr("action")))) t = dynamics.ExpectAnswer(s.Copy(), GoMeta, "A6") t = dynamics.AddSimple(t, term.MetaS()) dynamics.AddNativeResponse(ActionQ, 1, dynamics.Args1(findAction)) dynamics.AddNativeResponse(SetTransition, 2, dynamics.Args2(setTransition)) dynamics.AddNativeResponse(GetTransition, 1, dynamics.Args1(getTransition)) dynamics.AddNativeResponse(GetContinuations, 1, dynamics.Args1(getContinuations)) dynamics.AddNativeResponse(AllSettings, 0, dynamics.Args0(allSettings)) }