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
Ginger Bill
0c22081e5f
Fix error printing for basic directives
2017-04-17 19:58:43 +01:00
Ginger Bill
627ee002e8
Fix: map key not getting transferred on rehash
2017-04-11 23:11:05 +01:00
Ginger Bill
8e73d1ce1f
Fix map bug which removed N values from the beginning
2017-04-11 22:43:33 +01:00
Ginger Bill
b53d16d1d5
Remove debug text
2017-04-11 21:24:10 +01:00
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
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
c067a1f0ec
Fix ir bugs: global variable names, untyped to any assignment
2017-04-06 11:12:11 +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
e2734a2dc6
Begin work on the custom backend
2017-03-05 21:22:33 +00:00