Commit Graph

18 Commits

Author SHA1 Message Date
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
Edwin Brady
1e6314c4cc
Merge pull request #345 from edwinb/hasio
HasIO interface for IO actions
2020-06-21 20:24:29 +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
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
Frederik Vigen
2f34f85e2f Added fix to recvAll that doesn't use signal (Left 0) but the size of the buffer 2020-06-06 20:51:19 +02: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
Edwin Brady
1524b865c0 Remove needless %cg directives
These now refer to an old library file that is no longer used since the
network library was ported to the new FFI
2020-05-23 13:06:39 +01:00
Ohad Kammar
1945619db7 libs/network: Port FFI calls from deprecated interface to %foreign pragma 2020-05-20 20:09:56 +01:00
Edwin Brady
9eba9113dd Update racket bootstrap scripts
Need to pass the LD_LIBRARY_PATH all the way through or racket doesn't
know where to look. I really don't know why it doesn't work to just set
it at the top level in the script, but it didn't (on my Mac, at least).
2020-05-20 00:03:39 +01:00
Edwin Brady
aea34ab83e
Merge branch 'master' into fix_win 2020-05-19 16:23:30 +01:00
Edwin Brady
8380a6fa9e
Merge pull request #4 from ska80/refactor-makefiles
Refactor makefiles
2020-05-19 16:23:06 +01:00
Edwin Brady
953e8f4913
Merge pull request #3 from ska80/ignore-files
Update .gitignore files
2020-05-19 16:22:41 +01:00
Niklas Larsson
efc595394b Make network test build on windows
Add a little to gitignore
2020-05-19 15:46:28 +02:00
Kamil Shakirov
b801b97fcc Refactor makefiles 2020-05-19 18:50:47 +06:00
Kamil Shakirov
47e943cc7d Update .gitignore files 2020-05-19 17:49:21 +06:00
Niklas Larsson
1bebd7d070 Windows fixes 2020-05-19 13:13:01 +02:00
Edwin Brady
dec7dff622 Add libraries 2020-05-18 14:00:08 +01:00