Re: [Development] QtCS 2017 QtCore sessions

2017-12-04 Thread Ville Voutilainen
On 4 December 2017 at 21:29, Allan Sandfeld Jensen  wrote:
>> > I believe the name "optional" comes from Haskell and Java where it
>> > appeared
>> > first. The standard library only imports things that are already industry
>> > standard, and once there were several implementations of optional out
>> > there, they started to pull one in. They just didn't manage to write it
>> > without using C++17'isms.
>>
>> std::optional has no fundamental c++17isms in it, and can be written
>> without any problem in C++11 code.
>> I maintain optional in libstdc++, in case you wonder on what basis I'm
>> making that statement.
> I know it can be written with C++11. I have both seen it, and done it myself.
> I was just noting the C++17 version takes advantage of C++17 (which makes
> sense). I did not mean to imply you couldn't or hadn't. I am sorry if I
> formulated that wrongly.

Right; stylistically, the C++17 specification uses C++17 facilities
when convenient - that
has nothing to do with what the committee "manages" to do or not. For
optional, it uses,
for example, the _v trait-value variable templates, which are C++17,
but are perfectly
possible to express with the longer-hand form with ::value. Beyond
those, optional
doesn't do anything C++17-specific (and was in fact implemented *and
specified* in terms of C++14 when it
was experimental::optional, and even there, the only C++14 facility it
used was relaxed
constexpr, but again, those things can be written with C++11
constexpr). Under the
general as-if rule, implementations can and do implement optional with
equivalent
facilities that were there since well before C++17.

>> The standard library imports a whole host of things that aren't always
>> industry standards. but it imports things only when there's a proposal
>> to import something.
>
> For this part I was refering call for proposals http://cplusplus.github.io/
> LWG/call-for-library-proposals.html which says it strongly prefers things
> based on existing practice.

Yes, *prefers*, but doesn't *require*. Even the ISO guideline of
standardizing existing
practice is a recommendation, not a hard requirement.

> Anyway. I was just taking offense at Marc's claims that Qt was "stealing from
> C++"  by adopting similar compatible ideas as the standard library, but made
> available for our supported platforms in our time frame. It made little sense
> to me, as you might as well argue Qt is stealing from Windows and Mac, by
> making a cross-platform toolkit implementing their established practices.

I think Marc's concern is adopting e.g. an optional-like type and
giving it a *completely*
different interface because we prefer camelNames to std_like_names,
which is migration-wise,
generic-programming-wise and interoperability-wise a complete dead end.

This leads to a discussion we need to have at some point, which is
that if we write a Qt facility
that's expected (no expected-related puns intended) to have an
equivalent facility in the standard,
we should give such facilities a standard-like interface with
standard-like naming, instead of
following our usual naming conventions. Same goes for semantics. Which
brings us back
to the discussion on constexpr on QStringView - it hurts migration and
interoperability if
string_view has constexpr operations that are not constexpr on
QStringView. Having said that,
there are nuances there, like *how much* it hurts and what kind of
migration/interoperability.
General design principles can have engineering exceptions, when the
rationale for such
is sufficient.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QtCS 2017 QtCore sessions

2017-12-04 Thread Allan Sandfeld Jensen
On Montag, 4. Dezember 2017 15:30:49 CET Ville Voutilainen wrote:
> On 4 December 2017 at 16:20, Allan Sandfeld Jensen  wrote:
> > On Montag, 4. Dezember 2017 15:00:53 CET Marc Mutz wrote:
> >> Ah, well, yes. Nothing truly originates in C++, true. But, IIRC, the
> >> Haskell name is maybe. So why is it QOptional and not QMaybe? Because
> >> the C++ interface is used as the basis, not something from Haskell.
> > 
> > I believe the name "optional" comes from Haskell and Java where it
> > appeared
> > first. The standard library only imports things that are already industry
> > standard, and once there were several implementations of optional out
> > there, they started to pull one in. They just didn't manage to write it
> > without using C++17'isms.
> 
> std::optional has no fundamental c++17isms in it, and can be written
> without any problem in C++11 code.
> I maintain optional in libstdc++, in case you wonder on what basis I'm
> making that statement.
I know it can be written with C++11. I have both seen it, and done it myself. 
I was just noting the C++17 version takes advantage of C++17 (which makes 
sense). I did not mean to imply you couldn't or hadn't. I am sorry if I 
formulated that wrongly.

> The standard library imports a whole host of things that aren't always
> industry standards. but it imports things only when there's a proposal
> to import something.

For this part I was refering call for proposals http://cplusplus.github.io/
LWG/call-for-library-proposals.html which says it strongly prefers things 
based on existing practice. 

Anyway. I was just taking offense at Marc's claims that Qt was "stealing from 
C++"  by adopting similar compatible ideas as the standard library, but made 
available for our supported platforms in our time frame. It made little sense 
to me, as you might as well argue Qt is stealing from Windows and Mac, by 
making a cross-platform toolkit implementing their established practices.

