Commit Graph

279 Commits

Author SHA1 Message Date
Ginger Bill
69f7382eec Implicit parametric polymorphic procedures 2017-06-29 20:56:18 +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
a0d8dcd974 Remove let 2017-06-26 13:59:15 +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
264ca00db7 Merge branch 'master' of https://github.com/gingerBill/Odin 2017-06-21 17:49:05 +01:00
Ginger Bill
6b65ef6d88 Fix compilation bug on Linux 2017-06-21 17:48:50 +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
83bad13e9e Update default field value syntax; Use more declaration groupings 2017-06-12 18:38:27 +01:00
Ginger Bill
e6a206a430 Check for empty generic declaration list 2017-06-12 16:58:25 +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
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
Mikkel Hjortshoej
8e32276283 Added a bunch of VM_* and map_virtual_key 2017-06-11 19:46:55 +02: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
107740ca5e Fix issue #69 for fmt.printf padding 2017-06-06 10:02:53 +01:00
Ginger Bill
214bb73454 Merge branch 'master' of https://github.com/gingerBill/Odin 2017-06-05 18:01:57 +01:00
Ginger Bill
eba2c74bff Allow 128 bit map keys 2017-06-05 18:01:41 +01:00
gingerBill
7c5e6c808b Merge pull request #68 from ThisDrunkDane/master
Added extra sys/windows.odin stuff
2017-06-05 15:18:04 +01:00
Ginger Bill
ebe5beaafd Allow using on bit fields 2017-06-04 11:53:33 +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
9d1a4c304a Remove Quat from math.odin 2017-06-01 15:12:54 +01:00
Ginger Bill
13b8a1e348 Remove quaternion128 and quaternion256 as core types 2017-06-01 14:52:33 +01:00
Ginger Bill
0d4945dc87 Implement u128/i128 features; Add bits.odin 2017-06-01 14:23:46 +01:00
Mikkel Hjortshoej
e0b9c4a275 Added extra sys/windows.odin stuff
- Added PM_NOREMOVE
	- Added PM_NOYIELD
	- Added get_message_a
	- Added post_message_a
2017-06-01 00:05:33 +02:00
Ginger Bill
826e05c96e Convert windows.odin to the new naming convention 2017-05-28 16:08:29 +01:00
Ginger Bill
d3f63e5903 Change label syntax for for and match from #label name to name: 2017-05-28 15:01:39 +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
45dbe8d354 default: to case:; no_alias to #no_alias 2017-05-27 11:47:21 +01:00
Ginger Bill
ddb99dd638 Fix interval loop constant bug; Fix ir edge checking; Fix vector arithmetic with scalars 2017-05-22 23:29:09 +01:00
Ginger Bill
807e17207a Merge branch 'master' of https://github.com/gingerBill/Odin 2017-05-13 16:09:04 +01:00