Ginger Bill
f5819eafa9
Fix map assignment bug due to growth
2017-04-11 21:13:21 +01:00
Ginger Bill
5916e71d4f
Fix slicing bug on dynamic arrays
2017-04-11 16:00:49 +01:00
Ginger Bill
913b9b6447
Remove odin.exe
2017-04-10 22:30:38 +01:00
Ginger Bill
8e55bb2a6c
Fix append crash when pointer is passed
2017-04-10 21:09:04 +01:00
Ginger Bill
3a3202fbc6
Change code to match original MSVC
2017-04-10 13:27:09 +01:00
Ginger Bill
aaf355e750
Basic Linux Build!
2017-04-09 22:33:32 +01:00
Ginger Bill
d7fdd3d7b8
Add raw.odin
...
Forgot to do this in the previous commit, whoops :P
2017-04-09 11:45:41 +01:00
Ginger Bill
83ebb24015
Move to Raw_* types to raw.odin; Add size and align members to Type_Info
2017-04-07 14:05:28 +01:00
Ginger Bill
70f9cacdce
Fix cast to any of untyped constants
2017-04-07 09:55:19 +01:00
Ginger Bill
c067a1f0ec
Fix ir bugs: global variable names, untyped to any assignment
2017-04-06 11:12:11 +01:00
Ginger Bill
3e80411d37
Fix issue #31 ; Removed down_cast
2017-04-04 21:54:55 +01:00
Ginger Bill
382a5ca6a2
Update and regression test old demos
2017-04-02 22:03:52 +01:00
Ginger Bill
96e8bb5b6f
Add website to README.md
2017-04-02 20:20:14 +01:00
Ginger Bill
22afac2b90
Update README.md with latest demo
2017-04-02 20:10:56 +01:00
Ginger Bill
01da0d1377
Fix make for dynamic arrays
2017-04-02 18:28:45 +01:00
Ginger Bill
8ce58573df
len, cap, make; remove .count, .capacity, new_slice
2017-04-02 18:16:45 +01:00
Ginger Bill
2c8b99337b
Fix conj
2017-04-01 22:55:33 +01:00
Ginger Bill
5008e2c88b
Add Quaternions: quaternion128, quaternion256
2017-04-01 22:41:23 +01:00
Ginger Bill
90fc9abeae
Fix constant conversion for complex numbers from integers
2017-04-01 12:12:08 +01:00
Ginger Bill
dc303cde21
Complex numbers: complex64 complex128
2017-04-01 12:07:41 +01:00
Ginger Bill
a75ccb6fbc
v0.1.3
2017-03-27 20:32:36 +01:00
Ginger Bill
188b290dd5
Update version number
2017-03-19 21:03:56 +00:00
Ginger Bill
c6ff961088
Add base 12 in strconv.odin
2017-03-19 21:03:29 +00:00
Ginger Bill
c26990c22d
Multiple type cases for match in
2017-03-19 20:55:39 +00:00
Ginger Bill
c34d839f9f
Add named branches for match statements
2017-03-19 17:36:08 +00:00
Ginger Bill
5562364a98
Add branch labels for loops; using list
2017-03-19 16:59:11 +00:00
Ginger Bill
32150e401e
Update gb.h
2017-03-17 12:30:59 +00:00
Ginger Bill
aaec8bf423
windows.odin TYPE_NAME to Type_Name; More SSA work and SSA printing for debugging
2017-03-12 16:42:51 +00:00
Ginger Bill
0fcbda951a
Finally fix signed integer conversion and printing
2017-03-10 10:34:25 +00:00
Ginger Bill
e2734a2dc6
Begin work on the custom backend
2017-03-05 21:22:33 +00:00
Ginger Bill
5adfbec847
Refactoring of code: remove make prefix on many procedures
2017-03-05 15:03:01 +00:00
Ginger Bill
4ef4605d6d
Move files to misc
2017-03-03 11:20:22 +00:00
Ginger Bill
2aa402f462
Cleanup root directory
2017-03-03 11:19:12 +00:00
Ginger Bill
00f6bee454
Update README.md
2017-03-03 11:15:34 +00:00
Ginger Bill
6e1864d21c
Remove all binaries
2017-03-03 11:13:05 +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
f29e303ce7
Slices now have a capacity.
2017-02-26 15:14:08 +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
18b3c0b2fc
Fix fmt integer width printing
2017-02-26 09:42:24 +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
Ginger Bill
67ed8a9a4a
Fix Tuple type info bug
...
Caused by not having type safe tagged unions :P (Silly C)
2017-02-24 22:56:34 +00:00
Ginger Bill
4cc4d604bc
Add core/strings.odin
2017-02-24 21:11:05 +00:00
Ginger Bill
eec709c545
Fix fmt.odin printing enums
2017-02-24 20:55:35 +00:00
Ginger Bill
9b2f5c359a
v0.1.1
2017-02-24 19:48:18 +00:00
Ginger Bill
a982c51c30
Fix minor bugs in IR for slices
2017-02-23 22:22:56 +00:00
Ginger Bill
047c0e4bcc
A decent union type with common fields and variants
2017-02-21 21:21:54 +00:00
Ginger Bill
a94dfdf21d
Begin changing union syntax
2017-02-19 19:55:19 +00:00
Ginger Bill
c0d5237b75
Unexported struct fields on selectors
2017-02-19 12:47:02 +00:00
Ginger Bill
6fdcbefe5d
Unexported struct fields
2017-02-19 12:38:49 +00:00
Ginger Bill
3cec2550d9
delete for maps
2017-02-19 11:50:42 +00:00
Ginger Bill
758dd9ba16
Fix overloading bug due to #import .; Add sys/wgl.odin
2017-02-19 11:35:33 +00:00
Ginger Bill
0c37aa9ea0
Fix overloading bug due to comparison of named types
2017-02-18 22:19:35 +00:00
Ginger Bill
9ff474f387
Named return values but do not affect other declarations
2017-02-18 12:02:11 +00:00
Ginger Bill
d2f9d20833
Change ternary expression precedence
2017-02-18 10:41:48 +00:00
Ginger Bill
71100ed427
Ternary expression (removed if and block expression)
2017-02-14 19:26:32 +00:00
Ginger Bill
3ecf3505fd
Ignore previous silly commit :P I shouldn't have move it
2017-02-14 17:34:02 +00:00
Ginger Bill
daa1cd55a1
Move error handling for casting
2017-02-14 17:33:11 +00:00
Ginger Bill
2722de65b7
Prevent cast on pointer to union types
2017-02-14 17:24:56 +00:00
Ginger Bill
8b5e3428a1
Optional ok for union_cast (similar to map indices)
2017-02-14 16:37:24 +00:00
Ginger Bill
d1f65097c4
Fix immutable rules; add some general documentation
...
immutable is still a little weird and not completely what you'd expect. Maybe just not having it is better.
2017-02-14 15:19:29 +00:00
Ginger Bill
74d15ab84b
Reimplement immutable with different rules.
2017-02-14 12:35:50 +00:00
Ginger Bill
763cd2649d
Fix index assignment rules for indirection
2017-02-14 12:21:02 +00:00
Ginger Bill
bd27c24fab
Use a global to store the build context information
2017-02-12 21:27:13 +00:00
Ginger Bill
282f8bb06f
Fix issue #23
2017-02-12 11:41:06 +00:00
Ginger Bill
b9ed546ce0
Record type field names
2017-02-12 11:31:04 +00:00
Ginger Bill
e1fdd675ce
v0.1.0
...
Added:
* Dynamic Arrays `[...]Type`
* Dynamic Maps `map[Key]Value`
* Dynamic array and map literals
* Custom struct alignemnt `struct #align 8 { bar: i8 }`
* Allow `_` in numbers
* Variadic `append`
* fmt.sprint*
* Entities prefixes with an underscore do not get exported on imports
* Overloaded `free` for pointers, slices, strings, dynamic arrays, and dynamic maps
* enum types have an implict `names` field, a []string of all the names in that enum
Removed:
* Maybe/option types
* immutable variables
* Remove `type` keyword and other "reserved" keywords
* `compile_assert` and `assert`return the value of the condition for semantic reasons
Changed:
* thread_local -> #thread_local
* #include -> #load
* Files only get checked if they are actually used
* match x in y {} // For type match statements
* Version numbering now starts from 0.1.0 and uses the convention:
- major.minor.patch
Fixes:
* Many fmt.* fixes
To come very Soon™:
* Linux and OS X builds (unofficial ones do exist already)
2017-02-11 21:20:57 +00:00
Ginger Bill
4306345ff1
Dynamic array syntax [...]Type; make entities private with a prefix of _; fix extension checking
2017-02-11 17:33:23 +00:00
Ginger Bill
346aa5f71c
Only check files that have been truly imported.
2017-02-11 15:50:24 +00:00
Ginger Bill
73d6a55f5c
Remove need for type keyword
2017-02-10 16:12:14 +00:00
Ginger Bill
f18ae89931
Remove Maybe type; Enum names
2017-02-10 14:59:18 +00:00
Ginger Bill
454d0b5cf5
Fix global maps and initialize the preload types before
2017-02-07 18:13:37 +00:00
Ginger Bill
219ca0ac46
Map type info and fmt printing
2017-02-07 00:10:58 +00:00
Ginger Bill
5796c41357
map immutable fields: count, capacity, allocator
2017-02-06 22:53:48 +00:00
Ginger Bill
8cfae17535
map literals
2017-02-06 22:19:32 +00:00
Ginger Bill
df78b8ad3e
Make checking map key exists optional
2017-02-06 21:31:27 +00:00
Ginger Bill
f11d73ffaa
map string keys and for iterator
2017-02-06 20:54:51 +00:00
Ginger Bill
c126339090
dynamic map insertion and lookup
2017-02-06 20:23:51 +00:00
Ginger Bill
9f2d9b596d
Nearly implement dynamics map, missing insertion
2017-02-06 01:21:23 +00:00
Ginger Bill
00c7489157
Begin writing dynamic map procs and fix using bug in IR
2017-02-05 23:52:01 +00:00
Ginger Bill
b1562edccf
Add types.odin; Begin work on map
2017-02-05 18:17:55 +00:00
Ginger Bill
2a5b674d33
Custom struct alignment
2017-02-05 15:19:30 +00:00
Ginger Bill
7944b7714f
Add build guards around compiling part of the code.
2017-02-01 21:00:32 +00:00
Ginger Bill
205f4664f8
Update code from OSX merge to be consistent with the rest of the code
...
Remove some dead code whilst I was here too :P
2017-02-01 20:59:14 +00:00
Ginger Bill
4e7082a68d
Change internals of context; Disable immutable
2017-02-01 17:52:55 +00:00
Ginger Bill
502e63b9c5
Remove dead code
2017-01-30 23:10:44 +00:00
Ginger Bill
34150385d8
Change vector memory layout and operations; for in vector.
2017-01-30 22:31:34 +00:00
Ginger Bill
0ca1b4612c
Allow _ in floats
2017-01-29 23:13:50 +00:00
Ginger Bill
9e143a38ce
sprint*, variadic append works correctly now.
2017-01-29 21:29:10 +00:00
Ginger Bill
43be91bca3
Variadic append
2017-01-29 20:48:08 +00:00
Ginger Bill
984e36a151
Dynamic arrays
2017-01-29 20:15:16 +00:00
Ginger Bill
ec9c8fb8a4
Update README.md
2017-01-29 14:45:12 +00:00
Ginger Bill
3e79ec4aef
Fix untyped to any assignments. Fixed crash when arguments with no value are passed
2017-01-29 14:27:55 +00:00
Ginger Bill
e86c990b75
Overloaded free; 3 dotted ellipsis
2017-01-28 20:16:18 +00:00
Ginger Bill
31aacd5bf4
Fix parsing for block/if expression within if/for/etc. statements
2017-01-27 23:02:55 +00:00
Ginger Bill
92453369c5
Remove while loop and readd c-style for loops i.e. all loops are just for
2017-01-27 17:43:42 +00:00
Ginger Bill
832009f33a
in keyword for for and match type
2017-01-27 16:34:58 +00:00
Ginger Bill
d3d3bfd455
Fix utf8 stuff, Allow _ in numbers, Begin writing next demo code.
2017-01-27 12:43:01 +00:00
Ginger Bill
ce3582fd89
Remove case sensitivity for libraries on windows
2017-01-26 20:06:22 +00:00