Git Product home page Git Product logo

Comments (10)

vladimirias avatar vladimirias commented on June 12, 2024

(f : X -> Y) and { X Y : UU },
You suggest to not separate () with a space and separate {} with a space?

Perhaps introducing a new notation f ~ g for homotopies between functions.
Perhaps.

Then maybe also an infix for funcomp e.g. ( f circ g ), easily replaceable by unicode later.

The rest look good to me.

On Nov 5, 2014, at 5:20 PM, Alex Kavvos [email protected] wrote:

Following from recent lectures based on UniMath, I feel that a good part of Foundations, and especially uu0.v, could benefit from the following superficial changes in syntax:

Consistently replacing notations with the newly introduced set (@, =, !).
Perhaps introducing a new notation f ~ g for homotopies between functions.
Standardising the spacing in implicit and non-implicit arguments, e.g. (f : X -> Y) and { X Y : UU }, which may be slightly easier to read on a projector.
Word-wrapping at 95 or 100 characters per line.
Adhere to a stricter format of proofs, as exemplified in the example script in issue 33 [1].
[1] #33 #33

Reply to this email directly or view it on GitHub #47.

from unimath.

lambdabetaeta avatar lambdabetaeta commented on June 12, 2024

You suggest to not separate () with a space and separate {} with a space?

Yes. The choice was instinctive, although it probably derives from years of practice in imperative languages, where you would write things like

if (x == y) then { f(); return x; } else { g(); return y; }

But it is still up for debate.

The example code seems to stick with {X Y}; does Benedikt have any strong feelings about this?

from unimath.

DanGrayson avatar DanGrayson commented on June 12, 2024

There's probably not much reason to import C spacing conventions into Coq,
so it
might be good to treat () and {} identically.

On Wed, Nov 5, 2014 at 10:12 PM, Alex Kavvos [email protected]
wrote:

You suggest to not separate () with a space and separate {} with a space?

Yes. The choice was instinctive, although it probably derives from years
of practice in imperative languages, where you would write things like

if (x == y) then { f(); return x; } else { g(); return y; }

But it is still up for debate.


Reply to this email directly or view it on GitHub
#47 (comment).

from unimath.

lambdabetaeta avatar lambdabetaeta commented on June 12, 2024

I think you're right. I will stick to no spaces at all.

from unimath.

vladimirias avatar vladimirias commented on June 12, 2024

In my new code I am using ( X ) and { X }. V.

On Nov 5, 2014, at 10:12 PM, Alex Kavvos [email protected] wrote:

You suggest to not separate () with a space and separate {} with a space?

Yes. The choice was instinctive, although it probably derives from years of practice in imperative languages, where you would write things like

if (x == y) then { f(); return x; } else { g(); return y; }
But it is still up for debate.


Reply to this email directly or view it on GitHub #47 (comment).

from unimath.

vladimirias avatar vladimirias commented on June 12, 2024

For () and {} right? Because there is a reason to have spaces everywhere else since Coq considers are sequence of symbols without spaces (and probably () and {}) as a symbol and looks in the notation tables etc. trying to make sense of it.

V.

On Nov 6, 2014, at 12:08 AM, Alex Kavvos [email protected] wrote:

I think you're probably right. I will stick to no spaces at all.


Reply to this email directly or view it on GitHub #47 (comment).

from unimath.

lambdabetaeta avatar lambdabetaeta commented on June 12, 2024

Yes, exactly, for () and {} only.

As you will be using that convention, I will follow it too then.

from unimath.

DanGrayson avatar DanGrayson commented on June 12, 2024

It's hard to see how such superfluous spaces would ever be useful, at least
if
we resist the temptation to define new notations involving combinations like
(+ ... +), so I would not insert them.

On Thu, Nov 6, 2014 at 4:03 PM, Vladimir Voevodsky <[email protected]

wrote:

For () and {} right? Because there is a reason to have spaces everywhere
else since Coq considers are sequence of symbols without spaces (and
probably () and {}) as a symbol and looks in the notation tables etc.
trying to make sense of it.

V.

On Nov 6, 2014, at 12:08 AM, Alex Kavvos [email protected]
wrote:

I think you're probably right. I will stick to no spaces at all.


Reply to this email directly or view it on GitHub <
https://github.com/UniMath/UniMath/issues/47#issuecomment-61905839>.


Reply to this email directly or view it on GitHub
#47 (comment).

from unimath.

lambdabetaeta avatar lambdabetaeta commented on June 12, 2024

It seems to be slightly easier to read arguments like

( f : T1 -> T2 )

on screen -- only a little harder on paper or projector than without spaces. However,

phi : ( ( X -> Y ) -> Y ) -> Y

is harder to parse on any medium.

from unimath.

vladimirias avatar vladimirias commented on June 12, 2024

I just don’t think about it and insert a space between any two “words”. As long as it is not too terrible I think it is a
reasonable policy.

V.

On Nov 7, 2014, at 1:49 PM, Alex Kavvos [email protected] wrote:

It seems to be slightly easier to read arguments like

( f : T1 -> T2 )

on screen -- only a little harder on paper or projector than without spaces. However,

phi : ( ( X -> Y ) -> Y ) -> Y

is hard on any medium.


Reply to this email directly or view it on GitHub #47 (comment).

from unimath.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.