From: Jean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
To: libre-riscv-dev@lists.libre-riscv.org
Subject: Re: [libre-riscv-dev] extremely busy crowdsupply update started
Date: Tue, 31 Mar 2020 10:17:25 +0200
Message-ID: <752371e7a9de77d78305af838989817bfec4fda8.camel@lip6.fr> (raw)
In-Reply-To: <CAPweEDyJKoUdHeDrQTHLWj7S42T=FDwj6bsnvCPoFHaf7bGy-Q@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 3271 bytes --]
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:
>
> > 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?
>
> ah.
>
> 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.
>
> 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".
>
> the only reason that was possible - including the c++ functions which
> had multiple overloads - was because of a property of DCOM called
> "co-classes".
>
> 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...
> 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).
--
.-. 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
^^ ^^ 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
[-- Attachment #2: Type: text/plain, Size: 177 bytes --]
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev
next prev parent reply index
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-26 21:03 Luke Kenneth Casson Leighton
2020-03-27 5:49 ` Jacob Lifshay
2020-03-27 8:47 ` Luke Kenneth Casson Leighton
2020-03-27 21:31 ` Jacob Lifshay
2020-03-27 21:36 ` Luke Kenneth Casson Leighton
2020-03-31 4:18 ` Jacob Lifshay
2020-03-27 14:39 ` Immanuel, Yehowshua U
2020-03-27 15:49 ` Luke Kenneth Casson Leighton
2020-03-27 16:35 ` Tobias Platen
2020-03-27 19:20 ` Luke Kenneth Casson Leighton
2020-03-27 21:29 ` Jacob Lifshay
2020-03-27 21:32 ` Luke Kenneth Casson Leighton
2020-03-28 11:52 ` Luke Kenneth Casson Leighton
2020-03-27 16:56 ` Michael Nolan
2020-03-27 19:21 ` Luke Kenneth Casson Leighton
2020-03-28 8:09 ` Jock Tanner
2020-03-28 10:02 ` Luke Kenneth Casson Leighton
2020-03-28 16:44 ` Jean-Paul Chaput
2020-03-28 17:13 ` Luke Kenneth Casson Leighton
2020-03-31 8:17 ` Jean-Paul Chaput [this message]
2020-03-31 9:31 ` Luke Kenneth Casson Leighton
2020-03-31 9:32 ` Luke Kenneth Casson Leighton
2020-03-31 9:38 ` [libre-riscv-dev] pyobjc, gnu objective-c and gnustep Luke Kenneth Casson Leighton
2020-03-31 11:42 ` lkcl .
2020-03-31 14:11 ` Jean-Paul Chaput
2020-03-31 14:30 ` lkcl .
2020-03-31 16:16 ` Jacob Lifshay
2020-03-28 17:14 ` [libre-riscv-dev] extremely busy crowdsupply update started Luke Kenneth Casson Leighton
2020-03-28 23:16 ` Luke Kenneth Casson Leighton
2020-03-29 13:23 ` Jock Tanner
2020-03-29 13:46 ` Luke Kenneth Casson Leighton
2020-03-29 10:46 ` Jock Tanner
2020-03-29 11:22 ` Luke Kenneth Casson Leighton
2020-03-29 16:05 ` Immanuel, Yehowshua U
2020-03-29 16:26 ` Luke Kenneth Casson Leighton
2020-03-28 18:07 ` Michael Nolan
2020-03-28 18:33 ` Luke Kenneth Casson Leighton
2020-03-31 11:17 ` Luke Kenneth Casson Leighton
2020-03-29 3:14 ` Immanuel, Yehowshua U
2020-03-29 3:15 ` Immanuel, Yehowshua U
2020-03-31 11:26 ` Luke Kenneth Casson Leighton
2020-03-31 18:09 ` Luke Kenneth Casson Leighton
2020-03-31 18:14 ` Luke Kenneth Casson Leighton
2020-04-01 1:51 ` [libre-riscv-dev] name change announcement on crowdsupply Jacob Lifshay
2020-04-01 1:52 ` Jacob Lifshay
2020-04-01 10:57 ` Luke Kenneth Casson Leighton
2020-04-01 17:31 ` Jacob Lifshay
2020-04-01 17:44 ` Luke Kenneth Casson Leighton
2020-03-31 18:35 ` [libre-riscv-dev] extremely busy crowdsupply update started Cole Poirier
2020-03-31 23:11 ` Cole Poirier
2020-04-01 10:08 ` Luke Kenneth Casson Leighton
2020-04-01 10:54 ` Luke Kenneth Casson Leighton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=752371e7a9de77d78305af838989817bfec4fda8.camel@lip6.fr \
--to=jean-paul.chaput@lip6.fr \
--cc=libre-riscv-dev@lists.libre-riscv.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Libre RISC-V Mailing list Archives (accessible via public-inbox)
Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev
Example config snippet for mirrors
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git