gingerBill
6b3c4cc379
Remove u128 and i128
2018-01-13 22:26:37 +00:00
gingerBill
74fa7ca25d
New slice memory layout (ptr+len); byte
2017-11-26 18:36:46 +00:00
gingerBill
5a9223afda
nil_allocator; Fix IR type checking assert; append_string
2017-11-26 15:25:45 +00:00
Ginger Bill
c1e720a49b
match to switch; Optional semicolons after "import" statements
2017-10-01 17:09:57 +01:00
Ginger Bill
c43d66c286
Use comma for struct field separators (disallow nesting)
2017-09-21 23:18:28 +01:00
Ginger Bill
3bfaac0844
Fix decimal.odin assignment bug
2017-09-20 22:59:46 +01:00
Ginger Bill
cbcf4b6071
Fix issue #94
2017-09-11 22:49:26 +01:00
Ginger Bill
8e3b77aba8
Library collections
2017-09-07 20:55:59 +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
9a3b4167bb
Fix polymorphic element types usage; Empty union as opaque type
2017-07-20 19:40:51 +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
66e4aaffc5
Use semicolons as field delimiters in records
2017-07-10 13:49:50 +01:00
Ginger Bill
4b051a0d3b
.. half closed range; ... open range; ... variadic syntax
2017-07-07 23:42:43 +01:00
Ginger Bill
188bc28f6a
Allow for overloading of polymorphic procedures
2017-07-04 22:42:25 +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
6b65ef6d88
Fix compilation bug on Linux
2017-06-21 17:48:50 +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
a8e458339b
foreign_library allow for Pascal-style grouping
2017-06-12 16:26:51 +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
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
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
0d4945dc87
Implement u128/i128 features; Add bits.odin
2017-06-01 14:23:46 +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
Ginger Bill
f7f2272c50
Fix fmt_float precision
2017-05-07 11:42:27 +01:00
Ginger Bill
784f3ecf7e
Syntax change: cast(T)x => T(x); union_cast(T)x => x.(T); transmute(T)x => transmute(T, x); y:=^x => y:=&x;
...
Sorry for all the code breaking in this commit :(
2017-04-30 15:09:36 +01:00
Ginger Bill
0ea815db49
Fix constant bounds checking for slicing
2017-04-22 09:40:32 +01:00
Ginger Bill
a713e33007
Change interval syntax: .. open range, ..< half-closed range
2017-04-20 23:22:45 +01:00
Ginger Bill
23a0a6de4b
Add parse_int; Fix union bugs with size, alignment, and recursive definition checking
2017-04-14 21:47:59 +01:00
Ginger Bill
8ce58573df
len, cap, make; remove .count, .capacity, new_slice
2017-04-02 18:16:45 +01:00
Ginger Bill
dc303cde21
Complex numbers: complex64 complex128
2017-04-01 12:07:41 +01:00
Ginger Bill
c6ff961088
Add base 12 in strconv.odin
2017-03-19 21:03:29 +00:00
Ginger Bill
5562364a98
Add branch labels for loops; using list
2017-03-19 16:59:11 +00:00
Ginger Bill
0fcbda951a
Finally fix signed integer conversion and printing
2017-03-10 10:34:25 +00:00
Ginger Bill
fb2d611dcd
Update llvm binaries to latest version; Update utf8proc;
2017-03-03 11:09:37 +00:00
Ginger Bill
9e8c9be1ea
Allow pointers to append; Fix strconv stuff; new_slice allows for capacity
2017-03-02 19:24:34 +00:00
Ginger Bill
9bc37f4400
fmt.odin uses ^[]byte rather than custom Buffer type
2017-02-26 15:34:02 +00:00
Ginger Bill
3c9143957c
Ellipsis is now just ..; Remove half-closed range operator and treat all of them as half-closed; slice expression uses ..;
2017-02-26 14:19:03 +00:00
Ginger Bill
c59f6b7d0b
++ -- statements; add strconv.odin (and replace some of the fmt procs); Fix ~ on 64 bit constants; Fix integer casts from smaller to larger size
2017-02-26 00:44:26 +00:00