This project is a temporary monolith. Ideally getting broken into multiple packages. But for the sake of progress development its a cluster.
This project is split into 2 halves, Low Level for Native bindings, and High Level for framework API's.
- Streams
- File System
- Process
- Zlib
- Network
- Http
- DNS
See more about current status of Native bindings here
Currently exposed modules you can try out right now:
- Network
- Network.Socket
- Streams.Types
- Streams.String
- Streams.Buffer
- Streams.Chunk
- Streams
- Process
- Process.Types
- Process.User
- Process.Streams
- FileSystem.Streams.Read
- FileSystem.Streams.Write
- FileSystem.Types
- FileSystem.Write.String
- FileSystem.Write.String.Descriptor
- FileSystem.Write.Buffer
- FileSystem.Write.Buffer.Descriptor
- FileSystem.Write.Chunk
- FileSystem.Descriptor
- FileSystem.Watch
- FileSystem.Read
- FileSystem
- DomainNameService
- Chunk
- Chunk.Types
- Compression
- Compression.Types
- Console
- Console.Color
- Http.Types
- Http.StatusCode
- Http.Agent
- Http.Agent.TLS
- Http.Server
- Http.Server.TLS
(pure flavors most likely as IO builders, that consumers must eventually run : pureFlavor -> Task x ()
)
- Streams
- Either a pure flavor that is really a
list
kinda like streams - Or a higher level bindings that is still impure like the popular io-streams
- Either a pure flavor that is really a
- Pure File System
FS
as atype
, coupled withrunFS : FS FSError () -> Task FSError ()
- Basic server abstraction
- Marshall-able pure
Request
andResponse
types - Server side code as
Request -> Response
- Startapp flavor to based on
foldp
on routes - Sinatra style routing abstraction
param
capture
Elm
as aResponse
constructor
- Marshall-able pure
- Shared
Mailbox
between the client and server backed with web-sockets.
- SQLlite bindings
- Mongo DB persistence and querying around native Elm types. General purpose node bindings
sh examples/<someexample>/run.sh