Ginger Bill
8e3b77aba8
Library collections
2017-09-07 20:55:59 +01:00
Ginger Bill
1e3b3c107c
IR Fix for UnionTagValue
2017-08-28 23:04:48 +01:00
Ginger Bill
b9e347ef50
Replace import_load with using import .
2017-08-27 17:03:27 +01:00
Ginger Bill
49d337c830
v0.6.2; Use Ada_Case for types
2017-08-03 21:21:56 +01:00
Ginger Bill
62a72f0163
transmute(type)x; Minor code clean up
2017-07-30 14:52:42 +01:00
Ginger Bill
1df4aa90ce
Fix struct parameter bugs
2017-07-21 15:25:58 +01:00
Ginger Bill
dbddec33c8
Internal changes; thread.odin for windows only
2017-07-20 23:57:56 +01:00
Ginger Bill
9a3b4167bb
Fix polymorphic element types usage; Empty union as opaque type
2017-07-20 19:40:51 +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
65f079ebc4
Remove atomic, ++, and --
2017-07-18 18:58:41 +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
fd8c4d58bb
union type allow for any types and removes common fields
2017-07-10 22:32:21 +01:00
Ginger Bill
069a47220e
Make record semicolon syntax more consistent
2017-07-10 14:52:58 +01:00
Ginger Bill
66e4aaffc5
Use semicolons as field delimiters in records
2017-07-10 13:49:50 +01:00
Ginger Bill
81336b58cb
"Fix" printing of embedded any to prevent recursion
2017-07-10 10:37:51 +01:00
Ginger Bill
4b051a0d3b
.. half closed range; ... open range; ... variadic syntax
2017-07-07 23:42:43 +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
188bc28f6a
Allow for overloading of polymorphic procedures
2017-07-04 22:42:25 +01:00
Ginger Bill
ed089b44b9
do keyword for inline statements instead of blocks
2017-07-01 11:38:44 +01:00
Ginger Bill
94afcec757
:: style procedure declarations; remove old parsing code
2017-06-28 23:47:06 +01:00
Ginger Bill
4f28e9e1fb
Remove type prefix declarations
2017-06-28 23:23:10 +01:00
Ginger Bill
0622509807
Disable var and const declarations
2017-06-28 23:17:20 +01:00
Ginger Bill
a0d8dcd974
Remove let
2017-06-26 13:59:15 +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
35c102137f
Compiler compiles for x86 (doesn't work properly)
2017-06-19 18:49:11 +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
6a88dc322a
Declaration grouping uses braces rather than parentheses
2017-06-13 15:04:23 +01:00
Ginger Bill
83bad13e9e
Update default field value syntax; Use more declaration groupings
2017-06-12 18:38:27 +01:00
Ginger Bill
6b5e9aec8e
Pascal style declaration grouping with ()
2017-06-12 15:42:21 +01:00
Ginger Bill
2ab0d97573
import and import_load as keywords; Fix procedure literal call trick
2017-06-12 14:19:12 +01:00
Ginger Bill
0c05fc1432
Prefix type and let to replace immutable
2017-06-12 12:56:47 +01:00
Ginger Bill
33eeb58521
Prefix proc syntax
2017-06-12 12:34:55 +01:00
Ginger Bill
8fafdb185c
Remove := with var and :: with const
2017-06-12 11:48:12 +01:00
Ginger Bill
574b82c0c7
v0.3.0
2017-06-07 22:09:16 +01:00
Ginger Bill
f60c772c11
Make rune a basic type and not an alias; Remove byte
2017-06-06 23:54:33 +01:00
Ginger Bill
107740ca5e
Fix issue #69 for fmt.printf padding
2017-06-06 10:02:53 +01:00
Ginger Bill
eba2c74bff
Allow 128 bit map keys
2017-06-05 18:01:41 +01:00
Ginger Bill
ebe5beaafd
Allow using on bit fields
2017-06-04 11:53:33 +01:00
Ginger Bill
2c0e59ae06
bit_field; Lexical sugar operators ≠ ≤ ≥
...
Example below:
// See: https://en.wikipedia.org/wiki/Bit_field
BoxProps :: bit_field {
opaque : 1,
fill_colour : 3,
_ : 4,
show_border : 1,
border_colour : 3,
border_style : 2,
_ : 2,
width : 4,
height : 4,
_ : 8,
}
2017-06-03 22:27:23 +01:00
Ginger Bill
9d1a4c304a
Remove Quat from math.odin
2017-06-01 15:12:54 +01:00
Ginger Bill
13b8a1e348
Remove quaternion128 and quaternion256 as core types
2017-06-01 14:52:33 +01:00
Ginger Bill
0d4945dc87
Implement u128/i128 features; Add bits.odin
2017-06-01 14:23:46 +01:00
Ginger Bill
826e05c96e
Convert windows.odin to the new naming convention
2017-05-28 16:08:29 +01:00
Ginger Bill
d3f63e5903
Change label syntax for for and match from #label name to name:
2017-05-28 15:01:39 +01:00
Ginger Bill
80c034ec7c
Change naming convention from Ada_Like to RustLike
...
Naming Conventions:
In general, PascalCase for types and snake_case for values
Import Name: snake_case (but prefer single word)
Types: PascalCase
Union Variants: PascalCase
Enum Values: PascalCase
Procedures: snake_case
Local Variables: snake_case
Constant Variables: SCREAMING_SNAKE_CASE
2017-05-28 14:47:11 +01:00
Ginger Bill
45dbe8d354
default: to case:; no_alias to #no_alias
2017-05-27 11:47:21 +01:00