Matus Tejiscak
934cb29a80
Fix paths in record004.
2020-04-21 23:45:55 +02:00
Matus Tejiscak
f4fa0340c1
Fix merge fallout.
2020-04-21 23:32:49 +02:00
Matus Tejiscak
e49364ff56
Merge branch 'master' into records
2020-04-21 23:11:40 +02:00
Matus Tejiscak
cb02395acb
Rename record003 to record004.
2020-04-21 22:56:20 +02:00
Edwin Brady
be8b157ead
Merge pull request #290 from LibreCybernetics/minor-unicode-identifier-fixes
...
Refactor Parser.Lexer.{ident, OpCode} for reuse in IDEMode
2020-04-21 18:09:58 +01:00
Edwin Brady
1a41a265b9
Merge pull request #299 from chrrasmussen/fix-chez-in-folder-with-spaces
...
Allow spaces in file path for generated Chez programs
2020-04-21 17:04:37 +01:00
Fabián Heredia Montiel
6ea8b477ed
Refactor ident to reuse in IDEMode, fixes out of sync bug.
...
Related: 1a4f424259
on 2019-September-28
2020-04-21 09:37:36 -05:00
Christian Rasmussen
2a3213d10a
Merge branch 'master' into fix-chez-in-folder-with-spaces
2020-04-21 15:01:01 +02:00
Edwin Brady
2b6000ecac
Shuffle some tests around
...
Making sure that tests which use chez are run after we've checked chez
is installed
2020-04-21 12:03:49 +01:00
Edwin Brady
2ad1621a3e
Regression test for using named implementations
2020-04-21 11:51:44 +01:00
Edwin Brady
d39c701f28
Add 'using' hints at the right time
...
They need to be added before checking the top level types of the
interface methods, because those types will use them.
Fixes #291
2020-04-21 11:47:35 +01:00
Edwin Brady
71cae356e2
Merge pull request #281 from ziman/fix-cast-double-int
...
Fix cast to integral types
2020-04-21 11:24:09 +01:00
Edwin Brady
627d2c2f2b
Merge pull request #292 from ohad/fully-abstract-records
...
Fully abstract records
2020-04-21 10:59:51 +01:00
Edwin Brady
9aca77c5dd
Merge pull request #293 from gallais/casetree
...
Refactoring code as I read through it
2020-04-21 10:54:12 +01:00
Edwin Brady
60c4f8e178
Merge pull request #287 from Porges/patch-1
...
Fix Idris1 download link
2020-04-21 10:52:00 +01:00
Edwin Brady
afa90c6ddc
Merge pull request #284 from abailly/integral-operations
...
use quotient on scheme backends
2020-04-21 10:51:18 +01:00
Edwin Brady
8a0063a016
Merge pull request #280 from gallais/comments
...
[ fix #279 ] comment delimiters with more than one dash
2020-04-21 10:49:24 +01:00
Edwin Brady
69e774bd00
Merge branch 'jeetu7-master'
2020-04-21 10:48:11 +01:00
Edwin Brady
9930b64c1c
Merge branch 'master' of https://github.com/jeetu7/Idris2 into jeetu7-master
2020-04-21 10:47:38 +01:00
Edwin Brady
ac277ce6d0
Erase the World, with care
...
We can erase things of type %World, which opens up more possibilities of
newtype and helps optimise IO, but we need to be sure that the side
effecting operations aren't optimised away as a result because we no
longer have to inspect the newtype. Therefore, if optimising away a case
analysis on a newtype with a %World deleted, add a let binding for the
scrutinee of the case, and flag it as non-inlinable.
2020-04-21 10:47:19 +01:00
Edwin Brady
5ea11cf0f5
Merge pull request #282 from abailly/network-binary
...
provide building blocks for binary network I/O
2020-04-21 10:45:52 +01:00
Edwin Brady
d3d5e22011
Merge pull request #274 from ska80/tutorial/typos
...
Fix some typos in the tutorial
2020-04-21 10:39:53 +01:00
Edwin Brady
4b65d8d6fc
Merge pull request #273 from jfdm/badges
...
Added a travis badge because it's good to have badges...
2020-04-21 10:39:09 +01:00
Edwin Brady
7cd9964d4f
Comment correction
...
The comments don't get type checked, but this was rather important :).
2020-04-19 23:45:30 +01:00
Edwin Brady
f6bbfb3dee
Remove costly 'swapBlocks' in lambda lifter
...
No need if we separate the context into arguments from the outer scope,
and arguments from the current scope. Needs care to compile correctly,
though.
2020-04-19 23:42:13 +01:00
Edwin Brady
1734841275
Add a lambda lifter
...
It's not actually used as part of any compilation pipeline yet, and I've
only tested it by eyeballing the output, but it'll be useful soon, and
it's good for it to be available to any new back ends that might need
it. It will need some optimisation.
2020-04-19 22:57:10 +01:00
Edwin Brady
8fccd5f2a3
Properly erase constructor arguments
...
That is, really erase the argument position rather than just putting
'erased there. It doesn't make a huge difference to the generated scheme
performance, but since we can always do this for constructors, we might
as well.
2020-04-19 19:43:51 +01:00
Edwin Brady
44c01f83d2
Move outermost lambdas to top level
...
This improves runtime performance a bit since it avoids creating some
unnecessary closures (and is a preliminary step to lambda lifting, which
might help for some back ends).
2020-04-19 16:49:25 +01:00
Matus Tejiscak
ae6e7a7d95
Fix record projections.
2020-04-19 00:35:34 +02:00
Christian Rasmussen
4d2b270db6
Allow spaces in file path for generated Chez programs
2020-04-18 18:18:02 +02:00
Matus Tejiscak
f37d69ceb7
Add tests/idris2/record003.
2020-04-18 14:04:30 +02:00
Matus Tejiscak
b977bc1974
Fix dotted getters in parameters blocks.
2020-04-18 13:56:51 +02:00
Matus Tejiscak
ae8e9c5f6d
Use a local function to parse names.
2020-04-18 12:52:00 +02:00
Matus Tejiscak
2d02899679
Adjust some tests.
2020-04-18 12:19:17 +02:00
Matus Tejiscak
3e398584b3
Print non-namespaced idents backwards-compatibly.
2020-04-18 12:00:23 +02:00
Matus Tejiscak
f834c283ea
Use pragmas in the TTImp parser.
2020-04-18 11:49:15 +02:00
Matus Tejiscak
d30c108a9b
Print record updates with dots.
2020-04-18 11:41:33 +02:00
Matus Tejiscak
a997a4b8fe
Make the record update syntax use dots.
2020-04-18 11:38:45 +02:00
Matus Tejiscak
d1bcb124b6
More fixes.
2020-04-18 10:01:19 +02:00
Matus Tejiscak
c53e675c33
Add %undotted_record_projections pragma.
2020-04-18 01:10:56 +02:00
Matus Tejiscak
3469e033ed
Disambiguate RF and UN properly.
2020-04-18 00:53:12 +02:00
Matus Tejiscak
8a0d1b29c7
Also generate old-style projections.
2020-04-18 00:35:24 +02:00
Matus Tejiscak
32de5f0966
Enable Namespace.(.field).
2020-04-18 00:22:16 +02:00
Matus Tejiscak
b745ec0e8b
Fix userNameRoot.
2020-04-17 23:13:40 +02:00
Matus Tejiscak
85019a75d9
More fixups.
2020-04-17 22:48:54 +02:00
Matus Tejiscak
c36250f271
Fix operator names.
2020-04-17 21:55:49 +02:00
Matus Tejiscak
c450d82087
Fix keywords.
2020-04-17 21:51:10 +02:00
Matus Tejiscak
6987685b55
Lex pragmas separately.
2020-04-17 21:32:39 +02:00
Matus Tejiscak
898095a074
More fixups.
2020-04-17 21:17:07 +02:00
Matus Tejiscak
ab04e95ce7
Specialise dotted namespaces as lexemes.
2020-04-17 20:08:56 +02:00