Read Watches
Project description
### Disclaimer
dutc = Don't Use This Code (!!)
# Compatibility
* Python 3.5 or higher
* Linux or OS X
* need build toolchain (prob. need `gcc`)
# Read Watches in Python
```python
>>> import rwatch # enable functionality
>>> from sys import setrwatch, getrwatch
>>> x, y, z = object(), object(), object()
>>> def view(frame, obj):
... print(frame, obj)
... return obj
...
>>> setrwatch({id(x): view, id(y): view})
>>> getrwatch()
{139825758638208: <function view at 0x7f2bb89a59d8>, 139825758638224: <function view at 0x7f2bb89a59d8>}
>>> x
<frame object at 0x7f2bb8ad9ba8> <object object at 0x7f2bb8ac9080>
<object object at 0x7f2bb8ac9080>
>>> y
<frame object at 0x7f2bb8ad9d48> <object object at 0x7f2bb8ac9090>
<object object at 0x7f2bb8ac9090>
>>> z
<object object at 0x7f2bb8ac90a0>
```
# Lessons:
* read watches are a very useful tool for debugging
* it's actually very useful for a language to have a runtime
* there are some hidden equivalencies between, e.g., read watches and perfect proxy objects
dutc = Don't Use This Code (!!)
# Compatibility
* Python 3.5 or higher
* Linux or OS X
* need build toolchain (prob. need `gcc`)
# Read Watches in Python
```python
>>> import rwatch # enable functionality
>>> from sys import setrwatch, getrwatch
>>> x, y, z = object(), object(), object()
>>> def view(frame, obj):
... print(frame, obj)
... return obj
...
>>> setrwatch({id(x): view, id(y): view})
>>> getrwatch()
{139825758638208: <function view at 0x7f2bb89a59d8>, 139825758638224: <function view at 0x7f2bb89a59d8>}
>>> x
<frame object at 0x7f2bb8ad9ba8> <object object at 0x7f2bb8ac9080>
<object object at 0x7f2bb8ac9080>
>>> y
<frame object at 0x7f2bb8ad9d48> <object object at 0x7f2bb8ac9090>
<object object at 0x7f2bb8ac9090>
>>> z
<object object at 0x7f2bb8ac90a0>
```
# Lessons:
* read watches are a very useful tool for debugging
* it's actually very useful for a language to have a runtime
* there are some hidden equivalencies between, e.g., read watches and perfect proxy objects
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dutc-rwatch-0.1.1.tar.gz
(45.9 kB
view details)
File details
Details for the file dutc-rwatch-0.1.1.tar.gz.
File metadata
- Download URL: dutc-rwatch-0.1.1.tar.gz
- Upload date:
- Size: 45.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa860827fb26911719cd93f085bfca7eab06e89eb89e181cd40a0e238d2815fd
|
|
| MD5 |
d5bfaee0e85d952a1c4d6efd799a4208
|
|
| BLAKE2b-256 |
1e97883396bf85c3885ae192228a72a31eb7aea47bc18b5a89083bce456d7413
|