1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
NAME: --------------------------------------------------------------------------
The (Super) Simple Type System
Authors: -----------------------------------------------------------------------
Gustav Hartvigsson (c) 2013-2015
ABOUT: -------------------------------------------------------------------------
The software (The type-system) is an experiment. It was
written by Gustav Hartvigsson to see how to create a simple reference counting
type system that was super simple. (Redundancy is redundant).
The source code in ./libssts/ and ./libsstsmm/ is what constitutes the type system.
Omission to this is ./libssts/external/ and ./libsstsmm/external/, which are
external headers and may or may not have the same license as the rest of
the project.
If you need a real type system for C use GLib/GObject. It
is a much more mature and better designed type system
than mine.
HACKING: -----------------------------------------------------------------------
(We assume you are using a *Nix system or Cygwin/MinGW enviorment with the
correct tools.)
First make sure you have a place where you store your projects, say $HOME/devel/
or the likes and you are in that directory. And you need a launchpad account,
and set up your bazaar with your launchpad account.
Info on how to do this can be found here:
http://doc.bazaar.canonical.com/plugins/en/launchpad-plugin.html
https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair
When you start hacking it is importat to get a copy of the trunk, to do this run:
$ bzr branch lp:simpletypesystem simpletypesystem_trunk
This will be your local trunk copy and should not be changed for the time being.
To update your trunk run:
$ bzr pull
When you have your local trunk cd to it and run
$ ./build.sh branch my-branch-name-here
this will create a branch of your _local_ trunk copy. When it is done cd into
that new branch:
$ cd ../simpletypesystem_my-branch-name-here
Then we have to associate your branch with a branch on launchpad:
$ bzr push --remember lp:~<lp-username>/simpletypesystem/my-branch-name-here
Then you can start hacking!
To commit your changes you can run:
$ bzr commit
or
$ ./build.sh commit
to push your changed run
$ bzr push
to propose the changes for merge run
$ bzr lp-propose-merge
ALSO: --------------------------------------------------------------------------
THIS SOFTWARE IS DISTRIBUTED AS IS, IT IS AN EXPERIMENT
AND SHOULD BE TREATED AS SUCH. ALL AND ANY CLAIMS --
MONETARY OR OTHERWISE -- ARE VOID.
THIS SOFTWARE IS DISTRIBUTED UNDER THE BSD LICENCE.
NOTE THAT INCLUDATIONS (using #include or otherwise) OF
THE HEADER FILES (files ending with .h) IS _NOT_
CONSIDERED AS DERIVATIVE, BUT CHANGES TO THE HEADER
FILES IS.
|