Commit Graph

  • a0ae02168a Update add_type_info_type to ignore polymorphic types Ginger Bill 2017-07-30 20:13:23 +01:00
  • a3c1ac2030 Speed up llvm ir printing; Use CRITICAL_SECTION for Mutex on windows Ginger Bill 2017-07-30 19:47:37 +01:00
  • 629b248f53 Parallelization of the Parser ~66% reduction (unoptimized build) ~30% reduction (optimized build) Ginger Bill 2017-07-30 19:01:02 +01:00
  • 62a72f0163 transmute(type)x; Minor code clean up Ginger Bill 2017-07-30 14:52:42 +01:00
  • 655931f0ea Minor Simplification of threading demo Ginger Bill 2017-07-29 15:18:36 +01:00
  • ca36fabfc0 Remove dead code for the "fixed" map idea Ginger Bill 2017-07-29 14:43:42 +01:00
  • 7bd62481ad Fix nil assignment to unions Ginger Bill 2017-07-29 14:23:34 +01:00
  • fbd27d7c45 Fix map internal type generation Ginger Bill 2017-07-29 13:56:45 +01:00
  • 3546391311 Merge branch 'master' of https://github.com/gingerBill/Odin Ginger Bill 2017-07-29 13:01:28 +01:00
  • 24c812115e Remove empty union check on array types; Fix overflowing error printing Ginger Bill 2017-07-29 13:01:17 +01:00
  • 28be0ad69b Fix IR print bug for empty structs; gingerBill 2017-07-28 11:35:01 +01:00
  • f0980c0a98 Fix import name exportation bug; Fix procedure type printing gingerBill 2017-07-24 07:57:09 +01:00
  • 1df4aa90ce Fix struct parameter bugs Ginger Bill 2017-07-21 15:25:58 +01:00
  • 6b3cf051f8 Fix math.odin, again Ginger Bill 2017-07-21 12:39:05 +01:00
  • 4ecd6e592b Fix missing semicolons in math.odin Ginger Bill 2017-07-21 10:37:49 +01:00
  • dbddec33c8 Internal changes; thread.odin for windows only Ginger Bill 2017-07-20 23:57:56 +01:00
  • 401a5955a4 Fix minor check on vector types Ginger Bill 2017-07-20 19:55:54 +01:00
  • 9a3b4167bb Fix polymorphic element types usage; Empty union as opaque type Ginger Bill 2017-07-20 19:40:51 +01:00
  • 13bc6eeea4 Make fields et al an Array rather than a raw pointer Ginger Bill 2017-07-20 15:32:34 +01:00
  • 2da18b6d33 Change internals from Record to Struct Ginger Bill 2017-07-20 15:23:13 +01:00
  • 6d37ed12d2 Update internals of a Union and Tuple Ginger Bill 2017-07-20 15:17:04 +01:00
  • eab23cd5b7 Fix parsing bug with procedure types in return values Ginger Bill 2017-07-19 22:34:50 +01:00
  • d233706a2d Fix minor parsing bug with procedure return types Ginger Bill 2017-07-19 22:17:57 +01:00
  • f1ab17ed4e type_info_of; enum_value_to_string and string_to_enum_value Ginger Bill 2017-07-19 14:01:56 +01:00
  • 6113164211 Change union layout to store type info rather than an integer; ternary expression for types with constant condition Ginger Bill 2017-07-19 12:15:21 +01:00
  • 4db462a703 Fix copy Ginger Bill 2017-07-18 20:39:53 +01:00
  • a22c6d6c0c Fix parsing error for compound literals Ginger Bill 2017-07-18 19:57:30 +01:00
  • 59fb7b020a Merge raw_union into struct as a memory layout tag #raw_union Ginger Bill 2017-07-18 19:24:45 +01:00
  • 65f079ebc4 Remove atomic, ++, and -- Ginger Bill 2017-07-18 18:58:41 +01:00
  • d16aa79492 General specialization for polymorphic parameters Ginger Bill 2017-07-18 18:05:41 +01:00
  • 5af0acc4af Disallow default struct values for any; new_clone Ginger Bill 2017-07-18 16:02:01 +01:00
  • a459364de3 Ignore missing default values for struct literals at the end Ginger Bill 2017-07-18 15:32:34 +01:00
  • 277ef1a68f Allow undefined --- as a struct field default value. Ginger Bill 2017-07-18 15:09:24 +01:00
  • 193c7c82c8 Default struct field values Ginger Bill 2017-07-18 14:56:07 +01:00
  • f7d8ba408c Fix some preload bugs. Ginger Bill 2017-07-18 11:42:16 +01:00
  • 9a8759efef Polymorphic type specialization for procedures Ginger Bill 2017-07-17 15:08:36 +01:00
  • 054948e701 Basic procedure type parameter specialization Ginger Bill 2017-07-16 15:00:16 +01:00
  • 1c5ddd65b4 Rudimentary support for parametric polymorphic types Ginger Bill 2017-07-13 22:35:00 +01:00
  • b8697fb4ed Change precedence order for types e.g. ^T(x) == ^(T(x)) Ginger Bill 2017-07-13 16:20:07 +01:00
  • 03570275c1 Fix issue #78 and have a better error message. Ginger Bill 2017-07-13 11:35:01 +01:00
  • b5587f1937 Fix aliasing of overloaded procedures from other scopes Ginger Bill 2017-07-11 20:54:38 +01:00
  • c4c6975f1b cast(Type)expr; Fix overloaded procedure determination on assignment Ginger Bill 2017-07-11 14:40:27 +01:00
  • 0be0fb2a57 Nested when statements within records Ginger Bill 2017-07-10 23:47:22 +01:00
  • 115e6e7f9e Update demo for both subtyping and union based Entity Ginger Bill 2017-07-10 23:28:53 +01:00
  • 3868a9a0f0 Clean up _preload.odin types Ginger Bill 2017-07-10 23:15:41 +01:00
  • ba5050ac7c Compiler Internal Changes: TypeRecord_Union -> Type_Union Ginger Bill 2017-07-10 22:59:23 +01:00
  • d936ca1ea0 Compiler internal change: TypeRecord_Enum -> Type_Enum Ginger Bill 2017-07-10 22:42:58 +01:00
  • fd8c4d58bb union type allow for any types and removes common fields Ginger Bill 2017-07-10 22:32:21 +01:00
  • ce4b7b8b7d Nested record declarations Ginger Bill 2017-07-10 20:39:42 +01:00
  • 069a47220e Make record semicolon syntax more consistent Ginger Bill 2017-07-10 14:52:58 +01:00
  • 66e4aaffc5 Use semicolons as field delimiters in records Ginger Bill 2017-07-10 13:49:50 +01:00
  • 81336b58cb "Fix" printing of embedded any to prevent recursion Ginger Bill 2017-07-10 10:37:51 +01:00
  • b201670f7a Fix _preload.odin; Add for in without parameters; Change sync.Mutex for windows Ginger Bill 2017-07-08 23:13:57 +01:00
  • 4b051a0d3b .. half closed range; ... open range; ... variadic syntax Ginger Bill 2017-07-07 23:42:43 +01:00
  • 45353465a6 Add sort.odin Ginger Bill 2017-07-07 22:26:55 +01:00
  • c63cb98019 Fix else do Ginger Bill 2017-07-07 17:50:45 +01:00
  • 773cf5ca08 Add -show-timings; Clean up polymorphic procedure code a bit Ginger Bill 2017-07-07 15:26:49 +01:00
  • 2db03cb4a5 Fix aprint* bug; NULL -> nullptr; Better error messages for overloaded functions Ginger Bill 2017-07-06 22:43:55 +01:00
  • eed873c6ec Add free for maps (a previous oversight) Ginger Bill 2017-07-05 13:51:25 +01:00
  • 3d2d461867 Replace many built-in procedures with user-level procedures Ginger Bill 2017-07-04 23:52:00 +01:00
  • 36392d658e Fix demo.odin Ginger Bill 2017-07-04 22:43:38 +01:00
  • 82696179e8 Merge branch 'master' of https://github.com/gingerBill/Odin Ginger Bill 2017-07-04 22:42:41 +01:00
  • 188bc28f6a Allow for overloading of polymorphic procedures Ginger Bill 2017-07-04 22:42:25 +01:00
  • 240da5c8e0 Allow aliasing of aliases Ginger Bill 2017-07-04 16:06:08 +01:00
  • 689a0c0b49 *_of as keyords; Allow constant aliasing for user/built-in procedures, import names, and library names Ginger Bill 2017-07-04 11:23:48 +01:00
  • bc16b290ba Disable polymorphic overloading in the global scope TODO: Figure out why it does not work in the global scope Ginger Bill 2017-07-02 22:08:39 +01:00
  • 96d32680fe Allow overloading of polymorphic procedures Ginger Bill 2017-07-02 10:45:22 +01:00
  • d782b3d21d Fix do on for loops Ginger Bill 2017-07-01 11:53:01 +01:00
  • ed089b44b9 do keyword for inline statements instead of blocks Ginger Bill 2017-07-01 11:38:44 +01:00
  • 33f4af2e19 Fix demo Ginger Bill 2017-06-29 21:01:07 +01:00
  • 69f7382eec Implicit parametric polymorphic procedures Ginger Bill 2017-06-29 20:56:18 +01:00
  • 7e3293fc20 Fix odin version printing Ginger Bill 2017-06-29 16:08:30 +01:00
  • e4a8283327 Remove Type What was I thinking?! Ginger Bill 2017-06-29 15:48:07 +01:00
  • 001baf4419 Add Type -- Runtime type for comparing types (similar to TypeInfo but simpler) Ginger Bill 2017-06-29 15:13:41 +01:00
  • d167290b28 Make AstNodeIdent a struct wrapping its Token Ginger Bill 2017-06-29 12:11:50 +01:00
  • f4879d4723 Update procedure names and extend demo.odin Ginger Bill 2017-06-29 11:25:05 +01:00
  • fd81c06c35 Remove var and const keywords; Fix default parameter syntax Ginger Bill 2017-06-28 23:55:40 +01:00
  • 94afcec757 :: style procedure declarations; remove old parsing code Ginger Bill 2017-06-28 23:47:06 +01:00
  • 4f28e9e1fb Remove type prefix declarations Ginger Bill 2017-06-28 23:23:10 +01:00
  • 0622509807 Disable var and const declarations Ginger Bill 2017-06-28 23:17:20 +01:00
  • 9ca2246bac Basic allowance for := and :: Ginger Bill 2017-06-28 22:38:04 +01:00
  • 647e2cafd7 Fix expand_to_tuple Ginger Bill 2017-06-27 22:47:19 +01:00
  • 5df854fcef Fixed demo v0.5.0 Ginger Bill 2017-06-27 15:58:53 +01:00
  • 260089431e Write demo for v0.5.0 Ginger Bill 2017-06-26 21:34:54 +01:00
  • d0d8da8c08 Revert demo Ginger Bill 2017-06-26 19:42:32 +01:00
  • d1365b3466 Fix poly-procs for variadic calls Ginger Bill 2017-06-26 19:24:04 +01:00
  • c949ca2a5c Allow for named arguments for polymorphic procedures Ginger Bill 2017-06-26 18:20:24 +01:00
  • d974b29f67 Reduce excessive node cloning on para-poly checking and fix scope bug Ginger Bill 2017-06-26 14:39:51 +01:00
  • cc7316bb35 Fix IR printing for para-poly procedures Ginger Bill 2017-06-26 14:16:16 +01:00
  • a0d8dcd974 Remove let Ginger Bill 2017-06-26 13:59:15 +01:00
  • c642e326ce Undef value --- (for setting a value to be uninitialized/undefined) Ginger Bill 2017-06-26 11:57:26 +01:00
  • 362a118782 Remove "overloading" bug of para-poly-procs Ginger Bill 2017-06-25 23:41:46 +01:00
  • 3ab481df17 new as a user-level procedure Ginger Bill 2017-06-25 22:31:30 +01:00
  • 4e7150b470 Allow nested para-poly procedures Ginger Bill 2017-06-25 22:29:23 +01:00
  • 1ced92be47 Rudimentary para-poly procedures Ginger Bill 2017-06-25 22:15:30 +01:00
  • 15dbea6899 Generic procedures generate types on use Ginger Bill 2017-06-25 19:41:07 +01:00
  • c4081393c1 Fix typo for some built-in procedures Ginger Bill 2017-06-25 17:36:10 +01:00
  • 1d81b73df9 Basic command line flags: e.g. -opt=0 Ginger Bill 2017-06-24 22:58:50 +01:00
  • 18f885efab expand_to_tuple Ginger Bill 2017-06-24 20:39:37 +01:00
  • bba088bee7 Use UTF-8 command line on windows Ginger Bill 2017-06-24 11:42:49 +01:00