Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File naming #1

Open
CrazyPython opened this issue Aug 9, 2016 · 12 comments
Open

File naming #1

CrazyPython opened this issue Aug 9, 2016 · 12 comments

Comments

@CrazyPython
Copy link
Collaborator

CrazyPython commented Aug 9, 2016

Let's agree on what to name the file, .H, .h++, .hh, .hxx, .h or .hpp? (to make merging easier)

Personally, I'd go with .h.

@CrazyPython
Copy link
Collaborator Author

@o11c

@o11c
Copy link
Collaborator

o11c commented Aug 9, 2016

Since the repo is named .cpp (and that's the most common anyway), there's no point in further bikeshedding about .cc, .cxx, .C, .c++ - and headers should not mismatch, but that does leave .h.

Personally, I always use .hpp for C++-only headers, and .h for C-compatible headers. I can envision a limited C-compatible API here, so I think the difference makes sense.

Of course, one of our products will likely be a single-file header-only include (similar to what sqlite does) - that will not be C-compatible. But for people doing the full multiple-headers + library install method, C-only makes sense.

Note that there are also 2 types of special-purpose headers (not included directly by users): template definitions (.tcc is common because of libstdc++, but I've seen a couple of variants such as .tpl and .inl) and X-macros (.def is most common these days, but I've also seen .x especially for older stuff).

@CrazyPython
Copy link
Collaborator Author

@o11c Let's worry about C++ first then C compatibility. And the fastest C code isn't always the fastest c++ code. So .cpp and .hpp I guess?

@CrazyPython
Copy link
Collaborator Author

@o11c Unrelated but: can you send a pull request with just boilerplate code? I have no experience with writing C++ libraries.

@casperdcl
Copy link
Member

guys. calm down! loving the enthusiasm though. I'll push my idea of what
the framework should look like, then we can discuss ;)

On 9 Aug 2016 5:29 p.m., "CrazyPython" [email protected] wrote:

@o11c https://github.com/o11c Unrelated but: can you send a pull
request with just boilerplate code? I have no experience with writing C++
libraries.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#1 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKR9m9gvQrys733zA8RX_QzeC_IFjSq_ks5qeKrygaJpZM4JgLc8
.

@CrazyPython
Copy link
Collaborator Author

@casperdcl Hm, don't seem to have direct push access anymore. I want it just to be able to set milestones/labels. No direct commits (except for simple stuff like .gitignore).

@CrazyPython
Copy link
Collaborator Author

Got it now. Thanks!

@CrazyPython
Copy link
Collaborator Author

A nice, soothing, purple design label.

@CrazyPython CrazyPython added this to the Layout design milestone Aug 9, 2016
@lrq3000
Copy link
Member

lrq3000 commented Aug 9, 2016

I'll leave it up to @casperdcl to do a draft and set up the goals for a
first working release :)

Just my 2 cents about C++ vs C support: if you want to implement tqdm-cpp
in an object-oriented fashion similarly to the current version of tqdm
for python, then you'll surely need C++ and drop C support for now, but I
have limited experience with C++ so maybe it's possible to do something
compatible.

However if you were to implement the older tqdm approach before
object-oriented, then you can easily implement that in C, but then you'll
lose many interesting features (for example manually updatable bars and
nested loops).

2016-08-09 19:08 GMT+02:00 CrazyPython [email protected]:

A nice, soothing, purple design label.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#1 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABES3glFV9FIXWRievnqkKLtVFpX5wVkks5qeLQRgaJpZM4JgLc8
.

@CrazyPython
Copy link
Collaborator Author

@lrq3000 I think if we're going to support C at all, we should do it in a separate file. Iterate-range is really useful. I'm going to put my thoughts on releases and versioning in a separate issue. v0.1 shouldn't include C support.

@lrq3000
Copy link
Member

lrq3000 commented Aug 9, 2016

I would love to see a C version, but yeah it's a sensible decision to focus
on C++ and create another file for C later on.

2016-08-09 21:03 GMT+02:00 CrazyPython [email protected]:

@lrq3000 https://github.com/lrq3000 I think if we're going to support C
at all, we should do it in a separate file. Iterate-range is really useful.
I'm going to put my thoughts on releases and versioning in a separate
issue. v0.1 shouldn't include C support.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#1 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABES3nXBxm6ElGN705L5J0bpcoJchaR3ks5qeM7ugaJpZM4JgLc8
.

@CrazyPython
Copy link
Collaborator Author

@casperdcl @lrq3000 Please give o11c write access. We're working on setting up coverage and CI stuff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants