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 |
|
Ginger Bill
|
9faf0020cc
|
Amend Checker API
|
2017-06-21 21:46:27 +01:00 |
|
Ginger Bill
|
5957d7f7be
|
Implicit Parameter Passing based context system (replacing Thread Local Storage (TLS) approach)
|
2017-06-20 12:38:05 +01:00 |
|
Ginger Bill
|
35c102137f
|
Compiler compiles for x86 (doesn't work properly)
|
2017-06-19 18:49:11 +01:00 |
|
Ginger Bill
|
5427d14416
|
Code will compile as 32 bit but will causes errors in the linker on Windows
|
2017-06-19 15:55:09 +01:00 |
|
Ginger Bill
|
2957f007e3
|
Fix #location for anonymous procedures
|
2017-06-18 17:35:27 +01:00 |
|
Ginger Bill
|
04501c93fe
|
Implement assert and panic in user side code
Removes 2 more built-in procedures!
|
2017-06-18 17:25:28 +01:00 |
|
Ginger Bill
|
4236519b84
|
#location(..) and #call_location
|
2017-06-18 14:36:06 +01:00 |
|
Ginger Bill
|
2deb2f8eeb
|
Declaration grouping uses () rather than {}; Fix some problem with compilation on *nix
|
2017-06-17 12:01:53 +01:00 |
|
Ginger Bill
|
1851674b50
|
Code use API rather than raw CheckerInfo; begin work on generic procedures
|
2017-06-15 18:11:58 +01:00 |
|
Ginger Bill
|
c5ef5279d4
|
Add foreign variables
|
2017-06-15 14:42:08 +01:00 |
|