--- /dev/null
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Tue, 31 Mar 2020 09:17:40 +0100
+Received: from localhost ([::1] helo=libre-riscv.org)
+ by libre-riscv.org with esmtp (Exim 4.89)
+ (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+ id 1jJC5b-00036W-27; Tue, 31 Mar 2020 09:17:39 +0100
+Received: from isis.lip6.fr ([132.227.60.2])
+ by libre-riscv.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
+ (Exim 4.89) (envelope-from <Jean-Paul.Chaput@lip6.fr>)
+ id 1jJC5Y-00036Q-Oe
+ for libre-riscv-dev@lists.libre-riscv.org; Tue, 31 Mar 2020 09:17:36 +0100
+Received: from asim.lip6.fr (asim.lip6.fr [132.227.86.2])
+ by isis.lip6.fr (8.15.2/8.15.2) with ESMTPS id 02V8HZb7009255
+ (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO)
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Tue, 31 Mar 2020 10:17:35 +0200 (CEST)
+Received: from localhost (melon [132.227.103.13])
+ by asim.lip6.fr (8.15.2/8.14.4) with ESMTP id 02V8HZsT000541
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Tue, 31 Mar 2020 10:17:35 +0200 (MEST)
+Message-ID: <752371e7a9de77d78305af838989817bfec4fda8.camel@lip6.fr>
+From: Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
+To: libre-riscv-dev@lists.libre-riscv.org
+Date: Tue, 31 Mar 2020 10:17:25 +0200
+In-Reply-To: <CAPweEDyJKoUdHeDrQTHLWj7S42T=FDwj6bsnvCPoFHaf7bGy-Q@mail.gmail.com>
+References: <CAPweEDw_h8VQ3JJFF3FXph7Eg0ucVknuvMk=Xc0jSp0WP13=UQ@mail.gmail.com>
+ <8fb9dbcc812d3d7050c6e336dc9bf68f88536888.camel@gmail.com>
+ <de619dbb67b22514be18f4a8e4282d90de502cf6.camel@lip6.fr>
+ <CAPweEDyJKoUdHeDrQTHLWj7S42T=FDwj6bsnvCPoFHaf7bGy-Q@mail.gmail.com>
+Organization: UPMC
+X-Mailer: Evolution 3.28.5 (3.28.5-5.el7)
+Mime-Version: 1.0
+X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3
+ (isis.lip6.fr [132.227.60.2]); Tue, 31 Mar 2020 10:17:35 +0200 (CEST)
+X-Scanned-By: MIMEDefang 2.78 on 132.227.60.2
+X-Content-Filtered-By: Mailman/MimeDel 2.1.23
+Subject: Re: [libre-riscv-dev] extremely busy crowdsupply update started
+X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
+X-Mailman-Version: 2.1.23
+Precedence: list
+List-Id: Libre-RISCV General Development
+ <libre-riscv-dev.lists.libre-riscv.org>
+List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
+List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
+List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
+List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
+List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
+Reply-To: Libre-RISCV General Development
+ <libre-riscv-dev@lists.libre-riscv.org>
+Content-Type: multipart/mixed; boundary="===============1554574548999933317=="
+Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
+Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
+
+
+--===============1554574548999933317==
+Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature";
+ boundary="=-eeuK1rpHwsvYRkOYgnNX"
+
+
+--=-eeuK1rpHwsvYRkOYgnNX
+Content-Type: text/plain; charset="UTF-8"
+Content-Transfer-Encoding: quoted-printable
+
+On Sat, 2020-03-28 at 17:13 +0000, Luke Kenneth Casson Leighton wrote:
+> On Sat, Mar 28, 2020 at 4:45 PM Jean-Paul Chaput
+> <Jean-Paul.Chaput@lip6.fr> wrote:
+>=20
+> > The main reason here is still the lack of time. But there may be
+> > another problem. My python interface allow to mirror in Python
+> > the C++ function overload, but Python only allows one set of
+> > parameters, is that true or I'm lagging on Python features again?
+> > So how to describe a function with more than one parameter set?
+>=20
+> ah.
+>=20
+> right. with all the other things, i am going to focus on this one.
+> it is a major, serious failing in the ENTIRETY of the free software
+> community to COMPLETELY fail to comprehend this one, absolutely
+> critical thing.
+>=20
+> microsoft DCOM got it right (co-classes). as a result i was the ONLY
+> PERSON IN THE WORLD - i checked, emailing the IEXPLORE developer and
+> he kindly replied - to use the full power of IEXPLORE.DLL DCOM
+> bindings from python-comtypes. and by "full power" i mean "all 300
+> objects, all 2,000+ functions, and all 20,000 properties".
+>=20
+> the only reason that was possible - including the c++ functions which
+> had multiple overloads - was because of a property of DCOM called
+> "co-classes".
+>=20
+> when the Mozilla Foundation decided "oh! we! know! we! will copy!
+> DCOM! and call it! XPCOM! it'll be great!" they did NOT copy
+> co-classes, and consequently fucked EVERYONE around for the next 15
+> years who tried to develop third party xulrunner applications.
+
+ Funny, I remember well a student a while ago telling me that
+ I should use XUL to write the graphical interface of Coriolis.
+ I was already feeling like an old shmuck with my Qt...=20
+
+
+> so if you *have* successfully mirrored multiple c++ function-overloads
+> into python, GREAT! congratulations, you are amongst an absolute tiny
+> minority of programmers who have comprehended this, where the majority
+> are in systematic pathological failure and mental melt-down.
+
+ I did write it a long time ago, it is too complicated for what it
+ does. You can see an example in the PyHorizontal.cpp file and
+ look at PyHorizontal_create(). It is very dumb and tedious
+ programming. I intend to review it thoroughly when migrating
+ to Python 3. Basically it build the "signature" of the function
+ and is followed by a big "if" afterwards.
+ The Python "wrapper" is not something I'm very proud of as it
+ is only a big bunch of C macros. I'm not happy with the *way*
+ the code is generated, but on the other hand, I am happy with
+ the *generated* code and the fact that I can finely tune it.
+ I will try to make a more intensive use of C++ templates.
+ But not as much as in Boost as it becomes very, very slow to
+ compile (it's the reason why the Qt team abandoned it in favor
+ of another interface generator).
+
+--=20
+
+ .-. J e a n - P a u l C h a p u t / Administrateur Systeme
+ /v\ Jean-Paul.Chaput@lip6.fr
+ /(___)\ work: (33) 01.44.27.53.99 =20
+ ^^ ^^ cell: 06.66.25.35.55 home: 09.65.29.83.38
+
+ U P M C Universite Pierre & Marie Curie
+ L I P 6 Laboratoire d'Informatique de Paris VI
+ S o C System On Chip
+
+--=-eeuK1rpHwsvYRkOYgnNX--
+
+
+
+--===============1554574548999933317==
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: base64
+Content-Disposition: inline
+
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlicmUtcmlz
+Y3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3Jn
+Cmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNj
+di1kZXYK
+
+--===============1554574548999933317==--
+
+
+