Best regards
'Allan

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QT printing via CUPS (advanced printing dalog box missing)

2017-12-04 Thread Lars Knoll


On 4 Dec 2017, at 15:16, Albert Astals Cid 
mailto:albert.astals@kdab.com>> wrote:

El dilluns, 20 de novembre de 2017, a les 23:45:18 CET, Thiago Macieira va
escriure:
On segunda-feira, 20 de novembro de 2017 14:01:25 PST GMAIL wrote:
This bug has been reported on QT ( see
https://bugreports.qt.io/browse/QTBUG-54464) on *June 2016*. Almost a
year and half now, the bug status is still *reported* and the resolution
*unknown*.

I am sorry to post this information here, but we are many users affected
by this bug and we are desperate because we don't have any feed back
from QT. Is there anybody working on it ?

No, there is not.

The module is currently orphan, with no maintainer.

Reviews more than welcome

https://codereview.qt-project.org/#/c/213391/
https://codereview.qt-project.org/#/c/213390/
https://codereview.qt-project.org/#/c/213389/
https://codereview.qt-project.org/#/c/213388/
https://codereview.qt-project.org/#/c/213387/
https://codereview.qt-project.org/#/c/213386/
https://codereview.qt-project.org/#/c/213385/
https://codereview.qt-project.org/#/c/213384/
https://codereview.qt-project.org/#/c/213383/


Thanks a lot, Albert. I'll try to have a look in the next couple of days (or 
find someone else to do so ;-)

Cheers,
Lars

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QtCS 2017 QtCore sessions

2017-12-04 Thread Thiago Macieira
On Monday, 4 December 2017 06:00:53 PST Marc Mutz wrote:
> Ah, well, yes. Nothing truly originates in C++, true. But, IIRC, the
> Haskell name is maybe. So why is it QOptional and not QMaybe? Because
> the C++ interface is used as the basis, not something from Haskell.

FYI, I wrote QMaybe some 9 to 10 years ago, when D-Bus was discussing having 
maybe types.

https://dbus.freedesktop.org/doc/dbus-specification.html#idm423, see "Reserved 
for a 'maybe' type compatible with the one in GVariant, and must not appear in 
signatures used on D-Bus until specified here"

Since it didn't happen there, it didn't happen for us either.

> Alex Stepanov also agrees that vector may not have been his wisest
> naming choice for a dynamic array container, but it's still QVector, and
> not QArray, after all

And QList is not a linked list.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QtCS 2017 QtCore sessions

2017-12-04 Thread Konstantin Tokarev


04.12.2017, 17:31, "Ville Voutilainen" :
> On 4 December 2017 at 16:20, Allan Sandfeld Jensen  wrote:
>>  On Montag, 4. Dezember 2017 15:00:53 CET Marc Mutz wrote:
>>>  Ah, well, yes. Nothing truly originates in C++, true. But, IIRC, the
>>>  Haskell name is maybe. So why is it QOptional and not QMaybe? Because
>>>  the C++ interface is used as the basis, not something from Haskell.
>>
>>  I believe the name "optional" comes from Haskell and Java where it appeared
>>  first. The standard library only imports things that are already industry
>>  standard, and once there were several implementations of optional out there,
>>  they started to pull one in. They just didn't manage to write it without 
>> using
>>  C++17'isms.
>
> std::optional has no fundamental c++17isms in it, and can be written
> without any problem in C++11 code.
> I maintain optional in libstdc++, in case you wonder on what basis I'm
> making that statement.
> The standard library imports a whole host of things that aren't always
> industry standards, but
> it imports things only when there's a proposal to import something.

See also

https://github.com/akrzemi1/Optional/blob/master/optional.hpp

> ___
> Development mailing list
> Development@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

-- 
Regards,
Konstantin
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QtCS 2017 QtCore sessions

2017-12-04 Thread Ville Voutilainen
On 4 December 2017 at 16:20, Allan Sandfeld Jensen  wrote:
> On Montag, 4. Dezember 2017 15:00:53 CET Marc Mutz wrote:
>>
>> Ah, well, yes. Nothing truly originates in C++, true. But, IIRC, the
>> Haskell name is maybe. So why is it QOptional and not QMaybe? Because
>> the C++ interface is used as the basis, not something from Haskell.
>>
>
> I believe the name "optional" comes from Haskell and Java where it appeared
> first. The standard library only imports things that are already industry
> standard, and once there were several implementations of optional out there,
> they started to pull one in. They just didn't manage to write it without using
> C++17'isms.

std::optional has no fundamental c++17isms in it, and can be written
without any problem in C++11 code.
I maintain optional in libstdc++, in case you wonder on what basis I'm
making that statement.
The standard library imports a whole host of things that aren't always
industry standards, but
it imports things only when there's a proposal to import something.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QtCS 2017 QtCore sessions

2017-12-04 Thread Allan Sandfeld Jensen
On Montag, 4. Dezember 2017 15:00:53 CET Marc Mutz wrote:
> 
> Ah, well, yes. Nothing truly originates in C++, true. But, IIRC, the
> Haskell name is maybe. So why is it QOptional and not QMaybe? Because
> the C++ interface is used as the basis, not something from Haskell.
> 

