Commit Graph

738 Commits

Author SHA1 Message Date
Johann Rudloff
13cba46188 Show types, show names inside module without namespace 2021-04-26 22:48:21 +02:00
Johann Rudloff
68a5f1f1b7 Copy styles.css from support into generated docs/ folder 2021-04-26 22:45:14 +02:00
Johann Rudloff
1a025131e3 Exact namespace comparison to avoid duplicated entries for re-exported names 2021-04-26 22:44:03 +02:00
Johann Rudloff
1de8b4497c HTML-Escape full documentation body 2021-04-26 22:44:03 +02:00
Johann Rudloff
3baab8abea First draft version of --mkdoc CLI switch 2021-04-26 22:44:00 +02:00
Tung Alissa
881a5e7fbc
[ fix #1328 ] print infix functions enclosed in grave accents (#1331) 2021-04-25 18:56:08 +01:00
Ruslan Feizerakhmanov
70158b9dd1
REPL commands: load-package & fuzzy-search (#1318)
REPL commands: load-package & fuzzy-search
Move REPL-related code over to its own namespace
2021-04-25 09:13:55 +01:00
Johann Rudloff
489b85aae5 PrettyPrint: Fix SimpleDocTree.fromStream dropping parts of documents
When flattening the `SimpleDocTree` created from a `SimpleDocStream`, the
first part of a concatenated doc was sometimes dropped, depending on the
result of the recursive call to `flatten`.
2021-04-25 09:10:22 +01:00
André Videla
9f39ad6ba8 Implement new parameters syntax
Previously, parameter block reused the same syntax as in Idris1:

```
parameters (v1 : t1, … , vn : tn)
```

Unfortunately this syntax presents some issues:
 - It does not allow to declare implicit parameters
 - It does not allow to specify which multiplicity to use
 - It is inconsistent with the syntax used for named arguments elsewhere
   in the language.

This change fixes those three problems by borrowing the syntax for
declaring type parameters in records:

```
parameters (v1 : t2) (v2 : t2) … (vn : tn)
```

It also enables other features like multiple declarations of arguments
with the same type:

```
parameters (v1, v2 : Type)
```
2021-04-23 19:02:48 +01:00
André Videla
908550c05f merge multiplicity parser 2021-04-23 19:02:48 +01:00
Zoe Stafford
c75b3f7f14
Add Agda-like builtins (#1253)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-04-22 13:08:32 +01:00
claymager
d6583048d8
Fixes for processPackage (#1304) 2021-04-21 10:15:39 +01:00
Tung Alissa
1bf46bc458
[ REPL ] Improving :doc (fixity, totality, colours) (#1316)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-04-21 09:39:18 +01:00
Robert Wright
8e08e96201 Replace RefC putStrLn usages with log 2021-04-19 16:04:41 +01:00
Robert Wright
54dcace421 Rename RefC.CC file name variables
The previous names were a holdover from when these functions were a part
of `RefC.compileExpr`. The new names more accurately reflect their usage
in this context.
2021-04-19 16:04:41 +01:00
Robert Wright
6197351e7d Add library compilation option for RefC.CC compilation functions 2021-04-19 16:04:41 +01:00
Robert Wright
735b5bef98 Split RefC CC functions into their own file 2021-04-19 16:04:41 +01:00
Robert Wright
a538736d0c Factor RefC compilation into multiple stages
Create functions for each of C source code generation, C object file compilation, and compilation of the final executable.
2021-04-19 16:04:41 +01:00
Giuseppe Lomurno
581c95dc96 Minor fixes, additional docs and rebase 2021-04-19 16:02:52 +01:00
Giuseppe Lomurno
c084d285db Add some documentation about PosMap 2021-04-19 16:02:52 +01:00
Giuseppe Lomurno
a53150d90b More precise record field FCs 2021-04-19 16:02:52 +01:00
Giuseppe Lomurno
7fa6dc5f48 Added insertion to interval map and usage in TypeAt command 2021-04-19 16:02:52 +01:00
Giuseppe Lomurno
76697e7f85 New interval map data structure for FC search in metadata 2021-04-19 16:02:52 +01:00
Jan de Muijnck-Hughes
0c64225521 Report time taken to check totality. 2021-04-19 10:30:36 +01:00
Guillaume ALLAIS
f6f2f5f5c6 [ fix #962 ] solve defaults on LHS even in case 2021-04-16 18:12:40 +01:00
Guillaume ALLAIS
9f5cacf31e [ fix ] debugging printing 2021-04-16 18:12:40 +01:00
Jan de Muijnck-Hughes
b68fa077af Added some light formatting to presentation of times for the compiler. 2021-04-16 15:11:16 +01:00
G. Allais
5946442dc2
[ new ] idris2 --init (#1299) 2021-04-15 14:08:50 +01:00
Niklas Larsson
299a31de5b
Merge pull request #1296 from melted/windows_ci_test
add tests to Windows CI
2021-04-12 20:07:17 +02:00
Niklas Larsson
b32a2593ff Node fixes
Don't assume that errno exists. There might never have been an error.

Quote executable path to handle path with spaces.
2021-04-12 16:43:54 +02:00
Denis Buzdalov
2287a7ff35 [ refactoring ] Some equivalent changes, mostly code styling nicened 2021-04-12 15:21:33 +01:00
Sören Tempel
c725b11c89 Flush standard out after writing prompt to it
On Unix-like operating systems stdio.h is usually line-buffered. As
putStr uses fputs(3) from stdio.h internally, output will be written to
standard out after a newline character is written to the buffer. Since
the prompt does not contain a newline, it will only be written to
standard output after the user presses return. I encountered this issue
on Alpine Linux which uses musl libc (instead of glibc). However, I
believe this issue is likely also reproducible with glibc. This commit
fixes this issue by flushing standard output after writing the prompt to
it. Surprisingly, `src/Idris/IDEMode/REPL.idr` already does this
correctly, `src/Idris/REPL.idr` does not though.
2021-04-09 15:17:00 +01:00
claymager
b207c0c718
Multiple build commands (#1287) 2021-04-09 13:09:24 +01:00
G. Allais
b7bdd0a99f
Various improvements (#1286) 2021-04-09 13:02:37 +01:00
Niklas Larsson
9ffc346ebb
Use file extensions when looking for exes on windows (#1268)
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2021-04-08 21:11:34 +01:00
John Mager
c4efa0d29f Ignore some REPL options in package commands 2021-04-07 20:45:18 +01:00
Ohad Kammar
b65907f770
Support Multi-declarations (#1280) 2021-04-07 12:21:17 +01:00
Kamiλ Shakirov
2ac4bea220
[ install ] Check if 'realpath' exists for Chez and Racket backends (#1210) 2021-04-06 15:42:04 +01:00
Edwin Brady
12f40f538f Use correct multiplicity in scope of lets
The scope should be checked at the same multiplicity as the enclosing
expression.
2021-04-04 18:10:34 +01:00
Edwin Brady
922074b0aa Add heuristic for when to normalise metavars
If they're big, they take a long time to instantiate, and if they
consist of a lot of functions, chances are that normalising them will
make them much smaller. This significantly improves type checking
performance for some programs with lots of type level computation going
on.

The threshold is set with %nf_metavar_threshold, but the default value
of 50 is probably fine. Set it to 0 to always normalise metavar
solutions, or something higher than 1000 to essentially never do it.
It's roughly a count of nodes in the typechecked syntax tree under the
first function application.
2021-04-04 15:56:15 +01:00
Niklas Larsson
0314ff66ef Fix escaping in C backend
Use unicode escapes. Insert trailing doublequotes to terminate
(otherwise hexchars will be considered part of escape)
2021-04-02 22:35:17 +02:00
Niklas Larsson
e49916cea9 Fixes from trying to compile idris with the refc backend
* fix doublequoting in constArray
* substitute tildes in names
* Add negate functions
* Add string comparisons

Several things remain, notably missing _argList functions.
2021-04-02 15:02:40 +02:00
Guillaume ALLAIS
99b87c8156 [ fix #1248 ] Bring qualified names back for data & record types 2021-03-31 23:17:53 +01:00
Atomotron
a1e7221c32
[ fix #1200 ] Switch scheme backend to flonum functions (#1203)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-03-31 23:17:41 +01:00
Zoe Stafford
f255026d1b
[ fix #1220 ] Update arity of constuctors to reflect erased args (#1225) 2021-03-29 15:08:06 +01:00
G. Allais
238eb62da6
[ fix #1230 ] Better error messages for out-of-scope identifiers (#1233) 2021-03-29 10:45:48 +01:00
Guillaume ALLAIS
2df49ebdd4 [ fix #1224 ] moduleIdent must be capitalised 2021-03-25 15:59:46 +00:00
Guillaume ALLAIS
00929deed6 [ cosmetic ] nicer error messages for uncaught exceptions 2021-03-25 15:59:46 +00:00
Guillaume ALLAIS
dad1954a39 [ debug ] for read attempts 2021-03-25 15:59:46 +00:00
Denis Buzdalov
8abd60535b [ fix ] Ability for data types to be operators was restored 2021-03-25 14:16:47 +00:00