• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A fast implementation of the Nix expression language


Commit MetaInfo

Revisioneab14a7e6bbc50b4477d50db6273b2171c0e2801 (tree)
Time2024-06-09 03:25:28
AuthorCorbin <cds@corb...>
CommiterCorbin

Log Message

Set up a standalone repo.

I'm tightening up the license because I have had *zero* code
contributions from others. This wasn't supposed to be a solitary
mountain climb, but a hiking group. That didn't happen, so I'm removing
any possibility that any corporation can exploit this code.

Change Summary

Incremental Difference

--- /dev/null
+++ b/COPYING
@@ -0,0 +1,438 @@
1+Attribution-NonCommercial-ShareAlike 4.0 International
2+
3+=======================================================================
4+
5+Creative Commons Corporation ("Creative Commons") is not a law firm and
6+does not provide legal services or legal advice. Distribution of
7+Creative Commons public licenses does not create a lawyer-client or
8+other relationship. Creative Commons makes its licenses and related
9+information available on an "as-is" basis. Creative Commons gives no
10+warranties regarding its licenses, any material licensed under their
11+terms and conditions, or any related information. Creative Commons
12+disclaims all liability for damages resulting from their use to the
13+fullest extent possible.
14+
15+Using Creative Commons Public Licenses
16+
17+Creative Commons public licenses provide a standard set of terms and
18+conditions that creators and other rights holders may use to share
19+original works of authorship and other material subject to copyright
20+and certain other rights specified in the public license below. The
21+following considerations are for informational purposes only, are not
22+exhaustive, and do not form part of our licenses.
23+
24+ Considerations for licensors: Our public licenses are
25+ intended for use by those authorized to give the public
26+ permission to use material in ways otherwise restricted by
27+ copyright and certain other rights. Our licenses are
28+ irrevocable. Licensors should read and understand the terms
29+ and conditions of the license they choose before applying it.
30+ Licensors should also secure all rights necessary before
31+ applying our licenses so that the public can reuse the
32+ material as expected. Licensors should clearly mark any
33+ material not subject to the license. This includes other CC-
34+ licensed material, or material used under an exception or
35+ limitation to copyright. More considerations for licensors:
36+ wiki.creativecommons.org/Considerations_for_licensors
37+
38+ Considerations for the public: By using one of our public
39+ licenses, a licensor grants the public permission to use the
40+ licensed material under specified terms and conditions. If
41+ the licensor's permission is not necessary for any reason--for
42+ example, because of any applicable exception or limitation to
43+ copyright--then that use is not regulated by the license. Our
44+ licenses grant only permissions under copyright and certain
45+ other rights that a licensor has authority to grant. Use of
46+ the licensed material may still be restricted for other
47+ reasons, including because others have copyright or other
48+ rights in the material. A licensor may make special requests,
49+ such as asking that all changes be marked or described.
50+ Although not required by our licenses, you are encouraged to
51+ respect those requests where reasonable. More considerations
52+ for the public:
53+ wiki.creativecommons.org/Considerations_for_licensees
54+
55+=======================================================================
56+
57+Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
58+Public License
59+
60+By exercising the Licensed Rights (defined below), You accept and agree
61+to be bound by the terms and conditions of this Creative Commons
62+Attribution-NonCommercial-ShareAlike 4.0 International Public License
63+("Public License"). To the extent this Public License may be
64+interpreted as a contract, You are granted the Licensed Rights in
65+consideration of Your acceptance of these terms and conditions, and the
66+Licensor grants You such rights in consideration of benefits the
67+Licensor receives from making the Licensed Material available under
68+these terms and conditions.
69+
70+
71+Section 1 -- Definitions.
72+
73+ a. Adapted Material means material subject to Copyright and Similar
74+ Rights that is derived from or based upon the Licensed Material
75+ and in which the Licensed Material is translated, altered,
76+ arranged, transformed, or otherwise modified in a manner requiring
77+ permission under the Copyright and Similar Rights held by the
78+ Licensor. For purposes of this Public License, where the Licensed
79+ Material is a musical work, performance, or sound recording,
80+ Adapted Material is always produced where the Licensed Material is
81+ synched in timed relation with a moving image.
82+
83+ b. Adapter's License means the license You apply to Your Copyright
84+ and Similar Rights in Your contributions to Adapted Material in
85+ accordance with the terms and conditions of this Public License.
86+
87+ c. BY-NC-SA Compatible License means a license listed at
88+ creativecommons.org/compatiblelicenses, approved by Creative
89+ Commons as essentially the equivalent of this Public License.
90+
91+ d. Copyright and Similar Rights means copyright and/or similar rights
92+ closely related to copyright including, without limitation,
93+ performance, broadcast, sound recording, and Sui Generis Database
94+ Rights, without regard to how the rights are labeled or
95+ categorized. For purposes of this Public License, the rights
96+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
97+ Rights.
98+
99+ e. Effective Technological Measures means those measures that, in the
100+ absence of proper authority, may not be circumvented under laws
101+ fulfilling obligations under Article 11 of the WIPO Copyright
102+ Treaty adopted on December 20, 1996, and/or similar international
103+ agreements.
104+
105+ f. Exceptions and Limitations means fair use, fair dealing, and/or
106+ any other exception or limitation to Copyright and Similar Rights
107+ that applies to Your use of the Licensed Material.
108+
109+ g. License Elements means the license attributes listed in the name
110+ of a Creative Commons Public License. The License Elements of this
111+ Public License are Attribution, NonCommercial, and ShareAlike.
112+
113+ h. Licensed Material means the artistic or literary work, database,
114+ or other material to which the Licensor applied this Public
115+ License.
116+
117+ i. Licensed Rights means the rights granted to You subject to the
118+ terms and conditions of this Public License, which are limited to
119+ all Copyright and Similar Rights that apply to Your use of the
120+ Licensed Material and that the Licensor has authority to license.
121+
122+ j. Licensor means the individual(s) or entity(ies) granting rights
123+ under this Public License.
124+
125+ k. NonCommercial means not primarily intended for or directed towards
126+ commercial advantage or monetary compensation. For purposes of
127+ this Public License, the exchange of the Licensed Material for
128+ other material subject to Copyright and Similar Rights by digital
129+ file-sharing or similar means is NonCommercial provided there is
130+ no payment of monetary compensation in connection with the
131+ exchange.
132+
133+ l. Share means to provide material to the public by any means or
134+ process that requires permission under the Licensed Rights, such
135+ as reproduction, public display, public performance, distribution,
136+ dissemination, communication, or importation, and to make material
137+ available to the public including in ways that members of the
138+ public may access the material from a place and at a time
139+ individually chosen by them.
140+
141+ m. Sui Generis Database Rights means rights other than copyright
142+ resulting from Directive 96/9/EC of the European Parliament and of
143+ the Council of 11 March 1996 on the legal protection of databases,
144+ as amended and/or succeeded, as well as other essentially
145+ equivalent rights anywhere in the world.
146+
147+ n. You means the individual or entity exercising the Licensed Rights
148+ under this Public License. Your has a corresponding meaning.
149+
150+
151+Section 2 -- Scope.
152+
153+ a. License grant.
154+
155+ 1. Subject to the terms and conditions of this Public License,
156+ the Licensor hereby grants You a worldwide, royalty-free,
157+ non-sublicensable, non-exclusive, irrevocable license to
158+ exercise the Licensed Rights in the Licensed Material to:
159+
160+ a. reproduce and Share the Licensed Material, in whole or
161+ in part, for NonCommercial purposes only; and
162+
163+ b. produce, reproduce, and Share Adapted Material for
164+ NonCommercial purposes only.
165+
166+ 2. Exceptions and Limitations. For the avoidance of doubt, where
167+ Exceptions and Limitations apply to Your use, this Public
168+ License does not apply, and You do not need to comply with
169+ its terms and conditions.
170+
171+ 3. Term. The term of this Public License is specified in Section
172+ 6(a).
173+
174+ 4. Media and formats; technical modifications allowed. The
175+ Licensor authorizes You to exercise the Licensed Rights in
176+ all media and formats whether now known or hereafter created,
177+ and to make technical modifications necessary to do so. The
178+ Licensor waives and/or agrees not to assert any right or
179+ authority to forbid You from making technical modifications
180+ necessary to exercise the Licensed Rights, including
181+ technical modifications necessary to circumvent Effective
182+ Technological Measures. For purposes of this Public License,
183+ simply making modifications authorized by this Section 2(a)
184+ (4) never produces Adapted Material.
185+
186+ 5. Downstream recipients.
187+
188+ a. Offer from the Licensor -- Licensed Material. Every
189+ recipient of the Licensed Material automatically
190+ receives an offer from the Licensor to exercise the
191+ Licensed Rights under the terms and conditions of this
192+ Public License.
193+
194+ b. Additional offer from the Licensor -- Adapted Material.
195+ Every recipient of Adapted Material from You
196+ automatically receives an offer from the Licensor to
197+ exercise the Licensed Rights in the Adapted Material
198+ under the conditions of the Adapter's License You apply.
199+
200+ c. No downstream restrictions. You may not offer or impose
201+ any additional or different terms or conditions on, or
202+ apply any Effective Technological Measures to, the
203+ Licensed Material if doing so restricts exercise of the
204+ Licensed Rights by any recipient of the Licensed
205+ Material.
206+
207+ 6. No endorsement. Nothing in this Public License constitutes or
208+ may be construed as permission to assert or imply that You
209+ are, or that Your use of the Licensed Material is, connected
210+ with, or sponsored, endorsed, or granted official status by,
211+ the Licensor or others designated to receive attribution as
212+ provided in Section 3(a)(1)(A)(i).
213+
214+ b. Other rights.
215+
216+ 1. Moral rights, such as the right of integrity, are not
217+ licensed under this Public License, nor are publicity,
218+ privacy, and/or other similar personality rights; however, to
219+ the extent possible, the Licensor waives and/or agrees not to
220+ assert any such rights held by the Licensor to the limited
221+ extent necessary to allow You to exercise the Licensed
222+ Rights, but not otherwise.
223+
224+ 2. Patent and trademark rights are not licensed under this
225+ Public License.
226+
227+ 3. To the extent possible, the Licensor waives any right to
228+ collect royalties from You for the exercise of the Licensed
229+ Rights, whether directly or through a collecting society
230+ under any voluntary or waivable statutory or compulsory
231+ licensing scheme. In all other cases the Licensor expressly
232+ reserves any right to collect such royalties, including when
233+ the Licensed Material is used other than for NonCommercial
234+ purposes.
235+
236+
237+Section 3 -- License Conditions.
238+
239+Your exercise of the Licensed Rights is expressly made subject to the
240+following conditions.
241+
242+ a. Attribution.
243+
244+ 1. If You Share the Licensed Material (including in modified
245+ form), You must:
246+
247+ a. retain the following if it is supplied by the Licensor
248+ with the Licensed Material:
249+
250+ i. identification of the creator(s) of the Licensed
251+ Material and any others designated to receive
252+ attribution, in any reasonable manner requested by
253+ the Licensor (including by pseudonym if
254+ designated);
255+
256+ ii. a copyright notice;
257+
258+ iii. a notice that refers to this Public License;
259+
260+ iv. a notice that refers to the disclaimer of
261+ warranties;
262+
263+ v. a URI or hyperlink to the Licensed Material to the
264+ extent reasonably practicable;
265+
266+ b. indicate if You modified the Licensed Material and
267+ retain an indication of any previous modifications; and
268+
269+ c. indicate the Licensed Material is licensed under this
270+ Public License, and include the text of, or the URI or
271+ hyperlink to, this Public License.
272+
273+ 2. You may satisfy the conditions in Section 3(a)(1) in any
274+ reasonable manner based on the medium, means, and context in
275+ which You Share the Licensed Material. For example, it may be
276+ reasonable to satisfy the conditions by providing a URI or
277+ hyperlink to a resource that includes the required
278+ information.
279+ 3. If requested by the Licensor, You must remove any of the
280+ information required by Section 3(a)(1)(A) to the extent
281+ reasonably practicable.
282+
283+ b. ShareAlike.
284+
285+ In addition to the conditions in Section 3(a), if You Share
286+ Adapted Material You produce, the following conditions also apply.
287+
288+ 1. The Adapter's License You apply must be a Creative Commons
289+ license with the same License Elements, this version or
290+ later, or a BY-NC-SA Compatible License.
291+
292+ 2. You must include the text of, or the URI or hyperlink to, the
293+ Adapter's License You apply. You may satisfy this condition
294+ in any reasonable manner based on the medium, means, and
295+ context in which You Share Adapted Material.
296+
297+ 3. You may not offer or impose any additional or different terms
298+ or conditions on, or apply any Effective Technological
299+ Measures to, Adapted Material that restrict exercise of the
300+ rights granted under the Adapter's License You apply.
301+
302+
303+Section 4 -- Sui Generis Database Rights.
304+
305+Where the Licensed Rights include Sui Generis Database Rights that
306+apply to Your use of the Licensed Material:
307+
308+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
309+ to extract, reuse, reproduce, and Share all or a substantial
310+ portion of the contents of the database for NonCommercial purposes
311+ only;
312+
313+ b. if You include all or a substantial portion of the database
314+ contents in a database in which You have Sui Generis Database
315+ Rights, then the database in which You have Sui Generis Database
316+ Rights (but not its individual contents) is Adapted Material,
317+ including for purposes of Section 3(b); and
318+
319+ c. You must comply with the conditions in Section 3(a) if You Share
320+ all or a substantial portion of the contents of the database.
321+
322+For the avoidance of doubt, this Section 4 supplements and does not
323+replace Your obligations under this Public License where the Licensed
324+Rights include other Copyright and Similar Rights.
325+
326+
327+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
328+
329+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
330+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
331+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
332+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
333+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
334+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
335+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
336+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
337+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
338+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
339+
340+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
341+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
342+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
343+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
344+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
345+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
346+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
347+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
348+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
349+
350+ c. The disclaimer of warranties and limitation of liability provided
351+ above shall be interpreted in a manner that, to the extent
352+ possible, most closely approximates an absolute disclaimer and
353+ waiver of all liability.
354+
355+
356+Section 6 -- Term and Termination.
357+
358+ a. This Public License applies for the term of the Copyright and
359+ Similar Rights licensed here. However, if You fail to comply with
360+ this Public License, then Your rights under this Public License
361+ terminate automatically.
362+
363+ b. Where Your right to use the Licensed Material has terminated under
364+ Section 6(a), it reinstates:
365+
366+ 1. automatically as of the date the violation is cured, provided
367+ it is cured within 30 days of Your discovery of the
368+ violation; or
369+
370+ 2. upon express reinstatement by the Licensor.
371+
372+ For the avoidance of doubt, this Section 6(b) does not affect any
373+ right the Licensor may have to seek remedies for Your violations
374+ of this Public License.
375+
376+ c. For the avoidance of doubt, the Licensor may also offer the
377+ Licensed Material under separate terms or conditions or stop
378+ distributing the Licensed Material at any time; however, doing so
379+ will not terminate this Public License.
380+
381+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
382+ License.
383+
384+
385+Section 7 -- Other Terms and Conditions.
386+
387+ a. The Licensor shall not be bound by any additional or different
388+ terms or conditions communicated by You unless expressly agreed.
389+
390+ b. Any arrangements, understandings, or agreements regarding the
391+ Licensed Material not stated herein are separate from and
392+ independent of the terms and conditions of this Public License.
393+
394+
395+Section 8 -- Interpretation.
396+
397+ a. For the avoidance of doubt, this Public License does not, and
398+ shall not be interpreted to, reduce, limit, restrict, or impose
399+ conditions on any use of the Licensed Material that could lawfully
400+ be made without permission under this Public License.
401+
402+ b. To the extent possible, if any provision of this Public License is
403+ deemed unenforceable, it shall be automatically reformed to the
404+ minimum extent necessary to make it enforceable. If the provision
405+ cannot be reformed, it shall be severed from this Public License
406+ without affecting the enforceability of the remaining terms and
407+ conditions.
408+
409+ c. No term or condition of this Public License will be waived and no
410+ failure to comply consented to unless expressly agreed to by the
411+ Licensor.
412+
413+ d. Nothing in this Public License constitutes or may be interpreted
414+ as a limitation upon, or waiver of, any privileges and immunities
415+ that apply to the Licensor or You, including from the legal
416+ processes of any jurisdiction or authority.
417+
418+=======================================================================
419+
420+Creative Commons is not a party to its public
421+licenses. Notwithstanding, Creative Commons may elect to apply one of
422+its public licenses to material it publishes and in those instances
423+will be considered the “Licensor.” The text of the Creative Commons
424+public licenses is dedicated to the public domain under the CC0 Public
425+Domain Dedication. Except for the limited purpose of indicating that
426+material is shared under a Creative Commons public license or as
427+otherwise permitted by the Creative Commons policies published at
428+creativecommons.org/policies, Creative Commons does not authorize the
429+use of the trademark "Creative Commons" or any other trademark or logo
430+of Creative Commons without its prior written consent including,
431+without limitation, in connection with any unauthorized modifications
432+to any of its public licenses or any other arrangements,
433+understandings, or agreements concerning use of licensed material. For
434+the avoidance of doubt, this paragraph does not form part of the
435+public licenses.
436+
437+Creative Commons may be contacted at creativecommons.org.
438+
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,85 @@
1+{
2+ "nodes": {
3+ "flake-utils": {
4+ "inputs": {
5+ "systems": "systems"
6+ },
7+ "locked": {
8+ "lastModified": 1710146030,
9+ "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
10+ "owner": "numtide",
11+ "repo": "flake-utils",
12+ "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
13+ "type": "github"
14+ },
15+ "original": {
16+ "owner": "numtide",
17+ "repo": "flake-utils",
18+ "type": "github"
19+ }
20+ },
21+ "nixpkgs": {
22+ "locked": {
23+ "lastModified": 1705957679,
24+ "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=",
25+ "owner": "nixos",
26+ "repo": "nixpkgs",
27+ "rev": "9a333eaa80901efe01df07eade2c16d183761fa3",
28+ "type": "github"
29+ },
30+ "original": {
31+ "owner": "nixos",
32+ "ref": "release-23.05",
33+ "repo": "nixpkgs",
34+ "type": "github"
35+ }
36+ },
37+ "root": {
38+ "inputs": {
39+ "flake-utils": "flake-utils",
40+ "nixpkgs": "nixpkgs",
41+ "rpypkgs": "rpypkgs"
42+ }
43+ },
44+ "rpypkgs": {
45+ "inputs": {
46+ "flake-utils": [
47+ "flake-utils"
48+ ],
49+ "nixpkgs": [
50+ "nixpkgs"
51+ ]
52+ },
53+ "locked": {
54+ "lastModified": 1717869755,
55+ "narHash": "sha256-K32PO/8aEKEzT6YiCD6BBH5ViNpLB7aWapy4frQ8vXg=",
56+ "owner": "rpypkgs",
57+ "repo": "rpypkgs",
58+ "rev": "b57dc2fd8b5fe06c52c94fe611e2520d10f277d7",
59+ "type": "github"
60+ },
61+ "original": {
62+ "owner": "rpypkgs",
63+ "repo": "rpypkgs",
64+ "type": "github"
65+ }
66+ },
67+ "systems": {
68+ "locked": {
69+ "lastModified": 1681028828,
70+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
71+ "owner": "nix-systems",
72+ "repo": "default",
73+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
74+ "type": "github"
75+ },
76+ "original": {
77+ "owner": "nix-systems",
78+ "repo": "default",
79+ "type": "github"
80+ }
81+ }
82+ },
83+ "root": "root",
84+ "version": 7
85+}
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,54 @@
1+{
2+ description = "Packages built with RPython";
3+
4+ inputs = {
5+ nixpkgs.url = "github:nixos/nixpkgs/release-23.05";
6+ flake-utils.url = "github:numtide/flake-utils";
7+ rpypkgs = {
8+ url = "github:rpypkgs/rpypkgs";
9+ inputs = {
10+ nixpkgs.follows = "nixpkgs";
11+ flake-utils.follows = "flake-utils";
12+ };
13+ };
14+ };
15+
16+ outputs = { self, nixpkgs, flake-utils, rpypkgs }:
17+ let
18+ # The systems where RPython has been tested to work.
19+ testedSystems = [
20+ "x86_64-linux"
21+ "aarch64-linux"
22+ ];
23+ in flake-utils.lib.eachSystem testedSystems (system:
24+ let
25+ pkgs = import nixpkgs {
26+ inherit system;
27+ # Not free for corporate use!
28+ config.allowUnfree = true;
29+ };
30+ regiux = rpypkgs.lib.${system}.mkRPythonDerivation {
31+ entrypoint = "main.py";
32+ binName = "main-c";
33+ binInstallName = "rix";
34+ optLevel = "2";
35+ withLibs = ls: with ls; [ appdirs rply ];
36+ } {
37+ pname = "regiux";
38+ version = "2024";
39+
40+ src = ./.;
41+
42+ meta = {
43+ description = "A fast implementation of the Nix expression language";
44+ license = pkgs.lib.licenses.cc-by-nc-sa-40;
45+ };
46+ };
47+ in {
48+ packages.default = regiux;
49+ devShells.default = pkgs.mkShell {
50+ packages = [];
51+ };
52+ }
53+ );
54+}