gingerBill
f0de994059
Make core library use procedure groupings rather than normal overloading
2017-12-04 22:01:51 +00:00
gingerBill
6bc5584add
Fix fmt printing uintptr type
2017-11-04 00:16:54 +00:00
gingerBill
d2588f9d1d
Infix proc calling convention proc "std" (...)
2017-10-29 16:44:44 +00:00
gingerBill
1eb9994d88
Attributes; @(link_name="foo")
2017-10-29 15:46:23 +00:00
gingerBill
85f7c2d040
Change foreign_library to foreign import
2017-10-15 15:21:56 +01:00
gingerBill
26ea8f6dcb
Syntax: Replace foreign_system_library "kernel.lib" to foreign_library "system:kernel.lib"; Remove keyword: foreign_system_library
2017-10-15 12:11:33 +01:00
Ginger Bill
c1e720a49b
match to switch; Optional semicolons after "import" statements
2017-10-01 17:09:57 +01:00
Ginger Bill
e6e0aba8c3
Remove when suffixes; Implement file scope when statement, evaluated in source order
2017-09-10 15:17:37 +01:00
Ginger Bill
8e3b77aba8
Library collections
2017-09-07 20:55:59 +01:00
Ginger Bill
cf3c5a878a
export declarations
2017-08-27 19:36:43 +01:00
Ginger Bill
2d20bde495
Remove () grouping for foreign_library
2017-08-27 19:24:30 +01:00
Ginger Bill
b9e347ef50
Replace import_load with using import .
2017-08-27 17:03:27 +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
4b051a0d3b
.. half closed range; ... open range; ... variadic syntax
2017-07-07 23:42:43 +01:00
Ginger Bill
69f7382eec
Implicit parametric polymorphic procedures
2017-06-29 20:56:18 +01:00
Ginger Bill
94afcec757
:: style procedure declarations; remove old parsing code
2017-06-28 23:47:06 +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
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
ccda456c0a
foreign blocks for procedures
2017-06-12 21:21:18 +01:00
Ginger Bill
83bad13e9e
Update default field value syntax; Use more declaration groupings
2017-06-12 18:38:27 +01:00
Ginger Bill
a8e458339b
foreign_library allow for Pascal-style grouping
2017-06-12 16:26:51 +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
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
826e05c96e
Convert windows.odin to the new naming convention
2017-05-28 16:08:29 +01:00
Ginger Bill
64b5afd820
Fix issue #63 for block comments not terminating at an EOF
2017-05-09 10:01:10 +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
a713e33007
Change interval syntax: .. open range, ..< half-closed range
2017-04-20 23:22:45 +01:00
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
aaf355e750
Basic Linux Build!
2017-04-09 22:33:32 +01:00
Ginger Bill
8ce58573df
len, cap, make; remove .count, .capacity, new_slice
2017-04-02 18:16:45 +01:00
Ginger Bill
758dd9ba16
Fix overloading bug due to #import .; Add sys/wgl.odin
2017-02-19 11:35:33 +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
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
ce3582fd89
Remove case sensitivity for libraries on windows
2017-01-26 20:06:22 +00:00
Ginger Bill
e3e16f5d05
Library names - Only link with used foreign libraries
2017-01-26 20:00:16 +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
2af9fb79dc
Change cast syntax, int(x), []byte(s), (^int)(p)
2017-01-17 23:36:07 +00:00
Ginger Bill
ce89a1428e
Fix parameter/field lists and #import #include syntax
2017-01-02 00:26:28 +00:00
Ginger Bill
9202bd1b06
Nearly finished Jai-like declarations
2017-01-01 20:41:10 +00:00
Ginger Bill
a48e0c7179
Begin transition to Jai-like syntax
2017-01-01 19:08:03 +00:00
Ginger Bill
d714bece47
Handle calling conventions correctly
2016-12-22 23:06:31 +00:00
Ginger Bill
d0e1efe622
Generic (grouped) declarations: var, let, const, type, import, include
2016-12-20 18:58:17 +00:00
Ginger Bill
f5eeecaca5
Begin generic declarations for lists of specifications
2016-12-19 11:56:45 +00:00
Ginger Bill
77e219d442
Change var decl syntax
...
`var x int;` from `x: int;`
2016-12-18 22:32:18 +00:00