pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

sharpF: import sharpF-0.302 as wip/sharpF



Module Name:	pkgsrc-wip
Committed By:	Yorick Hardy <yorickhardy%gmail.com@localhost>
Pushed By:	yhardy
Date:		Tue Sep 16 21:30:32 2025 +0200
Changeset:	a7180f721f6820b6c9fd3643375c79fe7ef37e7b

Modified Files:
	Makefile
Added Files:
	sharpF/COMMIT_MSG
	sharpF/DESCR
	sharpF/Makefile
	sharpF/PLIST
	sharpF/distinfo

Log Message:
sharpF: import sharpF-0.302 as wip/sharpF

wip/sharpF is used for the development of wip/skint

DESCR:

of the Scheme programming language. Its main purpose is to facilitate
creation of specialized code fragments which use Scheme-like
computational model (garbage-collected memory, proper tail recursion,
call/cc, closures, multiple return values) and can be easily
integrated with regular C code in a direct way (no FFI or "scripting
language bindings").

which can be tailored to fit into a regular C project with minimal
effort. The main distinguishing feature of the #F system is its
scalable runtime - the compiler itself has no embedded knowledge
of any standard functions or data types, with a single exception
- `#f` (hence the name).  The `#f` value (represented as immediate
0) is hard-wired since SFC needs to compile traditional conditional
forms; everything else should be explicitly defined before use. If
one's code does not use lists or strings, they do not need to be
implemented!

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a7180f721f6820b6c9fd3643375c79fe7ef37e7b

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile          |  1 +
 sharpF/COMMIT_MSG | 22 ++++++++++++++++++++++
 sharpF/DESCR      | 20 ++++++++++++++++++++
 sharpF/Makefile   | 23 +++++++++++++++++++++++
 sharpF/PLIST      |  2 ++
 sharpF/distinfo   |  5 +++++
 6 files changed, 73 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 48e619d28d..a71fc93aff 100644
--- a/Makefile
+++ b/Makefile
@@ -5362,6 +5362,7 @@ SUBDIR+=	shadow
 SUBDIR+=	shairport-sync
 SUBDIR+=	shaper
 SUBDIR+=	sharif-univ-ttf
+SUBDIR+=	sharpF
 SUBDIR+=	shed
 SUBDIR+=	shell-fm
 SUBDIR+=	shellharden
diff --git a/sharpF/COMMIT_MSG b/sharpF/COMMIT_MSG
new file mode 100644
index 0000000000..82e6b4542f
--- /dev/null
+++ b/sharpF/COMMIT_MSG
@@ -0,0 +1,22 @@
+lang/sharpF: import sharpF-0.302 as lang/sharpF
+
+#F - A Minimalistic Scheme System
+                         
+#F (Sharp-F or False) is a portable compiler/runtime for a subset
+of the Scheme programming language. Its main purpose is to facilitate
+creation of specialized code fragments which use Scheme-like
+computational model (garbage-collected memory, proper tail recursion,
+call/cc, closures, multiple return values) and can be easily
+integrated with regular C code in a direct way (no FFI or "scripting
+language bindings").
+
+#F compiler (SFC) produces reasonably fast and very readable C code
+which can be tailored to fit into a regular C project with minimal
+effort. The main distinguishing feature of the #F system is its
+scalable runtime - the compiler itself has no embedded knowledge
+of any standard functions or data types, with a single exception
+- `#f` (hence the name).  The `#f` value (represented as immediate
+0) is hard-wired since SFC needs to compile traditional conditional
+forms; everything else should be explicitly defined before use. If
+one's code does not use lists or strings, they do not need to be
+implemented!
diff --git a/sharpF/DESCR b/sharpF/DESCR
new file mode 100644
index 0000000000..cac241efcc
--- /dev/null
+++ b/sharpF/DESCR
@@ -0,0 +1,20 @@
+#F - A Minimalistic Scheme System
+                         
+#F (Sharp-F or False) is a portable compiler/runtime for a subset
+of the Scheme programming language. Its main purpose is to facilitate
+creation of specialized code fragments which use Scheme-like
+computational model (garbage-collected memory, proper tail recursion,
+call/cc, closures, multiple return values) and can be easily
+integrated with regular C code in a direct way (no FFI or "scripting
+language bindings").
+
+#F compiler (SFC) produces reasonably fast and very readable C code
+which can be tailored to fit into a regular C project with minimal
+effort. The main distinguishing feature of the #F system is its
+scalable runtime - the compiler itself has no embedded knowledge
+of any standard functions or data types, with a single exception
+- `#f` (hence the name).  The `#f` value (represented as immediate
+0) is hard-wired since SFC needs to compile traditional conditional
+forms; everything else should be explicitly defined before use. If
+one's code does not use lists or strings, they do not need to be
+implemented!
diff --git a/sharpF/Makefile b/sharpF/Makefile
new file mode 100644
index 0000000000..d56a85b027
--- /dev/null
+++ b/sharpF/Makefile
@@ -0,0 +1,23 @@
+# $NetBSD$
+
+DISTNAME=	sharpF-b302
+PKGNAME=	${GITHUB_PROJECT}-0.302
+CATEGORIES=	lang
+MASTER_SITES=	${MASTER_SITE_GITHUB:=false-schemers/}
+GITHUB_PROJECT=	sharpF
+GITHUB_TAG=	b302
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/false-schemers/sharpF/
+COMMENT=	Compiler/runtime for a minimalistic subset of Scheme
+LICENSE=	modified-bsd
+
+INSTALLATION_DIRS+=	bin
+
+do-build:
+	cd ${WRKSRC}/fixpoint && ${CC} -o sfc -Wall -O3 -DNDEBUG 0.c 1.c 2.c 3.c 4.c 5.c 6.c 7.c c.c
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/fixpoint/sfc ${DESTDIR}${PREFIX}/bin/sfc
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/sharpF/PLIST b/sharpF/PLIST
new file mode 100644
index 0000000000..e900f5b671
--- /dev/null
+++ b/sharpF/PLIST
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+bin/sfc
diff --git a/sharpF/distinfo b/sharpF/distinfo
new file mode 100644
index 0000000000..a1b87db816
--- /dev/null
+++ b/sharpF/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (sharpF-b302.tar.gz) = e43954b020853423c6011e9fda9655c66603aa19dbbd1c900b30484f5c33ae5c
+SHA512 (sharpF-b302.tar.gz) = 30f3b93491317aa1a032b12918999564dce02399d2e448a625f7a193c71ec2ef93e831f84246c45d9ecbfdd7f2d87975cda1d7e68786f7e940acf85f66915fcf
+Size (sharpF-b302.tar.gz) = 1197316 bytes


Home | Main Index | Thread Index | Old Index