~gustav-hartvigsson/simpletypesystem/ring_buffer

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.