Соглашения о стиле кодирования в Изабель / Изаре - PullRequest
0 голосов
/ 16 февраля 2019

TL; DR : Существуют ли соглашения по кодированию для языка исар?Нужно ли соблюдать стратегию сворачивания jEdit?


Моя команда работает над формализацией математики, поэтому одна из наших основных целей - получить читабельные доказательства.Учитывая это, мы попытались закодировать доказательства таким образом, чтобы выделялись промежуточные факты (и ярлыки, если таковые имеются):

from fact1 have
  1: "Foo"
  using Thm1 Thm2 by auto
then have
  2: "Bar = FooBar"
  by simp
also from 1 have
  " ... = BarFoo"
  by blast 

и т. Д.Помимо того, что иногда это приводит к распространению «коротких линий» (кстати, я не знаю, действительно ли это проблема), это как-то несовместимо со стратегией сворачивания jEdit;после сворачивания предыдущий блок кода будет выглядеть так:

from fact1 have
then have
also from 1 have

, полностью скрывающий аргумент.Следующий формат, возможно, лучше:

from fact1
have 1: "Foo"
  using Thm1 Thm2 by auto
then 
have 2: "Bar = FooBar"
  by simp
also from 1 
have " ... = BarFoo"
  by blast 

И, после свертывания,

from fact1
have 1: "Foo"
then 
have 2: "Bar = FooBar"
also from 1 
have " ... = BarFoo"

, который делает поток аргумента явным.

В любом случае, передЯ придумываю 5 новых соглашений о форматировании, и я определенно хотел бы знать, существует ли какой-то де-факто стандарт или, по крайней мере, если кто-то подумал об этом.

...