Message ID | cover.1743570894.git.karl@hallsby.com |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3677A27BBE9; Wed, 2 Apr 2025 06:20:44 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2FD1F27BBE2 for <patchwork@mira.cbaines.net>; Wed, 2 Apr 2025 06:20:42 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1tzqWN-000223-LY; Wed, 02 Apr 2025 01:20:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tzqWH-00020m-UK for guix-patches@gnu.org; Wed, 02 Apr 2025 01:20:10 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tzqWH-0007c1-05 for guix-patches@gnu.org; Wed, 02 Apr 2025 01:20:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=17IeR8M7abhmZd/keRtkgxlYCaQIhicoy7rfjmPiaIk=; b=pstZlUyi3wmNxz0If5quRdIrHHsvC9OuxuxKtR0ERRT1DdyntVXglJqXt0MaAbH2EFVzASdbFH8JW9rKunsLFy8MVcR6Owcdvwp4hDeNFw852A64cwYm39BTuBHG+vHzabuBqJI5t8q5BfKrJ3wi41xSwnCVmEc92f1ITVaT3ToaJE9osrxwB6ACFQFy0cbj/yibAS4C/TxqNsYqsD+D6LbPz/luWSrlXv5HnquFREQ/rZuj8JR3NR6/27g/lDyIEH4/XEqYgPwnpAIlPRPfrjbJ8DPkqmiVmsigMBG+LfDa5ze1eFjI9xIieeMYPVN9bRa/we5a2NwzS54b3A7ruA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tzqWG-0000fE-7d for guix-patches@gnu.org; Wed, 02 Apr 2025 01:20:08 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#77448] [PATCH 0/2] gnu: Add Souffle. Resent-From: Karl Hallsby <karl@hallsby.com> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 02 Apr 2025 05:20:07 +0000 Resent-Message-ID: <handler.77448.B.17435711612241@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 77448 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 77448@debbugs.gnu.org Cc: Raven Hallsby <karl@hallsby.com> X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17435711612241 (code B ref -1); Wed, 02 Apr 2025 05:20:07 +0000 Received: (at submit) by debbugs.gnu.org; 2 Apr 2025 05:19:21 +0000 Received: from localhost ([127.0.0.1]:53676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1tzqVT-0000a1-Hg for submit@debbugs.gnu.org; Wed, 02 Apr 2025 01:19:20 -0400 Received: from lists.gnu.org ([2001:470:142::17]:33308) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <karl@hallsby.com>) id 1tzqVQ-0000Yw-Kq for submit@debbugs.gnu.org; Wed, 02 Apr 2025 01:19:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <karl@hallsby.com>) id 1tzqVK-0001oq-8n for guix-patches@gnu.org; Wed, 02 Apr 2025 01:19:10 -0400 Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <karl@hallsby.com>) id 1tzqVE-0007A9-5k for guix-patches@gnu.org; Wed, 02 Apr 2025 01:19:05 -0400 Received: by mail-io1-xd2e.google.com with SMTP id ca18e2360f4ac-85ad83ba141so657218239f.2 for <guix-patches@gnu.org>; Tue, 01 Apr 2025 22:19:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hallsby.com; s=google; t=1743571142; x=1744175942; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=17IeR8M7abhmZd/keRtkgxlYCaQIhicoy7rfjmPiaIk=; b=KNXZzLAkFyGuoLl2visFo3+eA01UuXmSxcWAhwM6/rfLkhPt1s4svnQVoaVSQHwg+f iHBTorAjbrNtA1bs4XUaxH2SrWx5TuYYI8LwdMR85voo69o1ZmfETFZTGg4Jbz2HV503 dWB6Kl66ERsnITAnHdZyv/8mfYjPmNrMXwq144FxM9N8FsLNnbrRsNvA8+4GnfqF/Aiu vLcw+Y/v7HGd49lBmpNvbT0oEvGxC5Fa2uCQxXOVok1h9jg5D05kGAmhv7GwN/BTenOj hznlTN6XMKvDbeaTE8DAQkWHmT0Y5uGgtaVEI1AeqXKLeRS8TQndD0PSvxxeGmWKP1w7 ceAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743571142; x=1744175942; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=17IeR8M7abhmZd/keRtkgxlYCaQIhicoy7rfjmPiaIk=; b=E+fOQTKYPFIuqpvbD/W/UNa8n/KlVvbwMhu2NMRH0IrRJbZEgn6Zub04r1MSby64+E AaAPXUDfRogJhPeXUpgYc8nmV0ZkUG5EXbSsrpeHziDWrGLR1QsKAut5vGARVLIO1gRh d8DK9Nv2KhnGMzg1VfrZnP6mNmgjo9cV96TG4zwJ12PE66cqWKeqs6dSJVzWB9I4Am8J cDCUdSvGRpSTLVvn4ZR3Bck8RlBxPQ7CKRbSRcc5oiolLL8y470ulkKKmpEN0+DmRCon v7W58bKLbG1iVNqoJsd4LlZBTWHhQqlykuJippIWlJCE2xHpRUG7mo3+kOkPSWBAkhXd fHdA== X-Gm-Message-State: AOJu0YzhGEGLNjUFH/I2vT2AMgJCWUwqRhB0nTIuZhv46xfwth7gpNjP jziURrj7cbJOO2CE8OaKEl/LbHoGtogpWy7Ce6DiN67jeC7x5aJzcERRBb0OR0RuU5N1m8gLTFY = X-Gm-Gg: ASbGncttHZK47Q7ZpAcQIInllSP/2JNGXTr/u3iVt8U80TZ8R04qCimQJ7Lov//M6jX hrGHEOeAftpvIjFlafgm5dMIc7SHbKpxktjBmwG38hdk9X28rrrTisuTYJ80RZTbDgLUKvbb5fc OkN94qi1PS1fqtABrpLIGnOYNxbvqvC81BG/Bx8n7VY4GHowceF5MYoYAgnPZc8ZUrk25DaaTvg VTIODGWaM6FyGhr+xXd7aWH9vHX+Fe5psvFHnabJNTWZzd2VaMbIonXVHvJWerO+SOmorrvGgE7 4qjB/f/LfSrqNeWZTwR3i/myYKWIOrwg58K0qNCRxwIbYpK2HA== X-Google-Smtp-Source: AGHT+IE25vOD18Ez61NWT7aHRwsheXshKSxH1lyu83gckXKZv1URbqJlzdus1uju4j0Ccnsr9Wc1SA== X-Received: by 2002:a05:6e02:1547:b0:3d1:a75e:65f6 with SMTP id e9e14a558f8ab-3d5e09d91c2mr202487275ab.18.1743571141730; Tue, 01 Apr 2025 22:19:01 -0700 (PDT) Received: from Karl-Desktop.raven ([207.237.222.72]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f464746a8fsm2747564173.46.2025.04.01.22.19.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Apr 2025 22:19:01 -0700 (PDT) Date: Wed, 2 Apr 2025 00:18:25 -0500 Message-ID: <cover.1743570894.git.karl@hallsby.com> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::d2e; envelope-from=karl@hallsby.com; helo=mail-io1-xd2e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Reply-to: Karl Hallsby <karl@hallsby.com> X-ACL-Warn: , Karl Hallsby via Guix-patches <guix-patches@gnu.org> From: Karl Hallsby via Guix-patches via <guix-patches@gnu.org> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
gnu: Add Souffle.
|
|
Message
Raven Hallsby
April 2, 2025, 5:18 a.m. UTC
From: Raven Hallsby <karl@hallsby.com>
Souffle[1] is a Logic-based programming language based on Datalog. It is
possible to both interpret and compile. Further, SOuffle can be used
*natively* with C++ projects and offers Swig-generated FFI interfaces for Java
and Python.
I have tested this package by using the simple example steps at [2] and the
more scalable features of using SQLite to store and represent facts about your
logic's domain space[3].
In the future, I would like the test script I created to be merged into Guix
so that a package's usage can be tested alongside its definition (after being
built). Particularly because Souffle relies on a significant amount of
wrapping and has an embedded JSON configuration file as a runner script for
Souffle's compiler. I have brought this topic up on IRC in the past[4], and
the community has thought about them before. This package is an example of one
whose long-term maintenance in Guix would greatly benefit from this
infrastructure.
[1] https://souffle-lang.github.io/
[2] https://souffle-lang.github.io/simple
[3] https://souffle-lang.github.io/tutorial#io-directives
[4] https://logs.guix.gnu.org/guix/2025-03-19.log#175226
Raven Hallsby (2):
licenses: Add UPL 1.0.
gnu: Add souffle
gnu/local.mk | 1 +
gnu/packages/datalog.scm | 235 +++++++++++++++++++++++++++++++++++++++
guix/import/utils.scm | 1 +
guix/licenses.scm | 6 +
4 files changed, 243 insertions(+)
create mode 100644 gnu/packages/datalog.scm
base-commit: 97523d50017f2cc5c190c9a2aa50f620b33b6318
--
2.49.0
Comments
Souffle[1] is a Logic-based programming language based on Datalog. It is possible to both interpret and compile. Further, SOuffle can be used *natively* with C++ projects and offers Swig-generated FFI interfaces for Java and Python. I have tested this package by using the simple example steps at [2] and the more scalable features of using SQLite to store and represent facts about your logic's domain space[3]. In the future, I would like the test script I created to be merged into Guix so that a package's usage can be tested alongside its definition (after being built). Particularly because Souffle relies on a significant amount of wrapping and has an embedded JSON configuration file as a runner script for Souffle's compiler. I have brought this topic up on IRC in the past[4], and the community has thought about them before. This package is an example of one whose long-term maintenance in Guix would greatly benefit from this infrastructure. [1] https://souffle-lang.github.io/ [2] https://souffle-lang.github.io/simple [3] https://souffle-lang.github.io/tutorial#io-directives [4] https://logs.guix.gnu.org/guix/2025-03-19.log#175226 Karl Hallsby (2): licenses: Add UPL 1.0. gnu: Add souffle gnu/local.mk | 1 + gnu/packages/datalog.scm | 220 +++++++++++++++++++++++++++++++++++++++ guix/import/utils.scm | 1 + guix/licenses.scm | 6 ++ 4 files changed, 228 insertions(+) create mode 100644 gnu/packages/datalog.scm base-commit: 97523d50017f2cc5c190c9a2aa50f620b33b6318 -- 2.49.0