Ginger Bill
|
62a72f0163
|
transmute(type)x; Minor code clean up
|
2017-07-30 14:52:42 +01:00 |
|
Ginger Bill
|
ca36fabfc0
|
Remove dead code for the "fixed" map idea
|
2017-07-29 14:43:42 +01:00 |
|
gingerBill
|
28be0ad69b
|
Fix IR print bug for empty structs;
|
2017-07-28 11:35:01 +01:00 |
|
Ginger Bill
|
13bc6eeea4
|
Make fields et al an Array rather than a raw pointer
|
2017-07-20 15:32:34 +01:00 |
|
Ginger Bill
|
2da18b6d33
|
Change internals from Record to Struct
|
2017-07-20 15:23:13 +01:00 |
|
Ginger Bill
|
6d37ed12d2
|
Update internals of a Union and Tuple
|
2017-07-20 15:17:04 +01:00 |
|
Ginger Bill
|
f1ab17ed4e
|
type_info_of; enum_value_to_string and string_to_enum_value
|
2017-07-19 14:01:56 +01:00 |
|
Ginger Bill
|
6113164211
|
Change union layout to store type info rather than an integer; ternary expression for types with constant condition
|
2017-07-19 12:15:21 +01:00 |
|
Ginger Bill
|
59fb7b020a
|
Merge raw_union into struct as a memory layout tag #raw_union
|
2017-07-18 19:24:45 +01:00 |
|
Ginger Bill
|
65f079ebc4
|
Remove atomic, ++, and --
|
2017-07-18 18:58:41 +01:00 |
|
Ginger Bill
|
277ef1a68f
|
Allow undefined --- as a struct field default value.
|
2017-07-18 15:09:24 +01:00 |
|
Ginger Bill
|
193c7c82c8
|
Default struct field values
|
2017-07-18 14:56:07 +01:00 |
|
Ginger Bill
|
9a8759efef
|
Polymorphic type specialization for procedures
|
2017-07-17 15:08:36 +01:00 |
|
Ginger Bill
|
054948e701
|
Basic procedure type parameter specialization
|
2017-07-16 15:00:16 +01:00 |
|
Ginger Bill
|
1c5ddd65b4
|
Rudimentary support for parametric polymorphic types
|
2017-07-13 22:35:00 +01:00 |
|
Ginger Bill
|
b8697fb4ed
|
Change precedence order for types e.g. ^T(x) == ^(T(x))
|
2017-07-13 16:20:07 +01:00 |
|
Ginger Bill
|
c4c6975f1b
|
cast(Type)expr; Fix overloaded procedure determination on assignment
|
2017-07-11 14:40:27 +01:00 |
|
Ginger Bill
|
3868a9a0f0
|
Clean up _preload.odin types
|
2017-07-10 23:15:41 +01:00 |
|
Ginger Bill
|
ba5050ac7c
|
Compiler Internal Changes: TypeRecord_Union -> Type_Union
|
2017-07-10 22:59:23 +01:00 |
|
Ginger Bill
|
d936ca1ea0
|
Compiler internal change: TypeRecord_Enum -> Type_Enum
|
2017-07-10 22:42:58 +01:00 |
|
Ginger Bill
|
fd8c4d58bb
|
union type allow for any types and removes common fields
|
2017-07-10 22:32:21 +01:00 |
|
Ginger Bill
|
ce4b7b8b7d
|
Nested record declarations
|
2017-07-10 20:39:42 +01:00 |
|
Ginger Bill
|
773cf5ca08
|
Add -show-timings; Clean up polymorphic procedure code a bit
|
2017-07-07 15:26:49 +01:00 |
|
Ginger Bill
|
2db03cb4a5
|
Fix aprint* bug; NULL -> nullptr; Better error messages for overloaded functions
|
2017-07-06 22:43:55 +01:00 |
|
Ginger Bill
|
eed873c6ec
|
Add free for maps (a previous oversight)
|
2017-07-05 13:51:25 +01:00 |
|
Ginger Bill
|
3d2d461867
|
Replace many built-in procedures with user-level procedures
|
2017-07-04 23:52:00 +01:00 |
|
Ginger Bill
|
82696179e8
|
Merge branch 'master' of https://github.com/gingerBill/Odin
|
2017-07-04 22:42:41 +01:00 |
|
Ginger Bill
|
188bc28f6a
|
Allow for overloading of polymorphic procedures
|
2017-07-04 22:42:25 +01:00 |
|
Ginger Bill
|
240da5c8e0
|
Allow aliasing of aliases
|
2017-07-04 16:06:08 +01:00 |
|
Ginger Bill
|
689a0c0b49
|
*_of as keyords; Allow constant aliasing for user/built-in procedures, import names, and library names
|
2017-07-04 11:23:48 +01:00 |
|
Ginger Bill
|
bc16b290ba
|
Disable polymorphic overloading in the global scope
TODO: Figure out why it does not work in the global scope
|
2017-07-02 22:08:39 +01:00 |
|
Ginger Bill
|
96d32680fe
|
Allow overloading of polymorphic procedures
|
2017-07-02 10:45:22 +01:00 |
|
Ginger Bill
|
e4a8283327
|
Remove Type
What was I thinking?!
|
2017-06-29 15:48:07 +01:00 |
|
Ginger Bill
|
001baf4419
|
Add Type -- Runtime type for comparing types (similar to TypeInfo but simpler)
|
2017-06-29 15:13:41 +01:00 |
|
Ginger Bill
|
d167290b28
|
Make AstNodeIdent a struct wrapping its Token
|
2017-06-29 12:11:50 +01:00 |
|
Ginger Bill
|
f4879d4723
|
Update procedure names and extend demo.odin
|
2017-06-29 11:25:05 +01:00 |
|
Ginger Bill
|
94afcec757
|
:: style procedure declarations; remove old parsing code
|
2017-06-28 23:47:06 +01:00 |
|
Ginger Bill
|
9ca2246bac
|
Basic allowance for := and ::
|
2017-06-28 22:38:04 +01:00 |
|
Ginger Bill
|
647e2cafd7
|
Fix expand_to_tuple
|
2017-06-27 22:47:19 +01:00 |
|
Ginger Bill
|
c949ca2a5c
|
Allow for named arguments for polymorphic procedures
|
2017-06-26 18:20:24 +01:00 |
|
Ginger Bill
|
a0d8dcd974
|
Remove let
|
2017-06-26 13:59:15 +01:00 |
|
Ginger Bill
|
c642e326ce
|
Undef value --- (for setting a value to be uninitialized/undefined)
|
2017-06-26 11:57:26 +01:00 |
|
Ginger Bill
|
362a118782
|
Remove "overloading" bug of para-poly-procs
|
2017-06-25 23:41:46 +01:00 |
|
Ginger Bill
|
3ab481df17
|
new as a user-level procedure
|
2017-06-25 22:31:30 +01:00 |
|
Ginger Bill
|
4e7150b470
|
Allow nested para-poly procedures
|
2017-06-25 22:29:23 +01:00 |
|
Ginger Bill
|
1ced92be47
|
Rudimentary para-poly procedures
|
2017-06-25 22:15:30 +01:00 |
|
Ginger Bill
|
18f885efab
|
expand_to_tuple
|
2017-06-24 20:39:37 +01:00 |
|
Ginger Bill
|
bba088bee7
|
Use UTF-8 command line on windows
|
2017-06-24 11:42:49 +01:00 |
|
Ginger Bill
|
6cbb6bef0b
|
Wrap hashing functions
|
2017-06-22 16:14:02 +01:00 |
|
Ginger Bill
|
8197c02dcf
|
Default result values for procedure types; Named result values in return statements
|
2017-06-22 01:14:45 +01:00 |
|