Commit Graph

30 Commits

Author SHA1 Message Date
Edwin Brady
52c21c6182 Update bootstrap code
We shouldn't strictly need this, but it doesn't do any harm, and it also
means we can use --inc chez in the build if we do. Let's see if it helps
or hinders the CI problem...
2021-07-22 13:36:17 +01:00
Edwin Brady
991a4e8196 Update bootstrap scheme 2021-06-23 18:16:13 +01:00
Edwin Brady
fafa76c55c Generalise NIL/CONS to all list shaped things
Also pairs turn into CONS, because we don't need to look at the tag if
there's only one constructor.
2021-05-09 01:43:59 +01:00
Edwin Brady
66930113bd Compile lists as scheme lists
This also involves adding a flag to constructors and case alternatives
in CExp which say whether it's a NIL or CONS. Currently, we only do this
for Prelude.List, which already has an effect, but soon I'll extend this
to work for all list-shaped things and rather than being hard coded. We
could also imagine spotting other shapes (enumerations especially) for
code generators to spot as they see fit.

This will require code generators to be fixed to recognise the new
ConInfo flag, but you can just ignore it.

Bootstrap code also updated, because we don't currently have a way of
having separate support.ss/rkt for the bootstrap and normal builds!
2021-05-08 15:42:51 +01:00
Edwin Brady
4726c32d94 Add --ignore-missing-ipkg flag
When bootstrapping, we're building things without packages being
available, so we can't expect to find them when looking for
dependencies. So, we find them another way, with an environment
variable. This flag is to tell Idris not to worry about missing
dependencies in this situation.

We also need to update the bootstrapping code, to deal with the new
version number format and new flag in the ipkg files for the libraries.
I think it's still safe to build from the previous version though - lets
see if CI agrees!
2021-02-27 19:39:47 +00:00
Wen Kokke
bd683938bf
Overhaul of concurrency primitives (#968)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-02-05 16:16:20 +00:00
Edwin Brady
b35268b774 Update version numbers and bootstrap code 2021-01-13 12:46:06 +00:00
Russoul
720178ca37 Update bootstrap files V3 2020-08-25 18:05:48 +03:00
Russoul
0e408840fd Revert "Update bootstrap files V2"
This reverts commit 9acbdbfcd9.
2020-08-25 17:49:23 +03:00
russoul
9acbdbfcd9 Update bootstrap files V2 2020-08-25 17:31:36 +03:00
russoul
12194ed0b0 Revert "Update bootstrap files"
This reverts commit 906e521a71.
2020-08-25 17:21:39 +03:00
russoul
906e521a71 Update bootstrap files 2020-08-25 16:48:08 +03:00
karroffel
7d046652d8
add support for more casts from and to BitsN types (#548)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2020-08-20 15:01:09 +01:00
Edwin Brady
dc9637aaa0 Update bootstrap scheme for release 2020-08-16 12:33:11 +01:00
Edwin Brady
a5c9250524 Update bootstrap scheme
This is needed because the existing version won't build the Prelude
correctly as it doesn't do import...as correctly.

I don't believe this affects Idris2-boot, since it has its own Prelude.
2020-07-04 22:10:44 +01:00
Edwin Brady
531170e949 Add linear network API
This involves updating the bootstrap code since it needs a fix in
interface resolution. It shouldn't affect the Idris2-boot build though,
since it's in the libraries not the Idris2 source.
2020-06-25 12:07:33 +01:00
Kamil Shakirov
4f0c262ddc Add support for OpenBSD
and probably for other *BSD operating systems with minor tweaks
2020-06-17 15:14:54 +06:00
Edwin Brady
4b1667fdcf Open files in binary mode
Needed for windows, and harmless on Unix (Idris 1 did it this way).
2020-06-11 14:35:26 +01:00
Edwin Brady
0a246af449 Make Buffer more primitive
Meaning that the FFI is aware of it, so you can send arbitrary byte data
to foreign calls. Fixes #209

This means that we no longer need the hacky way of reading and writing
binary data via scheme, so can have a more general interface for reading
and writing buffer data in files.

It will also enable more interesting high level interfaces to binary
data, with C calls being used where necessary.

Note that the Buffer primitive are unsafe! They always have been, of
course... so perhaps (later) they should have 'unsafe' as part of their
name and better high level safe interfaces on top.

This requires updating the scheme to support Buffer as an FFI primitive,
but shouldn't affect Idris2-boot which loads buffers its own way.
2020-06-11 14:05:52 +01:00
Edwin Brady
7f6de27f5c Update scheme/racket to deal with Bits types
We need to add Bits primitives to Idris2-boot to keep that at least able
to build this for bootstrapping purposes.
2020-06-01 11:58:22 +01:00
Edwin Brady
8c5d5055fa Update scheme
Changing the prelude totality default means we need to update the scheme
to be able to cope with its new meaning
2020-05-28 16:05:08 +01:00
Edwin Brady
de7dff19b0 Update Scheme bootstrap files
Ready for a 0.2.0 release
2020-05-25 14:21:53 +01:00
Kamil Shakirov
80344b5435 Merge branch 'master' into better-names 2020-05-24 07:59:25 +06:00
Edwin Brady
b93b51a0e1 Remove racket ipkg, update scheme
Needed to get the bootstrap version working with the tests in racket
2020-05-23 23:30:49 +01:00
Edwin Brady
cff5fc2625 Workaround for byte vectors in Racket
Racket appears to have a different notion of current directory than the
system does, so we need to tell it which directory we think we're in
when reading and writing bytevectors using the scheme file functions.
2020-05-23 21:37:31 +01:00
Kamil Shakirov
278dc1ca29 Merge branch 'master' into better-names 2020-05-24 00:37:05 +06:00
Edwin Brady
08e4955c0b Update scheme/racket again
Bootstrapping needs IDRIS2_CG set up properly
2020-05-23 19:30:53 +01:00
Kamil Shakirov
e61e44205b Merge branch 'master' into better-names 2020-05-24 00:26:52 +06:00
Edwin Brady
c8896290a6 Update scheme given network code move 2020-05-23 15:57:20 +01:00
Edwin Brady
e17f66244a Move network support to libidris2_support
This makes the support stuff much simpler, and also makes the racket
bootstrap process easier
2020-05-23 15:52:33 +01:00