Commit Graph

58 Commits

Author SHA1 Message Date
Ginger Bill f40482aa29 Maybe types; value, ok := maybe_value(x) 2016-10-06 23:30:22 +01:00
Ginger Bill 50301557b2 Untyped nil 2016-10-06 17:11:17 +01:00
Ginger Bill 04b5d8c132 using on indexable field; Auto deref for (Index|Slice)Expr 2016-09-29 00:42:26 +01:00
Ginger Bill f6bbd8a4c2 Fix minimal dependency for nested entities 2016-09-27 18:12:46 +01:00
Ginger Bill b593332942 Minimal Dependency Map: Only build what is needed 2016-09-27 15:28:44 +01:00
Ginger Bill a31bab5aae Unicode file loading; push_allocator & push_context 2016-09-23 14:59:58 +01:00
Ginger Bill 6907951f1e Fix type info generation
The problem: entry's index != entry->value in info_type_map
But I was assuming this
2016-09-22 13:34:14 +01:00
Ginger Bill 664c2cd7a5 Fix enum type comparison; Start demo 003 code 2016-09-21 23:26:31 +01:00
Ginger Bill 59b0cf61ef fmt improvement; Minor refactoring 2016-09-19 23:59:26 +01:00
Ginger Bill 3b266b194f enum_to_string fix; enum count, min_value, max_value 2016-09-19 22:26:07 +01:00
Ginger Bill 9561dc33ce enum_to_string 2016-09-19 21:33:52 +01:00
Ginger Bill 828095afd1 Better name mangler for SSA generation
TODO: Define better name mangling rules and allow for explicit name overload
2016-09-18 21:44:22 +01:00
Ginger Bill b6cb4f4d14 #file #line directives 2016-09-15 00:53:00 +01:00
Ginger Bill 817ae643c5 Remove len(), cap() and replace with selectors; fix defer in match 2016-09-13 14:04:05 +01:00
Ginger Bill 687e78d5dd Some global init cleanup; volatile types 2016-09-12 12:05:38 +01:00
Ginger Bill 7509cdceb8 Default struct member reordering for minimal size
Rule: largest members to smallest; if same size, order in source order
2016-09-10 11:24:50 +01:00
Ginger Bill 6979678ff9 Begin reording of struct members by default. 2016-09-09 23:33:54 +01:00
Ginger Bill 1ca752ce04 Remove duplicates in type info data. 2016-09-09 19:48:28 +01:00
Ginger Bill 56dd12c54c Fix match statements for the new AstNodeArray type 2016-09-08 18:28:18 +01:00
Ginger Bill c6d02e4778 Fix missing type_info with manual linear search 2016-09-08 00:23:14 +01:00
Ginger Bill 7ba13a18a3 Basic variadic print procedure 2016-09-07 19:23:00 +01:00
Ginger Bill 2c4193a242 any type 2016-09-07 15:15:10 +01:00
Ginger Bill ae72b3c5bd Tagged unions memory layout change; begin demo 002 2016-09-04 22:50:17 +01:00
Ginger Bill 7f884ed251 Start implementing Tagged Unions 2016-09-03 18:18:45 +01:00
Ginger Bill 11205f968a Typesafe variadic procedures 2016-09-03 12:41:03 +01:00
Ginger Bill fa09d805e2 Match statements; Type System change (Type_Record for all sum and product types) 2016-09-01 20:38:44 +01:00
Ginger Bill 5399463d9d down_cast 2016-08-31 00:52:19 +01:00
Ginger Bill cda0234d48 Subtyping Polymorphic arguments; using procedure parameters 2016-08-30 23:32:04 +01:00
Ginger Bill a06f70d5d9 Better using; foreign system libraries; optional semicolons 2016-08-30 18:39:29 +01:00
Ginger Bill 0eaf7bd830 Begin "Everything's a namespace" 2016-08-30 00:04:14 +01:00
Ginger Bill 3a189b9c1c Save before Demo 001 2016-08-25 19:52:51 +01:00
Ginger Bill d2c64be85c using on struct/union fields 2016-08-24 23:25:56 +01:00
Ginger Bill 6bd898e552 Untagged (unsafe) unions and unambiguous in|postfix notation. 2016-08-24 15:06:36 +01:00
gingerBill 81c592b5e9 Integer Enumerations 2016-08-22 15:43:13 +01:00
gingerBill a98e93f03f File Library and TypeDecl syntax change 2016-08-22 11:52:49 +01:00
gingerBill 680274b6f1 Implicit Context and #thread_local 2016-08-19 23:35:09 +01:00
gingerBill 6f9d11b381 Remove scalar*vector; swizzle; broadcast 2016-08-17 18:36:37 +01:00
gingerBill e8530ca883 Win32 Demo: OpenGL Context 2016-08-16 20:08:40 +01:00
gingerBill 0f48a7d299 #foreign "custom_name"; <N x i1> bugs (see test.ll and test2.ll) 2016-08-14 22:19:39 +01:00
gingerBill b44bc99b88 append :: proc(s: ^[]T, i: T) -> bool 2016-08-14 15:31:11 +01:00
gingerBill ee00236412 expr as type; {N}bool is still causing problems 2016-08-14 12:22:31 +01:00
gingerBill 19cc77dad3 Code generation for procedure literals 2016-08-11 21:53:44 +01:00
gingerBill 153c27c755 Tuple support in codegen 2016-08-10 11:53:17 +01:00
gingerBill c930841f83 f16/f128,u|i128, basic vector support. 2016-08-10 10:00:57 +01:00
gingerBill ba238c569a Strings galore! 2016-08-05 21:07:25 +01:00
gingerBill 4a303b5c3e Minor refactor and basic library 2016-08-05 15:17:23 +01:00
gingerBill 19aea1f198 Basic call expression and fix to assignment count checking 2016-08-03 22:27:36 +01:00
gingerBill 0e92166d44 Slice creation for SliceExpr 2016-08-03 14:17:13 +01:00
gingerBill 70f6282f41 Variable declaration and assign, unary operators 2016-07-31 23:01:42 +01:00
gingerBill 776dc0e8f1 Restart LLVM IR SSA generation
This is the third go and I'm going for it!
2016-07-30 00:17:13 +01:00