Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
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

  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