AtlatestRenderedmarkdown
sigil-socket / treeREADME.md
Readme
sigil-socket
Archived at Sigil 0.19.0: The maintained implementation now lives in codeberg:sigil/sigil. This repository and all tags remain available for provenance, but no further standalone releases will be published.TCP, UDP, and Unix domain socket operations for Sigil. Provides network socket primitives suitable for both blocking and non-blocking I/O, including integration with Sigil's coroutine-based async runtime.
This package was extracted from the sigil monorepo — the in-tree history under packages/sigil-socket/ is preserved here as master.
Usage
(import (sigil socket))
;; TCP client
(let ((sock (tcp-connect "example.com" 80)))
(socket-write-line sock "GET / HTTP/1.0")
(socket-write-line sock "")
(display (socket-read-all sock))
(socket-close sock))
;; TCP server
(let ((server (tcp-listen 8080)))
(let loop ()
(let ((client (tcp-accept server)))
(socket-write-line client "Hello!")
(socket-close client)
(loop))))
;; UDP
(let ((sock (udp-socket)))
(udp-send sock "127.0.0.1" 5000 "Hello")
(socket-close sock))The full export list lives at the top of src/sigil/socket.sgl. See docs/socket.md for a usage guide.
Build & test
This is a pure-Scheme package. No native build step.
sigil deps install # fetch sigil-stdlib via codeberg:sigil/sigil-lang
sigil test --report # run test/test-socket.sglFor local development against an unpublished sigil-lang, use dev-redirects.sgl (sibling checkout at ../sigil-lang/):
sigil deps install --redirects ./dev-redirects.sgl
sigil test --redirects ./dev-redirects.sgl --reportLicense
BSD-3-Clause. See the monorepo for the canonical license text.