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