Так что я читал эту статью по разработчику отражения (https://eb.host.cs.st-andrews.ac.uk/drafts/elab-reflection.pdf) и решил, что я хотел бы попробовать эту эту тактику из (найденную в разделе 5.2):Идрис месиво тактика
mush : Elab()
mush =
do attack
x <- gensym "x"
intro x
try intros
induction (Var x) `andThen` auto
solve
Supposedly эта тактика может оказаться ассоциативность сложения :
plusAssoc : (j, k, l : Nat) -> plus (plus j k) l = plus j (plus k l)
plusAssoc = %runElab mush
однако при попытке typecheck кашицы я получаю следующее сообщение об ошибке:
ошибка: не терминатор, ожидаемый: "$", "& & ",") "," ","> "," + "," ++ "," - "," -> ",". ","/","/= ",": :», ";", "<", "", "< ", "<>", "< +>", "< <", "< =", "< |>", "=" , "==", ">", "> =", ">>", ">> =", "\\", "", "in", "||", "~ = ~", " двусмысленное использование лево-ассоциативного оператора, двусмысленное использование неассоциативного оператора, двусмысленное использование право-ассоциативного оператора, конец ввода, сопоставление выражения приложения, где блок x < - gensym "x"^
I не понимаю, что не так, не так ли правильная тактика или нет? нужно добавить в мой файл?
Это работает при запуске командной строки! Теперь мне просто нужно выяснить, почему Atom не находит Pruviloj.Core. – user2270439
Создайте '.ipkg' файл' 'со следующей строкой в нем -' opts = "-p pruviloj" '. [Здесь] (https://github.com/idris-hackers/atom-language-idris/issues/29) вы можете найти более подробную информацию. –