whitequark
7cd6011981
Add typechecking for most builtin.
2015-06-26 11:16:08 +03:00
whitequark
752031147d
Add valid forms for builtin calls.
2015-06-24 12:16:17 +03:00
whitequark
4d407ace4b
Implement prelude.
2015-06-24 11:46:15 +03:00
whitequark
710a04cbee
Add builtin definitions for len(), round(), range() and syscall().
2015-06-24 11:28:24 +03:00
whitequark
8762729e80
Add types.TBuiltin.
2015-06-24 11:24:35 +03:00
whitequark
3adb4150f4
Fix type of Call.
2015-06-15 17:16:44 +03:00
whitequark
8c5e58f83c
Implement Call.
2015-06-15 16:55:13 +03:00
whitequark
a3789868f2
More friendly artiq.py2llvm.typing testbench.
2015-06-15 15:59:36 +03:00
whitequark
20e0e69358
Add support for function types and LambdaT.
...
Also fix scoping of Nonlocal.
2015-06-15 11:30:50 +03:00
whitequark
dbfdbc3c22
Add check for duplicate parameter names.
2015-06-15 09:05:24 +03:00
whitequark
d27bb3168d
Add support for ListComp.
2015-06-15 08:40:37 +03:00
whitequark
77adf2f6b5
Add support for With.
2015-06-14 23:13:41 +03:00
whitequark
cd22b8178c
Add support for Raise.
2015-06-14 23:02:28 +03:00
whitequark
20b7a73b49
Add support for Compare.
2015-06-14 22:48:04 +03:00
whitequark
fe69c5b465
Implement BinOp coercion rules for AugAssign.
2015-06-14 13:10:32 +03:00
whitequark
7b78e7de67
Add support for BinOp.
2015-06-14 12:07:13 +03:00
whitequark
faaf189961
Add support for Attribute.
2015-06-13 13:50:56 +03:00
whitequark
23f33d7239
Invert operand should be integer.
2015-06-13 13:45:09 +03:00
whitequark
1c48874a2a
Documentation.
2015-06-13 13:08:16 +03:00
whitequark
de6dff94cd
GeneratorExp also includes assignment context.
2015-06-13 12:58:45 +03:00
whitequark
4b4805265d
Add support for Break and Continue.
2015-06-13 12:10:30 +03:00
whitequark
55551714fa
Error out on unsupported statements.
2015-06-13 11:33:38 +03:00
whitequark
4c95647162
Split ASTTypedRewriter off Inferencer.
2015-06-13 11:33:03 +03:00
whitequark
61434a8da3
Split off builtins from types.
...
builtins will contain attribute definitions as well.
2015-06-13 10:29:26 +03:00
whitequark
3e2d104014
Make typing.Inferencer idempotent.
2015-06-13 09:32:53 +03:00
whitequark
c89bf6fae0
Add support for UnaryOp.
2015-06-12 08:59:41 +03:00
whitequark
df686136f1
Separate inference and asttyped transformation.
...
This allows to run inference several times on the same tree,
as would be necessary when coercion nodes are added.
2015-06-11 06:34:26 +03:00
whitequark
e18ea0daae
Better error reporting for List.
2015-06-11 04:36:52 +03:00
whitequark
4b7d4c2425
Add support for BoolOp.
2015-06-11 04:36:51 +03:00
whitequark
b8ce3f85bd
Refactor error reporting in _unify to factor out custom notes.
2015-06-11 04:36:28 +03:00
whitequark
ba9a7d087d
Add support for IfExp.
2015-06-11 04:36:03 +03:00
whitequark
9953302cb6
Move old py2llvm code to artiq/py2llvm_old.
2015-06-11 02:58:29 +03:00
whitequark
159692339d
Add tests for all diagnostics and unifications.
2015-06-06 18:05:06 +03:00
whitequark
a8ff9d0152
AugAssign does not create a binding.
2015-06-06 17:55:04 +03:00
whitequark
98fe152159
Add lit-based tests for diagnostics.
2015-06-06 17:15:06 +03:00
whitequark
7f77632f1a
Add lit-based tests for type inferencer.
2015-06-06 16:58:23 +03:00
whitequark
5f06c6af10
Add support for Return.
2015-06-06 15:12:56 +03:00
whitequark
d08598fa0f
Add support for NameConstant.
2015-06-06 15:12:40 +03:00
whitequark
eb76f594a0
Replace single-quoted strings with double-quoted.
2015-06-05 12:04:27 +03:00
whitequark
6c3b5a95ee
Use proper format function.
2015-06-04 17:53:38 +03:00
whitequark
4b01e604db
Make unification reflective.
2015-06-04 14:50:32 +03:00
whitequark
1a08b50f0a
Use a single type printer for inference errors.
...
This way, type variable names will be consistent among all
printed diagnostics.
2015-06-04 14:50:32 +03:00
whitequark
c9623a106e
Error out on unsupported expressions by default.
2015-06-04 14:50:32 +03:00
whitequark
10a269d77e
Better error message for List inference.
2015-06-04 14:42:45 +03:00
whitequark
995d84d4ee
Add inferencing for Tuple, List, For.
2015-06-04 14:13:49 +03:00
whitequark
76ce364fea
Implement inferencing for AugAssign.
2015-06-04 11:52:15 +03:00
whitequark
f979a76c7c
Require nonlocal names to be bound in an outer scope.
2015-05-30 08:06:19 +03:00
whitequark
56d1a9bc57
Shorten the unification error message when too redundant.
2015-05-29 10:01:22 +03:00
whitequark
abbc87e981
Add new type inferencer.
2015-05-29 09:53:24 +03:00
whitequark
c75fd6bc88
Replace builtin ast with pythonparser.ast.
2015-05-27 17:04:18 +03:00
f30d671359
test/worker: adapt to priority API
2015-05-24 23:38:05 +08:00
5fb86af3a4
gui: support experiment cancellation
2015-05-24 23:20:52 +08:00
ae4615281f
pyon/store_file: replace previous file atomically
2015-05-24 21:26:15 +08:00
fc449509b8
scheduler: pass priority to experiments
2015-05-24 20:37:47 +08:00
e611e17eeb
gui: experiment submission
2015-05-24 20:24:07 +08:00
a21373841c
scheduler: catch worker exceptions in prepare and analyze stages
2015-05-24 20:23:49 +08:00
d6ced1c780
scheduler: support priorities
2015-05-24 01:09:22 +08:00
2f910921f5
gui: console -> log
2015-05-24 00:38:30 +08:00
d9c25130e3
gui: add explorer widgets
2015-05-23 01:25:33 +08:00
2570444941
gui: add empty explorer and console docks
2015-05-22 23:30:46 +08:00
Yann Sionneau
d78a275655
pxi6733: use a method as DoneEvent callback
2015-05-22 16:08:07 +02:00
ea53ed1af7
gui: switch to Qt
2015-05-22 17:06:31 +08:00
Yann Sionneau
c91cd0ab38
pxi6733: use a writeable and c_contiguous numpy ndarray
2015-05-21 18:05:32 +02:00
785623be26
test/worker: adapt to new scheduler API
2015-05-21 16:41:45 +08:00
a670b9f660
tools/asyncio_wait_or_cancel: wait for cancellation
2015-05-21 16:41:27 +08:00
d8917fd94f
Merge branch 'master' of github.com:m-labs/artiq
2015-05-17 16:11:16 +08:00
b74b8d5826
Scheduling TNG
2015-05-17 16:11:00 +08:00
Yann Sionneau
e9b166b199
artiq_flash.sh: some cleanup
2015-05-14 11:12:03 +02:00
e557d7e2df
Merge branch 'master' of github.com:m-labs/artiq
2015-05-14 00:16:27 +08:00
cbb5027343
gateware/ad9858: use WaitTimer from Migen
2015-05-14 00:16:15 +08:00
a62ae1d8d7
test/transforms: adapt to 'now' save on core device
2015-05-12 23:06:33 +08:00
ce4b5739ed
runtime: reset all DDSes upon startup
2015-05-09 17:12:38 +08:00
1ceb06fb16
dds: use context manager for batches
2015-05-09 14:47:40 +08:00
fdc406f062
transforms/inline: support user-defined context managers
2015-05-09 14:47:08 +08:00
5c08423b29
dds: support batches in driver
2015-05-08 22:17:06 +08:00
55f2fef576
runtime: support DDS batches
2015-05-08 16:51:54 +08:00
53c6339307
runtime: break ttl-specific functions from rtio
2015-05-08 16:20:12 +08:00
a36c51eb83
DDS over RTIO (batch mode not supported yet)
2015-05-08 14:44:39 +08:00
a91bb48ced
gateware: adapt to misoc changes
2015-05-06 18:02:15 +08:00
9072647bdc
ad9858: make read timing configurable, increase read delays
2015-05-05 19:33:34 +08:00
2adf9d91df
recover_underflow -> break_realtime
2015-05-03 20:45:28 +08:00
4048568d8e
support kernel handover with coherent time
2015-05-02 23:41:49 +08:00
cb65b1e322
rtio/phy/ttl_simple: reset sensitivity with RTIO logic
2015-05-02 16:17:31 +08:00
a61d701d47
rtio: decouple PHY reset from logic reset
2015-05-02 11:47:11 +08:00
65b4b7bb12
coredevice: rename rtio to ttl, integrated in+out driver, loopback on the same pin in tests
2015-05-02 10:35:21 +08:00
62669f9ff2
soc: factor timer, kernel CPU and mailbox
2015-05-01 18:51:24 +08:00
1684586ae8
test: add unittest for core device watchdog
2015-05-01 14:02:31 +08:00
109dfab76c
frontend: add artiq_mkfs
2015-04-30 20:03:11 +08:00
8a796a6818
artiq_run/ELFRunner: create a core device object (necessary for runtime exception processing)
2015-04-30 10:16:24 +08:00
Zach Smith
5df446ec4b
artiq_flash.sh: fix Pipistrello flash proxy filename
2015-04-30 09:24:13 +08:00
967145f2dc
watchdog support on core device (broken by bug similar to issue #19 )
2015-04-29 12:58:37 +08:00
9ecbb4c88d
gateware/amp/mailbox: simplify
2015-04-29 12:56:21 +08:00
e5f7fcc339
coredevice/comm_tcp: raise exception on connection closed
2015-04-29 11:18:51 +08:00
283695e8aa
language/core: integrate watchdogs
2015-04-28 23:23:59 +08:00
9b62e7e77b
runtime,coredevice: support session reset for serial
2015-04-28 02:11:58 +08:00
27d94a22de
rtio: expose full_ts_width instead of counter_width parameter
2015-04-28 01:38:11 +08:00
dc14728264
test/full_stack: use Ethernet
2015-04-28 01:33:37 +08:00
8a19766278
runtime,comm_generic: improve and fix list encoding
2015-04-28 01:31:55 +08:00
86c012924e
targets: rename AMP->Top, merge peripherals
2015-04-28 00:18:54 +08:00
938e1c2842
Remove UP support.
...
The only advantage of UP is to support the Papilio Pro, but that port is also very limited in other ways and the Pipistrello provides a more reasonable platform that also supports AMP.
On the other hand, RPCs on UP are difficult to implement with the session.c protocol system (without an operating system or coroutines), along with many other minor difficulties and maintainance issues. Planned features such as watchdogs in the core device are also difficult on UP.
2015-04-27 20:43:45 +08:00