Skip to content

Commit a19af64

Browse files
committed
Cleaned up test, update readme, clarify legal
1 parent c75eba6 commit a19af64

7 files changed

+15
-204
lines changed

ReadMe.org

+13-9
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,6 @@ It is a transpiler which generates C/C++ from a Lisp dialect.
1010

1111
You can see the [[https://macoy.me/blog/programming/CakelispIntro][introduction to Cakelisp]] and check out the [[https://news.ycombinator.com/item?id=25491568][Hacker News announcement thread]].
1212

13-
* Terms
14-
Cakelisp is copyright (C) 2020 Macoy Madson ~<[email protected]>~.
15-
16-
Licensed under ~GPL-3.0-or-later~, with added [[https://www.gnu.org/licenses/gpl-faq.en.html#LinkingOverControlledInterface][Linking Over Controlled Interface]] exception.
17-
~runtime/~ is licensed under MIT License.
18-
19-
Please see [[file:doc/Legal.org][doc/Legal.org]] for a detailed explanation.
20-
21-
Contact [email protected]~ if you would like to negotiate an exception for your use-case.
2213
* Features
2314
- *The metaprogramming capabilities of Lisp:* True full-power macro support. Macros can use compile-time code execution to conditionally change what is output based on the context of the invocation
2415
- *The performance of C:* No heavyweight runtime, boxing/unboxing overhead, etc.
@@ -33,6 +24,15 @@ Contact [email protected]~ if you would like to negotiate an exception for your us
3324
For more advantages, see [[file:doc/NeatUses.org][doc/NeatUses.org]].
3425

3526
Some of these features come naturally from using C as the backend. Eventually it would be cool to not have to generate C (e.g. generate LLVM bytecode instead), but that can a project for another time.
27+
* Terms
28+
Cakelisp is copyright (C) 2020 Macoy Madson ~<[email protected]>~.
29+
30+
Licensed under ~GPL-3.0-or-later~, with added [[https://www.gnu.org/licenses/gpl-faq.en.html#LinkingOverControlledInterface][Linking Over Controlled Interface]] exception.
31+
~runtime/~ is licensed under MIT License.
32+
33+
Please see [[file:doc/Legal.org][doc/Legal.org]] for a detailed explanation.
34+
35+
Contact [email protected]~ if you would like to negotiate an exception for your use-case.
3636
* Building Cakelisp itself
3737
/Note:/ Windows support is a work-in-progress.
3838

@@ -88,6 +88,10 @@ Generators keep track of when they require C++ support and will add that require
8888
Hot-reloading won't work with features like templates or class member functions. This is partially a constraint imposed by dynamic loading, which has to be able to find the symbol. C++ name mangling makes that much more complicated, and compiler-dependent.
8989

9090
I'm personally fine with this limitation because I would like to move more towards an Only C environment anyway. This might be evident when reading Cakelisp's source code: I don't use ~class~, define new templates, or define struct/class member functions, but I do rely on some C++ standard library containers and ~&~ references.
91+
* Learning Cakelisp
92+
Check out [[file:doc/Cakelisp.org][doc/Cakelisp.org]] for a detailed explanation of the Cakelisp language and build system.
93+
94+
Explore ~test/~ and ~runtime/~ for examples of Cakelisp code. [[https://macoy.me/code/macoy/gamelib][GameLib]] is a collection of modules built for making games in Cakelisp. Check both ~src/~ and ~test/~ in GameLib for more extensive code examples.
9195
* Tooling support
9296
** Emacs
9397
Open ~.cake~ files in ~lisp-mode~:

doc/Legal.org

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ From a high level:
4141
** Things which are *not* permitted
4242
- Releasing a proprietary game/software project which ships any of Cakelisp, *excluding* ~runtime/~, without also releasing the source code of that project
4343
- Distributing modified versions of Cakelisp without also releasing the full modified source code
44-
- i.e., you must follow ~GPL-3.0-or-later~ if you actually "ship" any Cakelisp code
44+
- i.e., you must follow ~GPL-3.0-or-later~ if you actually "ship" any of Cakelisp's code, especially the files in ~src/~

test/Basic.cake

-91
This file was deleted.

test/Dependencies.cake

-79
This file was deleted.

test/DependenciesModule.cake

-5
This file was deleted.

test/Test.cake

-18
This file was deleted.

test/TestPaths.cake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(c-import "<stdio.h>"
22
;; realpath
33
"<stdlib.h>")
4-
4+
(add-cakelisp-search-directory "runtime")
55
(import &comptime-only "Macros.cake")
66

77
(defun main (&return int)

0 commit comments

Comments
 (0)