Richard Brooksby
0d9d4bfaa1
Cleaning up fixmes. inststruct does not have a signature.
2023-03-09 09:59:16 +00:00
Richard Brooksby
787ea7d302
Moving design documentation of signatures to design.mps.sig and updating tagging from code to be consistent.
2023-03-09 09:40:03 +00:00
Gareth Rees
f47c389a52
Fix indentation of second clause of license.
2020-08-30 10:13:06 +01:00
Gareth Rees
af0f431eda
Use https: instead of http: when linking to the ravenbrook web site.
2020-08-30 10:13:03 +01:00
Peter Jackson
4de2606846
Publish licence updates in code directory.
...
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.
Copied from Perforce
Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
4eda4e85c7
Use tags with dots; regularize design references from code.
...
Copied from Perforce
Change: 195761
2018-11-29 17:12:29 +00:00
Gareth Rees
30245c19b1
Avoid duplicate tag nams.
...
Copied from Perforce
Change: 194081
2018-06-22 09:45:24 +01:00
Richard Brooksby
a6dbb075df
Making init a method on inst and using it as next-method in segments.
...
Copied from Perforce
Change: 191603
ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
a9c54783bf
Making finish a method on inst and implementing generic finish for segments.
...
Copied from Perforce
Change: 191602
ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
9a38cd69db
Making describe a method on inst and implementing generic describe for segments.
...
Copied from Perforce
Change: 191601
ServerID: perforce.ravenbrook.com
2016-04-23 15:37:11 +01:00
Gareth Rees
fb3e4144a9
Untabify.
...
Copied from Perforce
Change: 191528
ServerID: perforce.ravenbrook.com
2016-04-21 20:50:45 +01:00
Richard Brooksby
53b29cf030
Typo.
...
Copied from Perforce
Change: 191479
ServerID: perforce.ravenbrook.com
2016-04-21 15:27:41 +01:00
Richard Brooksby
fe91fa9480
Squelching bogus type pun warnings from gcc 4.7 to get a clean build in travis ci.
...
Adding platform XCI6GC to allow faster debugging of CI builds on Mac OS X with MacPorts GCC 4.7 installed. Not otherwise supported.
Copied from Perforce
Change: 191357
ServerID: perforce.ravenbrook.com
2016-04-20 13:59:23 +01:00
Richard Brooksby
32250731d7
Avoid using "class" as an identifier, since tools like lldb parse expressions as c++, and it can't be named.
...
Copied from Perforce
Change: 191304
ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Richard Brooksby
c708f93154
Eliminating classdef.h by defining the class level when declaring a class.
...
Copied from Perforce
Change: 191235
ServerID: perforce.ravenbrook.com
2016-04-19 14:59:30 +01:00
Richard Brooksby
bb5a36b27e
Using the address of the class as its id as a step to eliminating classdef.h.
...
Copied from Perforce
Change: 191234
ServerID: perforce.ravenbrook.com
2016-04-19 14:21:29 +01:00
Richard Brooksby
f21d24ee6c
Improving documentation in response to review by gdr.
...
See <https://info.ravenbrook.com/mail/2016/04/14/10-02-00/0/ > and <https://info.ravenbrook.com/mail/2016/04/14/11-21-48/0/ >.
Copied from Perforce
Change: 191229
ServerID: perforce.ravenbrook.com
2016-04-19 13:28:00 +01:00
Richard Brooksby
ab5d377fc1
Adding instdescribe as the ultimate base describe method.
...
Copied from Perforce
Change: 191073
ServerID: perforce.ravenbrook.com
2016-04-12 20:53:42 +01:00
Richard Brooksby
fed0dd6142
Interning strings for all classes to the event system, not just the hacky one for pool classes.
...
Copied from Perforce
Change: 191071
ServerID: perforce.ravenbrook.com
2016-04-12 18:44:05 +01:00
Richard Brooksby
7a88275b88
Prevent race and then infinite regress when initializing the root classes.
...
Copied from Perforce
Change: 190981
ServerID: perforce.ravenbrook.com
2016-04-12 12:22:58 +01:00
Richard Brooksby
7981236042
Fixing instclass initialisation of its own class.
...
Properly bracketing cast expression in CouldBeA.
Copied from Perforce
Change: 190968
ServerID: perforce.ravenbrook.com
2016-04-12 00:57:00 +01:00
Richard Brooksby
a38bb879ef
Commentary and design document improvements.
...
Copied from Perforce
Change: 190967
ServerID: perforce.ravenbrook.com
2016-04-12 00:09:17 +01:00
Richard Brooksby
d31995246d
Making classes into instances of kinds, allowing subclass tests to be used to validate classes as well.
...
Copied from Perforce
Change: 190958
ServerID: perforce.ravenbrook.com
2016-04-11 20:58:39 +01:00
Richard Brooksby
12d4dfda16
Eliminating generated classof* and setclassof* functions in favour of checked poly macros.
...
Copied from Perforce
Change: 190938
ServerID: perforce.ravenbrook.com
2016-04-11 18:06:47 +01:00
Richard Brooksby
964cd6147f
Checking that classes are the right kind using signatures.
...
Copied from Perforce
Change: 190936
ServerID: perforce.ravenbrook.com
2016-04-11 17:38:47 +01:00
Richard Brooksby
5307650059
Implementing nextmethod and replacing all uses of superclass with it.
...
Copied from Perforce
Change: 190935
ServerID: perforce.ravenbrook.com
2016-04-11 16:54:39 +01:00
Richard Brooksby
db6752b47d
Implementing mustbea_critical and elision of mustbea assertions in different varieties.
...
Copied from Perforce
Change: 190925
ServerID: perforce.ravenbrook.com
2016-04-11 16:09:29 +01:00
Richard Brooksby
78ad983c55
Adding classname for use in describe methods.
...
Fixing error path to use class destroy in ArenaCreate.
Using MustBeA to reduce boiler plate in land classes.
Copied from Perforce
Change: 190904
ServerID: perforce.ravenbrook.com
2016-04-11 14:06:28 +01:00
Richard Brooksby
ccced27857
Noting potential optimisation of superclass.
...
Copied from Perforce
Change: 190886
ServerID: perforce.ravenbrook.com
2016-04-11 06:36:28 +01:00
Richard Brooksby
3dd201bf47
Turning pool init methods the right way in, so that they each call the next method up the class hierarchy.
...
Copied from Perforce
Change: 190858
ServerID: perforce.ravenbrook.com
2016-04-10 17:49:08 +01:00
Richard Brooksby
111136891e
Adding instinit and instfinish and using them as next methods in seginit, segfinish, etc.
...
Copied from Perforce
Change: 190857
ServerID: perforce.ravenbrook.com
2016-04-10 15:33:17 +01:00
Richard Brooksby
187a9129a8
Fixing level of instclass so that class checks work properly.
...
Copied from Perforce
Change: 190851
ServerID: perforce.ravenbrook.com
2016-04-10 12:33:47 +01:00
Richard Brooksby
d462d4b36d
Repairing superclass by taking a kind, which can later be checked.
...
Copied from Perforce
Change: 190850
ServerID: perforce.ravenbrook.com
2016-04-10 12:28:51 +01:00
Richard Brooksby
3bc19084f6
Fixing mustbea to not return a void *.
...
Copied from Perforce
Change: 190849
ServerID: perforce.ravenbrook.com
2016-04-08 20:29:33 +01:00
Richard Brooksby
a56de59509
Generating type-safe functions for getting and setting the class of instances.
...
Fixing warning revealed by GCC that I wasn't actually checking classes after init.
Fixing abstract classes so that they pass their own checks!
Copied from Perforce
Change: 190837
ServerID: perforce.ravenbrook.com
2016-04-08 19:50:12 +01:00
Richard Brooksby
d2f191f0d2
Using common code for class getters and setters.
...
Copied from Perforce
Change: 190836
ServerID: perforce.ravenbrook.com
2016-04-08 18:33:34 +01:00
Richard Brooksby
5a0c818945
Explicitly making inststruct the prefix of instances, eliminating pointer punning of class pointers, and reducing likelihood of editing errors.
...
Copied from Perforce
Change: 190830
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
a5ea15c8ff
Eliminating issubclasspoly and replacing with compile-time constant test.
...
Copied from Perforce
Change: 190829
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
260964fdac
Replacing prime factor subclass test with array-based test, because the type ids were overflowing 32 bits.
...
Copied from Perforce
Change: 190828
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
43b3f1a5cb
Generating a static superclass mapping and eliminating other superclass macros.
...
Copied from Perforce
Change: 190827
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
298addf910
Implementing isa, mustbea, couldbea, and reshaping the land classes to put the init, finish, and describe methods the right way in.
...
Copied from Perforce
Change: 190826
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
1d28eaff07
Eliminating the concept of "alias classes" in favour of "kinds".
...
Copied from Perforce
Change: 190825
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
2e191a810e
Referring to classes by their base identifiers.
...
Copied from Perforce
Change: 190823
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
09e73dd1da
Renaming protocolinst to inst and protocolclass to instclass to make naming consistent with other classes.
...
Copied from Perforce
Change: 190822
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
50ad46051c
Using prime factors to determine subclass relationships quickly.
...
Copied from Perforce
Change: 190817
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
e041841a88
Moving common fields into the base class, starting with the class name.
...
Copied from Perforce
Change: 190816
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
780e5991cb
Removing never-used multiple inheritance speculation.
...
Copied from Perforce
Change: 190815
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
847272c3b5
Eliminating structure copy by sharing class init method.
...
Copied from Perforce
Change: 190814
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
93b423efdf
Sharing definition of class declaration in class definition.
...
Copied from Perforce
Change: 190813
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
c1abe0e9fd
Abstracting class declarations and references to classes.
...
Copied from Perforce
Change: 190812
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00