Zahary Karadjov
fee2a7ecfa
Experimental support for delayed instantiation of generics
...
This postpones the semantic pass over the generic's body until
the generic is instantiated. There are several pros and cons for
this method and the capabilities that it enables may still be possible
in the old framework if we teach it a few new trick. Such an attempt
will follow in the next commits.
pros:
1) It allows macros to be expanded during generic instantiation that
will provide the body of the generic. See ``tmacrogenerics``.
2) The instantiation code is dramatically simplified. Dealing with unknown
types in the generic's body pre-pass requires a lot of hacky code and error
silencing in semTypeNode. See ``tgenericshardcases``.
cons:
1) There is a performance penalty of roughly 5% when bootstrapping.
2) Certain errors that used to be detected in the previous pre-pass won't
be detected with the new scheme until instantiation.
2013-08-23 01:10:20 +03:00
Araq
a8c8a85135
Merge branch 'master' of github.com:Araq/Nimrod
2013-08-22 19:28:58 +02:00
Araq
6f1fc1b5ba
fixed and documented computedGoto pragma
2013-08-22 08:38:47 +02:00
Zahary Karadjov
3e79e9f981
some steps to improve the type mismatches with the new
...
generic instantiation logic
2013-08-19 01:45:16 +03:00
Zahary Karadjov
c6d0611112
Revert "Revert "made some tests green""
2013-08-19 01:35:33 +03:00
Zahary Karadjov
fc858927f0
Revert "Revert "fix tforwardgeneric""
...
This reverts commit e3f93241c3 .
2013-08-19 01:29:47 +03:00
Zahary Karadjov
f127bc387a
Revert "Revert "test cases for the new features""
...
This reverts commit e1b668c868 .
2013-08-19 01:17:07 +03:00
Araq
d53f313599
implemented computed goto support
2013-08-13 11:21:02 +02:00
Araq
b1d4dfa6b1
fixes #544
2013-07-24 22:32:09 +02:00
Araq
dfe195a4a1
fixes #501
2013-07-01 20:25:38 +02:00
Araq
b6f2902905
Merge branch 'master' of github.com:Araq/Nimrod
2013-06-27 19:57:24 +02:00
Dominik Picheta
a9f2c3ffaf
Fixed OSError + recvLine deprecation warnings.
2013-06-27 15:06:30 +01:00
Araq
8d4f5038d0
fixes #488
2013-06-27 08:19:03 +02:00
Araq
2aaa8f7909
implemented dataflow analysis; activate via --warning[Uninit]:on
2013-06-04 21:58:39 +02:00
Araq
24955f8358
fixes #458
2013-05-31 02:27:05 +02:00
Araq
e3f93241c3
Revert "fix tforwardgeneric"
...
This reverts commit d82a032566 .
2013-05-27 23:18:15 +02:00
Araq
c67abd7e61
Revert "more test made green"
...
This reverts commit 911e6e710f .
2013-05-27 23:16:56 +02:00
Araq
e1b668c868
Revert "test cases for the new features"
...
This reverts commit 66653e8f14 .
2013-05-27 23:16:00 +02:00
Zahary Karadjov
66653e8f14
test cases for the new features
2013-05-26 22:15:30 +03:00
Zahary Karadjov
911e6e710f
more test made green
...
the lambda lifting was trying too hard to ignore generic prods
isGenericRoutine was producing false-negatives and only
this allowed for some of the warning and error messages
to be triggered.
some files with mixed line endings were fixed
2013-05-26 21:06:39 +03:00
Zahary Karadjov
d82a032566
fix tforwardgeneric
2013-05-26 15:12:09 +03:00
Zahary Karadjov
1d29d24465
documented the `noforward` pragma
2013-05-12 16:14:28 +03:00
Araq
2d39a18faa
better effects handling for callbacks
2013-05-09 03:20:55 +02:00
Araq
af441e607f
fixes #117
2013-05-04 13:21:36 +02:00
Araq
75b508032b
added manyloc test suite; --path now relative to project dir if not absolute
2013-04-13 21:55:02 +02:00
Araq
18fbaab216
fixes #310
2013-04-13 01:09:15 +02:00
Araq
3cb3813eed
fixes #287 ; bugfix: subrange checking is performed again
2013-04-12 16:24:58 +02:00
Araq
45185f84df
cleanup of tests; use 'koch install' instead of 'install.sh' for a bootstrapping build
2013-04-11 17:28:17 +02:00
Araq
dc65ccde01
fixes #368
2013-04-08 19:58:16 +02:00
Araq
0761b449ed
fixes #304
2013-03-18 00:22:21 +01:00
Araq
6ed18a8b24
fixes #366
2013-03-17 20:11:16 +01:00
Grzegorz Adam Hankiewicz
72a3e21f28
Removes executable bit for text files.
2013-03-16 23:53:07 +01:00
Zahary Karadjov
81a3585872
merged upstream master
2013-01-27 23:41:45 +02:00
Araq
b0b4150df1
Merge pull request #316 from gradha/pr_renames_each_to_map
...
Renames each proc to map, each is left deprecated.
2013-01-23 13:30:26 -08:00
Grzegorz Adam Hankiewicz
91700f29e7
Renames each proc to map, each is left deprecated.
2013-01-22 21:41:26 +01:00
Araq
09e4b194f5
bootstrapping works again
2013-01-22 00:37:33 +01:00
Araq
0d978c4a9a
fixed some closure related bugs
2013-01-22 00:29:54 +01:00
Araq
9257c29ffd
small bugfix for lambdalifting; preparations for a better testing framework
2013-01-19 02:09:08 +01:00
Araq
e6fc044107
fixes #299
2013-01-08 18:20:40 +01:00
Araq
20a5e37169
fixes #270
2013-01-08 17:23:52 +01:00
Araq
1bc5ff6dc9
fixes #292
2013-01-08 08:11:21 +01:00
Dominik Picheta
da609fc445
Fixed many deprecation warnings. asyncio.recvLine now throws an
...
exception when an error occurs. Added sockets.SocketError.
2012-12-23 14:05:16 +00:00
Araq
1d842e8b75
Merge branch 'master' of github.com:Araq/Nimrod
2012-12-06 07:10:19 +01:00
Araq
38ab30d153
implemented generic converters
2012-12-05 22:03:36 +01:00
Araq
6ce15652d3
Merge branch 'master' of github.com:Araq/Nimrod
2012-12-02 11:13:05 +01:00
Araq
c98e3d2c27
implements 'export' feature
2012-12-01 19:10:47 +01:00
Zahary Karadjov
e9e22ccb2a
track the "owner" heap object in the ref write barrier
...
See the papers for reference counting with heap sliding views for details:
2012-12-01 15:37:13 +02:00
Araq
f503439e81
implements 'import dir/module' without quotes
2012-11-30 19:57:23 +01:00
Araq
da5ba6ce62
resolved conflicts
2012-11-30 02:09:04 +01:00
Araq
0ef08e49e7
bugfix: better implict 'items' support
2012-11-28 19:57:41 +01:00