Commit graph

198 commits

Author SHA1 Message Date
Araq
e874705971 fixes nested gensym'ed parameters; fixes #9476 2018-12-08 13:30:06 +01:00
Araq
7a0191ac7e fixes #9441 2018-12-06 08:06:54 +01:00
Araq
9eaf99f7e6 lambdalifting: be consistent in its handling for 'func' 2018-12-05 11:25:47 +01:00
cooldome
eaca5be9d6 Change the order of compilation passes, transformation is made lazy at code gen (#8489)
* Ast no transformation
* Add getImplNoTransform to the macros module
* progress on delaying transf
* Fix methods tranformation
* Fix lazy lambdalifting
* fix create thread wrapper
* transform for lambda lifting
* improve getImplTransformed
* Fix destructor tests
* try to fix nimprof for linux
2018-10-18 20:21:25 +02:00
Miran
e8cf289bee improve error message, closes #2361 (#9387)
* improve error message

* use single % operation
2018-10-17 00:18:51 +02:00
LemonBoy
1fc3a68205 Access implicit result trough envP in closures (#8471)
Reuse the existing machinery, most of the changes are only needed to
handle the `result = result` node in nkReturnStmt produced by the
closure iterator transform.

Fixes #338
2018-07-30 08:34:15 +02:00
Araq
1074cc1fb9 fixes yet another merge conflict 2018-06-11 17:17:34 +02:00
Yuriy Glukhov
5c449c8cd1 Removed oldIterTranf feature 2018-06-10 23:42:53 +03:00
Araq
8e9551b1c7 fixex merge conflicts 2018-06-08 19:50:36 +02:00
Andreas Rumpf
61fb83ecbb baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
Andreas Rumpf
40ec7be45c refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
Andreas Rumpf
669a564492 remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
Andreas Rumpf
feef109e60 make tests green again 2018-05-18 20:53:41 +02:00
Araq
2a7fc84c86 remove ast.emptyNode global; cleanup configuration.nim 2018-05-16 03:06:07 +02:00
Yuriy Glukhov
cfe40a3e6e Merge branch 'devel' into yield-in-try 2018-05-15 19:54:52 +03:00
Andreas Rumpf
328e7a1005 options.nim: no global variables anymore 2018-05-13 17:52:21 +02:00
Andreas Rumpf
1310279691 lambda lifting compiles again 2018-05-12 08:30:55 +02:00
Yuriy Glukhov
d99c82bc3b Cosmetics 2018-05-09 22:25:28 +03:00
Yuriy Glukhov
0b5883c21e Small fix and cosmetics 2018-05-09 22:25:28 +03:00
Yuriy Glukhov
d71f69ab50 Closure iter transformation 2018-05-09 22:25:27 +03:00
treeform
35b0cc67e8 Remove PHP backend. (#7606)
* remove php

* fix

* keep nimphpext

* remove targetJS enum
2018-04-18 20:40:11 +02:00
Zahary Karadjov
10142e4a80 Fix some usages of typedesc in async procs
This also fixes a compilation error in modules, based only on the
new async module (i.e. not importing the full asyncdispatch)
2018-04-13 13:31:55 +03:00
Araq
d738ed9c92 better error messages for illegal captures 2018-03-19 19:39:44 +01:00
Andreas Rumpf
e4081a7201 preparations for language extensions: 'sink' and 'lent' types 2018-01-07 23:09:26 +01:00
Araq
ee67a67ac4 first steps in adding template/macro calls to stack traces 2017-12-21 10:03:33 +01:00
Araq
e0591d4941 fixes #6626 2017-12-15 15:33:43 +01:00
Araq
8cc268876a bugfix: detect captures in non-closure inner procs 2017-11-03 18:05:14 +01:00
Andreas Rumpf
1a61c4d46d first implementation of the 'func' keyword 2017-09-23 23:22:53 +02:00
Andreas Rumpf
ad608838bf closures have an object type field so that we can perform correct deepCopy() for the BoehmGC target 2017-07-22 11:10:52 +02:00
Arne Döring
92c2a51bf7 removed compiler internal list implementation (#5371) 2017-02-22 17:33:12 +01:00
Andreas Rumpf
39b25cf4dc simple closure iterator calling closure iterator works; refs #3837 2016-12-27 09:51:58 +01:00
Araq
c743b2969f closure types get names; refs #4332 2016-11-29 20:21:56 +01:00
Andreas Rumpf
d165364aac minor steps to make closure iterators work with the JS backend 2016-09-12 23:04:19 +02:00
Andreas Rumpf
299351a909 fixes #4070 2016-05-11 18:16:25 +02:00
Andreas Rumpf
5757ad858c fixes #3995 2016-04-03 18:12:25 +02:00
Andreas Rumpf
81d144e3b4 no LL for PHP 2016-02-06 15:39:56 +01:00
Araq
38da21fc62 fixes #3730 2016-01-18 13:48:58 +01:00
Andreas Rumpf
2309975f78 fixes yet another LL regression (Aporia compiles again) 2016-01-18 03:00:14 +01:00
Andreas Rumpf
3838cd0066 fixes iterator codegen regression 2016-01-14 10:52:18 +01:00
Andreas Rumpf
9097033b4e fixes yet another regression 2016-01-13 13:47:13 +01:00
Andreas Rumpf
d0709cc758 fixes more regressions 2016-01-13 03:03:59 +01:00
Andreas Rumpf
5be6c95d21 fixes async regression 2016-01-11 11:11:44 +01:00
Andreas Rumpf
98cc99cbcf fixes all known regressions 2016-01-06 11:26:52 +01:00
Andreas Rumpf
1a2bda45ec fixes #2007 2016-01-05 10:20:24 +01:00
Andreas Rumpf
290b7e117e minor bugfix 2016-01-04 14:47:46 +01:00
Andreas Rumpf
3d7c57db88 fixes #2659 2016-01-04 03:10:09 +01:00
Andreas Rumpf
91e9cb64e9 fixes #3201, fixes #2766 2016-01-04 02:45:20 +01:00
Andreas Rumpf
159a2ff955 fixes #3636 2016-01-04 02:04:59 +01:00
Andreas Rumpf
8fb6865b24 fixes #1725 2016-01-04 00:51:45 +01:00
Andreas Rumpf
b4c62d5fed async works again 2016-01-03 23:20:53 +01:00