Commit Graph

56 Commits

Author SHA1 Message Date
Ginger Bill
f5819eafa9 Fix map assignment bug due to growth 2017-04-11 21:13:21 +01:00
Ginger Bill
aaf355e750 Basic Linux Build! 2017-04-09 22:33:32 +01:00
Ginger Bill
3e80411d37 Fix issue #31; Removed down_cast 2017-04-04 21:54:55 +01:00
Ginger Bill
8ce58573df len, cap, make; remove .count, .capacity, new_slice 2017-04-02 18:16:45 +01:00
Ginger Bill
5008e2c88b Add Quaternions: quaternion128, quaternion256 2017-04-01 22:41:23 +01:00
Ginger Bill
dc303cde21 Complex numbers: complex64 complex128 2017-04-01 12:07:41 +01:00
Ginger Bill
5562364a98 Add branch labels for loops; using list 2017-03-19 16:59:11 +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
Ginger Bill
2722de65b7 Prevent cast on pointer to union types 2017-02-14 17:24:56 +00:00
Ginger Bill
74d15ab84b Reimplement immutable with different rules. 2017-02-14 12:35:50 +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
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
2a5b674d33 Custom struct alignment 2017-02-05 15:19:30 +00:00
Ginger Bill
4e7082a68d Change internals of context; Disable immutable 2017-02-01 17:52:55 +00:00
Ginger Bill
984e36a151 Dynamic arrays 2017-01-29 20:15:16 +00:00
Ginger Bill
e86c990b75 Overloaded free; 3 dotted ellipsis 2017-01-28 20:16:18 +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
b59a052e32 Change casting syntax: cast(T)x transmute(T)x et al. 2017-01-25 19:19:25 +00:00
Ginger Bill
3f023509a7 using immutable thread_local on variable declarations 2017-01-19 20:03:10 +00:00
Ginger Bill
563b1e2b28 immutable field prefix 2017-01-19 19:02:44 +00:00
Ginger Bill
4603d2525e Closed range ... (both inclusive); Type comparisons with == and != 2017-01-19 11:29:15 +00:00
Ginger Bill
2af9fb79dc Change cast syntax, int(x), []byte(s), (^int)(p) 2017-01-17 23:36:07 +00:00
Ginger Bill
cb59c1cf08 Comma for all field separators; Overloaded procedures follow exportation rules 2017-01-17 18:47:38 +00:00
Ginger Bill
383f5b55ad Best viable overloading procedure algorithm; no_alias; call expr style casts 2017-01-17 15:20:11 +00:00
Ginger Bill
fc1af0a04b Fix build error caused by invalid iterator types in for 2017-01-05 23:50:44 +00:00
Ginger Bill
4afb3f8fa4 Fix line comments at the end of file 2017-01-05 22:35:32 +00:00
Ginger Bill
70d4ca00df while; range is now for; remove ++ and -- 2017-01-03 19:11:12 +00:00
Ginger Bill
a86896e4d3 Interval expressions in range 2017-01-03 18:02:13 +00:00
Ginger Bill
a3883a178c range statement 2017-01-02 18:47:47 +00:00
Ginger Bill
ce89a1428e Fix parameter/field lists and #import #include syntax 2017-01-02 00:26:28 +00:00
Ginger Bill
a48e0c7179 Begin transition to Jai-like syntax 2017-01-01 19:08:03 +00:00
Ginger Bill
311b5cb6e2 Add enum type info and fix enum casting 2017-01-01 16:58:38 +00:00
Ginger Bill
6fef74317c Bring back enum but using iota 2017-01-01 16:18:50 +00:00
Ginger Bill
0c6775ca14 Fix give expressions 2016-12-30 22:52:43 +00:00
Ginger Bill
23d32f34e5 Block Expressions and give 2016-12-30 15:45:10 +00:00
Ginger Bill
d0e1efe622 Generic (grouped) declarations: var, let, const, type, import, include 2016-12-20 18:58:17 +00:00
Ginger Bill
e370337f97 var/const decl; remove : from parameter lists 2016-12-18 21:50:14 +00:00
Ginger Bill
5217eb55b4 Change of proc and type declaration syntax to "prefix" style
`proc name()` from `name :: proc()`
2016-12-18 20:34:55 +00:00
Ginger Bill
d4457e9fa4 Minor changes 2016-12-16 20:18:23 +00:00
Ginger Bill
f567983260 Semicolons mandatory again (and probably forever now...) 2016-12-16 11:31:08 +00:00
Ginger Bill
a6f8c9d6e0 v0.0.4 - odin build_dll, atomic.odin, sync.odin 2016-12-09 16:28:31 +00:00
Ginger Bill
60b6538a7a Set :: as a single token 2016-12-07 10:20:25 +00:00
Ginger Bill
517b34f798 Improve parsing with semicolon insertion 2016-12-06 00:05:59 +00:00
Ginger Bill
a16bdb215a Go/BCPL style semicolon insertion during tokenizing stage 2016-12-05 23:39:26 +00:00
Ginger Bill
0b87313f08 Change entity collection strategy 2016-12-03 00:16:51 +00:00