Edwin Brady
5ed27947cb
Small concurrency fixes
...
Conditional variables with timeout in Chez didn't work, so changed to a
consistent meaning of the timeout (microseconds). Also fix linearity of
unsafePerformIO.
2020-06-23 19:06:30 +01:00
Edwin Brady
1e6314c4cc
Merge pull request #345 from edwinb/hasio
...
HasIO interface for IO actions
2020-06-21 20:24:29 +01:00
TomasPuverle
833a24cb45
Updated documentation for export ( #344 )
...
Co-authored-by: Thomas Herzog <thomas-github@poto.cafe>
2020-06-21 20:17:34 +01:00
MarcelineVQ
d94b86e62c
change namespace parser to have minimum indentation
...
The namespace parser was not requiring a minimum indentation and instead
based its indentation on the following line, which meant that a line like:
namespace Foo
foodef : Int
placed foodef into namespace Foo instead of the module's top level.
And so made it unclear when a namespace ends.
2020-06-21 20:17:00 +01:00
Edwin Brady
413e75b6a3
Fix documentaton error
2020-06-21 19:56:23 +01:00
Edwin Brady
0316dfa417
Remove reference to MonadIO from CHANGELOG
2020-06-21 19:41:18 +01:00
Edwin Brady
dbdf7dab3d
Back to HasIO, remove MonadIO
...
Following a fairly detailed discussion on slack, the feeling is
generally that it's better to have a single interface. While precision
is nice, it doesn't appear to buy us anything here. If that turns out to
be wrong, or limiting somehow, we can revisit it later. Also:
- it's easier for backend authors if the type of IO operations is
slightly less restrictive. For example, if it's in HasIO, that limits
alternative implementations, which might be awkward for some
alternative back ends.
- it's one less extra detail to learn. This is minor, but there needs to
be a clear advantage if there's more detail to learn.
- It is difficult to think of an underlying type that can't have a Monad
instance (I have personally never encountered one - if they turns out
to exist, again, we can revisit!)
2020-06-21 19:21:22 +01:00
Edwin Brady
1b15463746
Update libraries and docs with HasIO/MonadIO
2020-06-21 15:25:40 +01:00
Edwin Brady
28855088c2
Split HasIO into HasIO and MonadIO
...
For things which don't require (>>=), HasIO is fine, otherwise MonadIO
gives access to the monad interface.
2020-06-21 14:46:14 +01:00
Niklas Larsson
dcf4c88e8c
Merge pull request #318 from vladimyr/homebrew
...
Add Homebrew installation instructions
2020-06-21 14:20:58 +02:00
Dario Vladovic
a76f4e64f5
Add VS Code settings to gitignore
2020-06-21 13:18:24 +01:00
Dario Vladovic
cc61d4d3d8
Add Homebrew installation instructions
2020-06-21 13:37:36 +02:00
MarcelineVQ
6f77c06e3e
reduce sugar in confusing error messages
...
This addresses the case where you'd see an error of:
Ambiguous elaboration at:
r <- pure []
Possible correct results:
[]
[]
[]
By changing it to:
Possible correct results:
Main.Nil
PrimIO.Nil
Prelude.Nil
2020-06-21 11:46:08 +01:00
Niklas Larsson
06018ef6c7
Merge pull request #349 from mbaulch/fixsupport
...
Import fgetc and listen from libc rather than support libs
2020-06-21 11:30:57 +02:00
Matthew Baulch
916c3e7090
Import fgetc and listen from libc (where they actually reside) rather than the support libs
2020-06-21 15:24:45 +10:00
Edwin Brady
d12487f529
HasIO interface for IO actions
...
Also updates the Prelude and some base libraries to use HasIO rather
than using IO directly.
2020-06-21 01:18:43 +01:00
Niklas Larsson
6505be6c06
Merge pull request #341 from idris-lang/melted-patch-1
...
Add note about the default codegen
2020-06-21 00:35:20 +02:00
Ohad Kammar
59588a3f3a
Merge pull request #316 from ohad/fancy-preorder-reasoning
...
Fancy preorder reasoning
2020-06-20 22:47:25 +01:00
Niklas Larsson
1780bd2aba
Add note about the default codegen
2020-06-20 22:56:35 +02:00
Niklas Larsson
d31e59bacf
Merge pull request #327 from chrrasmussen/add-builddir-and-output-dir
...
Allow overriding build and output directory
2020-06-20 20:52:33 +02:00
Niklas Larsson
0d2871db3c
Merge pull request #315 from ShinKage/repl-import-module
...
Module command to import module in REPL
2020-06-20 20:51:17 +02:00
Christian Rasmussen
3cbcdec4a0
Add test for builddir and outputdir fields
2020-06-20 17:24:05 +02:00
Christian Rasmussen
4fc77db2fb
Silence compile message when compiling Chez programs
2020-06-20 17:23:51 +02:00
Christian Rasmussen
25f8b59c66
Fix the 'main' field in the package description
...
Previously it always used 'Main' as the namespace
2020-06-20 17:23:51 +02:00
Christian Rasmussen
ceb7a30c09
Update changelog
2020-06-20 17:23:51 +02:00
Christian Rasmussen
21a1245c10
Add --source-dir to CLI
2020-06-20 17:23:51 +02:00
Christian Rasmussen
67cdbd3ce4
Rename dir_prefix to prefix_dir
2020-06-20 17:23:51 +02:00
Christian Rasmussen
1f0ca85678
Allow overriding the build directory and the output directory
...
The output directory was previously called the executable directory, but I changed it because the output is not always an executable (depending on the code generator).
The code generators can now distinguish between where to place the (temporary) build files and the resulting output files.
2020-06-20 17:23:51 +02:00
Edwin Brady
8c556d0c26
Merge pull request #340 from edwinb/strefs
...
Control.Monad.ST and Refs interface
2020-06-20 13:16:27 +01:00
Edwin Brady
b1500893e1
Merge pull request #339 from edwinb/fix338
...
Check consructor names are not defined
2020-06-20 13:01:34 +01:00
Edwin Brady
f9318cf477
Correct note in CHANGELOG
2020-06-20 12:55:42 +01:00
Edwin Brady
d18aac7afd
Move Data.ST to Control.Monad.ST
...
Seems a more appropriate place in the hierarchy (also roughly consistent
with where it is in Haskell base)
2020-06-20 12:51:38 +01:00
Edwin Brady
598f09be35
Check consructor names are not defined
...
We do this when elaborating the data type, but not when adding the
individual constructors, so weren't catching the case of repeated
constructors within the same type. Fixes #338
2020-06-20 12:40:44 +01:00
Niklas Larsson
89e3503ee1
Merge pull request #332 from cypheon/vmcode-constructor-names
...
VMCODE: Carry over required type names for named constructors without a tag
2020-06-20 11:44:49 +02:00
Edwin Brady
ab03249d49
Add Data.STRef and a generic Ref interface
2020-06-20 00:46:20 +01:00
Denis Buzdalov
c121181776
Function mapping Not (x=True)
to x=False
was added for Bool
s ( #322 )
2020-06-19 11:13:13 +01:00
Kamiλ Shakirov
da0e056d7e
Add 'optional' command line options ( #309 )
2020-06-19 10:36:07 +01:00
Mark Barbone
59dceb857f
Make reference and source agree about literate markdown
2020-06-19 10:08:47 +01:00
Johann Rudloff
d161281dea
VMCODE: Carry over required type names for named constructors without a tag.
2020-06-19 07:38:43 +02:00
Niklas Larsson
1e780615b6
Merge pull request #330 from melted/fix_start_script
...
Fix windows script
2020-06-19 03:48:47 +02:00
Niklas Larsson
b593eb12d2
Fix windows script
2020-06-19 03:46:04 +02:00
Niklas Larsson
38b05a98d8
Merge pull request #329 from idris-lang/fix-racket-ci
...
Fix racket CI
2020-06-18 16:46:05 +02:00
Niklas Larsson
3e53551d8b
Fix racket CI
2020-06-18 16:00:26 +02:00
Niklas Larsson
649e1989e0
Merge pull request #326 from melted/win_clean
...
No need to check for BSD on Windows
2020-06-18 14:50:16 +02:00
Niklas Larsson
fbf4a667b1
Merge pull request #325 from ska80/fix-install-api
...
Fix 'install-api' makefile target
2020-06-18 14:19:39 +02:00
Niklas Larsson
69a716243c
No need to check for BSD on Windows
2020-06-18 14:18:39 +02:00
Kamil Shakirov
9e42eb1be1
Fix 'install-api' makefile target
...
When building from a clean state `src/IdrisPaths.idr` must be generated first
before installing `idris2api.ipkg`.
2020-06-18 17:19:48 +06:00
Niklas Larsson
12957ea614
Merge pull request #324 from idris-lang/melted-patch-1
...
Mention custom codegens in the change log
2020-06-18 13:04:36 +02:00
Niklas Larsson
9ebe6c9cc7
Mention custom codegens in the change log
2020-06-18 12:30:35 +02:00
Nicolas Biri
c72cb849a8
Add missing modules in base.ipkg
2020-06-18 10:32:51 +01:00