Ginger Bill
fd8c4d58bb
union type allow for any types and removes common fields
2017-07-10 22:32:21 +01:00
Ginger Bill
ce4b7b8b7d
Nested record declarations
2017-07-10 20:39:42 +01:00
Ginger Bill
66e4aaffc5
Use semicolons as field delimiters in records
2017-07-10 13:49:50 +01:00
Ginger Bill
b201670f7a
Fix _preload.odin; Add for in without parameters; Change sync.Mutex for windows
2017-07-08 23:13:57 +01:00
Ginger Bill
4b051a0d3b
.. half closed range; ... open range; ... variadic syntax
2017-07-07 23:42:43 +01:00
Ginger Bill
c63cb98019
Fix else do
2017-07-07 17:50:45 +01:00
Ginger Bill
eed873c6ec
Add free for maps (a previous oversight)
2017-07-05 13:51:25 +01:00
Ginger Bill
3d2d461867
Replace many built-in procedures with user-level procedures
2017-07-04 23:52:00 +01:00
Ginger Bill
188bc28f6a
Allow for overloading of polymorphic procedures
2017-07-04 22:42:25 +01:00
Ginger Bill
689a0c0b49
*_of as keyords; Allow constant aliasing for user/built-in procedures, import names, and library names
2017-07-04 11:23:48 +01:00
Ginger Bill
bc16b290ba
Disable polymorphic overloading in the global scope
...
TODO: Figure out why it does not work in the global scope
2017-07-02 22:08:39 +01:00
Ginger Bill
ed089b44b9
do keyword for inline statements instead of blocks
2017-07-01 11:38:44 +01:00
Ginger Bill
e4a8283327
Remove Type
...
What was I thinking?!
2017-06-29 15:48:07 +01:00
Ginger Bill
001baf4419
Add Type -- Runtime type for comparing types (similar to TypeInfo but simpler)
2017-06-29 15:13:41 +01:00
Ginger Bill
fd81c06c35
Remove var and const keywords; Fix default parameter syntax
2017-06-28 23:55:40 +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
362a118782
Remove "overloading" bug of para-poly-procs
2017-06-25 23:41:46 +01:00
Ginger Bill
3ab481df17
new as a user-level procedure
2017-06-25 22:31:30 +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
5957d7f7be
Implicit Parameter Passing based context system (replacing Thread Local Storage (TLS) approach)
2017-06-20 12:38:05 +01:00
Ginger Bill
35c102137f
Compiler compiles for x86 (doesn't work properly)
2017-06-19 18:49:11 +01:00
Ginger Bill
5427d14416
Code will compile as 32 bit but will causes errors in the linker on Windows
2017-06-19 15:55:09 +01:00
Ginger Bill
2957f007e3
Fix #location for anonymous procedures
2017-06-18 17:35:27 +01:00
Ginger Bill
04501c93fe
Implement assert and panic in user side code
...
Removes 2 more built-in procedures!
2017-06-18 17:25:28 +01:00
Ginger Bill
4236519b84
#location(..) and #call_location
2017-06-18 14:36:06 +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
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
333924cce1
v0.3 Release
2017-06-08 11:35:22 +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
eba2c74bff
Allow 128 bit map keys
2017-06-05 18:01:41 +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
13b8a1e348
Remove quaternion128 and quaternion256 as core types
2017-06-01 14:52:33 +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
45eecc0905
Reimplement #ordered again
2017-05-12 10:27:14 +01:00
Ginger Bill
cc6282a6e3
Fix alignment and size bug of enums; Remove #ordered and make the default #ordered.
2017-05-02 21:16:09 +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
99125dc743
Fix issue #51 ; begin work on atomic types
2017-04-28 11:01:46 +01:00
Ginger Bill
822bb51b55
Swap memory layout of any
2017-04-23 18:03:29 +01:00
Ginger Bill
0ea815db49
Fix constant bounds checking for slicing
2017-04-22 09:40:32 +01:00
Ginger Bill
4d0afc55c3
Making slicing a little more robust
2017-04-21 10:03:27 +01:00
Ginger Bill
a713e33007
Change interval syntax: .. open range, ..< half-closed range
2017-04-20 23:22:45 +01:00