On Sun, May 26, 2019 at 8:00 PM David Mertz <me...@gnosis.cx> wrote:
>
> On Sun, May 26, 2019, 1:12 PM Barry Scott <ba...@barrys-emacs.org> wrote:
>>
>> You said this: "Well, depends on how we define narrow ... you are writing 
>> probablythis email on a HDL designed machine ... and the entire world is 
>> powered by HDL designed silicons. that is not small for me at all."
>>
>> Which I take to mean that because there are billions of chips in the world 
>> there are billions of python users. And the change you want is justified by 
>> the billions of python users.
>
>
> I think the analogy is more like saying there are billions of Verilog users. 
> Chips designed using this software are probably more numerous than are human 
> beings, and nearly all humans use one or more such chips. This seems like a 
> poor line of reasoning though. There are really only maybe tens of thousands 
> of people in the world who use Verilog, and that is a nice target.

Thank you. It is definitely more than tens of thousands. I count only
the 20 big names and it is already at least tens of thousands. All in
all it should be a few millions. We should argue really from technical
point of view, in the spirit of python, if this is worth or not rather
than saying HDL is just too small a problem to address.

> Pursuing the same indirect reasoning, we could also claim there are billions 
> of users of PSS/E, something I had not heard of until a web search a few 
> minutes ago. Apparently this is software used in design of electrical 
> distribution systems, required to make all of those ICs operate at all. Or 
> software used for building the construction equipment needed to construct the 
> power lines and factories where chips are made. Or...

You know, Python and C are very close friends and operates almost like
natively together and you have things like Cython to ease the creation
of C-Python interface. If we look at the problem of building any
complicated piece of hardware, it almost certainly done in this way:
(1) C algo model -> (2) Virtual Prototype in SystemC (qemu-like
software model but with proper partitioning of sw/hw, hw is still kind
of a C model) -> (3) Verilog RTL model (Yes, RTL is actually just a
model too, which is easier to be translated to actual hardware
implementation). At each of the levels, it is a end-to-end complete
system, and yet in each level, there are a lot of things duplicated,
re-developed and eventually extremely difficult to have consistency.
The big picture I want to achieve is to replace those (1)(2)(3) with
Python + C  -> Python + C -> Python + C. Where the interface between
each layer can be easily unified through adapters and 99% of the
knowledge only need to be developed once (if it is developed in C
there will be a python interface).

> In any case, as I said, modifying the whole Python language to allow use of 
> exactly the same symbols as Verilog users, seems foolish to me.

Agree, that would be foolish. I would just ask for any way that
overloads assign but not messing up existing operators (think of HDL
signals as integers).

> That said, '<=' is already perfectly well available for non-blocking 
> assignment. '=' cannot be overriden, but it occurs to me that a custom class 
> could perfectly well use '==' for blocking assignment just by customizing a 
> class. Yes, that would require 'foo.eq(bar)' for the old meaning of equality 
> (or something similar), but it seems like assignment is more common than 
> equality checks in Verilog.

Not really, HDLs uses <= as less or equal than, as well as the
equality check VERY VERY often. The sad thing is when I went through
the entire python supported operators they can all be used with
signals ... including the matrix operator @/@=.
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to