I believe the name "optional" comes from Haskell and Java where it appeared 
first. The standard library only imports things that are already industry 
standard, and once there were several implementations of optional out there, 
they started to pull one in. They just didn't manage to write it without using 
C++17'isms.

The other name that sometimes gets used instead of Optional is Nullable (from 
SQL and C#), but that is a little different. I don't think "maybe" ever gets 
used much for this kind of type.

Anyway. I do believe we should try to be compatible with std. I just don't see 
the point in throwing our hands in the air and refusing to improve our base 
classes while waiting for something we might be able to use 9 years from now.

Btw. One of the issues with std::expected and std::outcome is that many are 
pushing  for them to become C++ versions of Haskell monads, which complicates 
things.

Best regard
'Allan
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QT printing via CUPS (advanced printing dalog box missing)

2017-12-04 Thread Albert Astals Cid
El dilluns, 20 de novembre de 2017, a les 23:45:18 CET, Thiago Macieira va 
escriure:
> On segunda-feira, 20 de novembro de 2017 14:01:25 PST GMAIL wrote:
> > This bug has been reported on QT ( see
> > https://bugreports.qt.io/browse/QTBUG-54464) on *June 2016*. Almost a
> > year and half now, the bug status is still *reported* and the resolution
> > *unknown*.
> > 
> > I am sorry to post this information here, but we are many users affected
> > by this bug and we are desperate because we don't have any feed back
> > from QT. Is there anybody working on it ?
> 
> No, there is not.
> 
> The module is currently orphan, with no maintainer.

Reviews more than welcome

https://codereview.qt-project.org/#/c/213391/
https://codereview.qt-project.org/#/c/213390/
https://codereview.qt-project.org/#/c/213389/
https://codereview.qt-project.org/#/c/213388/
https://codereview.qt-project.org/#/c/213387/
https://codereview.qt-project.org/#/c/213386/
https://codereview.qt-project.org/#/c/213385/
https://codereview.qt-project.org/#/c/213384/
https://codereview.qt-project.org/#/c/213383/

Cheers,
  Albert

-- 
Albert Astals Cid | albert.astals@kdab.com | Software Engineer
Klarälvdalens Datakonsult AB, a KDAB Group company
Tel: Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
KDAB - The Qt, C++ and OpenGL Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] QtCS 2017 QtCore sessions

2017-12-04 Thread Marc Mutz

On 2017-12-03 22:57, Allan Sandfeld Jensen wrote:

On Samstag, 2. Dezember 2017 17:48:19 CET Marc Mutz wrote:

If that analyis were true, you'd need to explain why it is, then, that
the Qt containers now have more or less the same API as std ones, when
in Qt 1 they were very different. And why I keep needing to fight off
QOptional. These are ideas that do not come from Qt. They come from
C++/Boost.


What are you smoking?


Nothing, atm. I did a cigarette once, though, after some scotch. Didn't 
end all that well...



These come from ML/Haskell who have had types like that
for decades.


Ah, well, yes. Nothing truly originates in C++, true. But, IIRC, the 
Haskell name is maybe. So why is it QOptional and not QMaybe? Because 
the C++ interface is used as the basis, not something from Haskell.


Alex Stepanov also agrees that vector may not have been his wisest 
naming choice for a dynamic array container, but it's still QVector, and 
not QArray, after all (IIRC, it actually _was_ QGArray in Qt 1). So, 
seems Qt's using C++ as a reference. As it should (whenever Java was 
used, things went bad: QList, QListIterator, ...). For better or worse, 
Qt is a C++ framework, so it's important to not try to invent new names 
for all things C++.


Thanks,
Marc

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] Qt 5.10.0 RC3 out

2017-12-04 Thread Jani Heikkinen
Hi,

We have released Qt 5.10.0 RC3 today. Delta to RC2 as an attachment.

With my current knowledge this should be now final Qt 5.10.0 content which we 
are planning to release this Thursday (if all still ok according to tests).
Instructions how to get the release are here: 
https://wiki.qt.io/How_to_get_snapshot_via_online_installer.

br,
Jani






qt5.10-rc2-delta-rc3-commits
Description: qt5.10-rc2-delta-rc3-commits
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] Branch request: wip/webassembly in Qt Declarative

2017-12-04 Thread Eskil Abrahamsen Blomfeldt

Hi,

We currently have a WIP branch in Qt Base for the WebAssembly work, but 
it turns out that we will also need changes in Qt Declarative that 
significant enough that it would be good to keep them in a WIP branch 
until we merge the feature back.


No CI needed.

--
Eskil Abrahamsen Blomfeldt
Senior Manager, R&D

The Qt Company
Sandakerveien 116
0484 Oslo, Norway
eskil.abrahamsen-blomfe...@qt.io
http://qt.io

The Future is Written with Qt
www.qtworldsummit.com

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development