Commit Graph

559 Commits

Author SHA1 Message Date
Michael Messer
709b97c2d7
Add it to REPL (#887)
Co-authored-by: Michael Messer <michaelmesser@users.noreply.github.com>
2020-12-29 23:52:03 +00:00
Edwin Brady
d67a6fd444
Merge pull request #740 from Russoul/name-at
Add NameAt to Ide mode
2020-12-29 21:04:49 +00:00
Michael Messer
9a20564bb4 Add :! to REPL
Runs shell command
2020-12-29 19:19:43 +00:00
Edwin Brady
0f714f68e0 Compatibility fixes
For compatibility with previous library verions, so that we can build
with 0.2.1(+patches) as well as bootstrapping.
2020-12-29 16:36:12 +00:00
Edwin Brady
7e8ef1f10e
Merge pull request #878 from edwinb/localhint
Treat local hints differently in auto search
2020-12-27 14:18:06 +00:00
Edwin Brady
69f3c23cbb Treat local hints differently in auto search
Local hints need to reduce (just like global hints do) so we expand
their definition to the lifted name before applying them.
We're identifying the global hints by knowing that the binder name is a
nested function name. This is a bit of hack, and it'd probably be better
to record that information in the binder instead, but that's a more
substantial change than I want to do right now.
2020-12-27 13:41:48 +00:00
Michael Messer
7dc84696a3
If the width terminal is zero make it Unbounded (#870) 2020-12-23 16:55:36 +00:00
Edwin Brady
c1f58d963f
Merge branch 'master' into interfaces 2020-12-14 13:34:31 +00:00
Edwin Brady
252292451f Add local hints (basic version)
This gives us the ability to define and use implementations locally, in
where clauses/local let bindings, as well as flag local definitions as
hints.
It's not yet quite equivalent to global hints, however, since it translated
the hint to a local let binding, which doesn't reduce, so if something
relies on the reduction behaviour of the hint, it won't work. This
refinement is coming later
2020-12-14 13:25:50 +00:00
G. Allais
3f6b99e979
[ fix #657 ] RigCount for interface parameters (#808) 2020-12-11 11:58:26 +00:00
Guillaume ALLAIS
4356d377c5 [ refactor ] parser for lambda & lambdacase 2020-12-10 18:01:14 +00:00
Guillaume ALLAIS
4025896572 [ fix #833, #677 ] bound variables start with a lowercase letter 2020-12-10 18:01:14 +00:00
Guillaume ALLAIS
0a685f8d2c [ debug ] remove max from log
Users should be allowed to de-escalate the level of detail they're
getting.
2020-12-10 14:27:02 +00:00
Guillaume ALLAIS
5de647cc3f [ refactor ] use difference list for efficient append 2020-12-08 13:07:53 +00:00
Guillaume ALLAIS
0675e58cca [ error ] crash rather than generating garbage 2020-12-08 13:07:53 +00:00
Guillaume ALLAIS
89daa5c1f6 [ cleanup ] existing list function & needlessly effectfule ones 2020-12-08 13:07:53 +00:00
Guillaume ALLAIS
3c0ff432bd [ cleanup ] redundant parens, language keyword 2020-12-08 13:07:53 +00:00
Guillaume ALLAIS
243ed5df2c [ cleanup ] remove trailing "pure ()" 2020-12-08 13:07:53 +00:00
Guillaume ALLAIS
39f26e7ed6 [ minor ] avoid repetition 2020-12-08 13:07:53 +00:00
Guillaume ALLAIS
f8c248dc7a [ refactor ] introduce Core.update 2020-12-08 13:07:53 +00:00
Guillaume ALLAIS
e5c6dfac5b [ refactor ] remove toString, natMinus
* toString is an inefficient fastPack
* natMinus is an inefficient minus (we have already checked isLTE)
2020-12-08 13:07:53 +00:00
Guillaume ALLAIS
98674fc40a [ cleanup ] use pattern-matching binds in monadic code 2020-12-08 13:07:53 +00:00
Jan de Muijnck-Hughes
3a6e779acf Extended Literate support to include LaTeX. 2020-12-07 14:54:35 +00:00
Jan de Muijnck-Hughes
9c5198cde3 Fixed docs and improved Literate mode.
+ Expanded the documentation on how to use literate modes.
+ Added invisible code blocks in Markdown using specially tagged comment blocks: `<!-- idris -->`.
+ Fixed OrgMode specificaton to recognise comment blocks properly.
2020-12-07 14:54:35 +00:00
Nicolas A. Schmidt
ef6cbcf658
Auto-implicit __con now added before implicits. (#659) 2020-12-07 11:41:47 +00:00
Denis Buzdalov
b3542d66fc
Have lambda-case available everywhere lambda is (#819) 2020-12-07 11:34:48 +00:00
Guillaume ALLAIS
d30e984137 [ debug ] Give the option to log off 2020-12-07 11:33:37 +00:00
David Smith
c6abab438c
export a function to parse ipkg files (#822) 2020-12-07 10:53:01 +00:00
Edwin Brady
22a534f400 Elaborate implementations in the right environment
This involves a small extension to IPragma, because to properly
elaborate names in a local scope we need to know which names are defined
in that scope so that they get applied to the environment when needed.

This means we can now define implementations of interfaces locally (but
there's still some work to do, because we don't yet have a way of
applying locally defined hints in auto search. It's coming soon!)
2020-12-05 20:53:03 +00:00
Edwin Brady
bfea7d785a
Merge pull request #766 from mokshasoft/gambit-cg
Gambit cg
2020-12-04 15:51:22 +00:00
Edwin Brady
778d6026e5
Merge pull request #607 from Russoul/record-init
New syntax for named applications and "record" updates
2020-12-04 11:35:05 +00:00
Fabián Heredia Montiel
57a8ef4609
Implement Futures as a Parallelism Primitive (#753)
Co-authored-by: Christian Rasmussen <christian.rasmussen@me.com>
2020-12-04 10:58:26 +00:00
russoul
46519237cd Merge 2020-12-03 15:28:20 +03:00
Edwin Brady
b244d26cd1
Merge pull request #731 from rbarreiro/issue_596
adds mutual recursion optimisation to the javascript backend
2020-12-03 11:48:44 +00:00
Guillaume ALLAIS
e9126aafd8 [ doc ] :browse made aware of namespace nesting 2020-12-02 20:38:32 +00:00
Andor Penzes
a5a5d89d0c Resolves #804
Introduces parenthesis around parts of let expressions and closes
parenthesis for the case expression.
2020-11-29 22:30:48 +00:00
G. Allais
502f544d73
[ fix #775 ] integerToNat is not, in fact, id (#799) 2020-11-27 18:48:19 +00:00
Guillaume ALLAIS
c3082d8465 [ re #524 ] Debug + positivity check 2020-11-27 09:29:44 +00:00
Rui Barreiro
910711afe9
prim void to js codegen (#782)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2020-11-26 16:50:08 +00:00
Yu Zhang
08a35d694c
Improving error messages (#786)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2020-11-26 11:35:55 +00:00
Denis Buzdalov
60c8695a6d Editor was made run apostrophe-containing modules from REPL normally. 2020-11-26 11:17:36 +00:00
Denis Buzdalov
9990b5ad29 Namespaces were shadowed in all standard codegens.
This allows, for exmaple, to have apostrophes in module names.
Test was added only for chez, however this should be viable for all
targets with `:exec` implemented.
2020-11-26 11:17:36 +00:00
russoul
5c21dd4976 Merge branch 'master' of https://github.com/idris-lang/Idris2 into name-at 2020-11-20 13:57:46 +03:00
Guillaume ALLAIS
22bfa90971 [ fix ] recoverability criteria
If the "can't convert" error arises from a mismatch between a type
constructor and a primitive value, it is not recoverable.
2020-11-11 19:10:34 +00:00
Guillaume ALLAIS
ec6c70c6e1 [ log ] for coverage, impossible & empty check 2020-11-11 19:10:34 +00:00
Tim Engler
72af040e7e Fixes Issue #74. The problem is that if the function is defined in a sub
module, then the current namespace (accessed by calling getNS) differs
from the function namespace, therefore it is not considered visible by
TTImp.Elab.App.checkVisibleNS
2020-11-11 10:28:51 +00:00
Jonas Claesson
9f9abc8025 Gambit: add GAMBIT_GSC_BACKEND env configuration
Gambit after version v4.9.3 supports the -cc option, which configures
the compiler backend Gambit will use to build the binary. Currently to
get this functionality Gambit needs to be built from source, since it is
not yet available in a released version.
2020-10-31 10:19:55 +01:00
Jonas Claesson
e4d892490d Add option to compile to C on Gambit CG
Use the '--codegen gambit --directive C' compilation flags.
2020-10-31 09:14:15 +01:00
russoul
c8875c0f9d Do a tiny renaming 2020-10-26 18:54:11 +03:00
Christian Rasmussen
66fe57f340 Run tests chez029 and node022 via code generator 2020-10-24 12:34:04 +01:00