greg
|
12f55fa844
|
More static type work
|
2018-02-21 18:12:46 -08:00 |
|
greg
|
bb0fb716e4
|
Finished basic constant type inference
|
2018-02-21 14:14:24 -08:00 |
|
greg
|
687d482853
|
More type implementing - WIP
This has a borrowing bug currently
|
2018-02-21 04:32:30 -08:00 |
|
greg
|
628eb28deb
|
Fix some integer overflows with binary and hex
|
2018-02-21 03:52:16 -08:00 |
|
greg
|
4c8b4c8c71
|
Starting basic type stuff
|
2018-02-21 03:39:40 -08:00 |
|
greg
|
c674148772
|
Starting over with types
|
2018-02-21 02:35:09 -08:00 |
|
greg
|
457799e0f7
|
More type things
|
2018-02-12 01:45:36 -08:00 |
|
greg
|
681d767855
|
Type singletons test work
|
2018-02-12 00:51:53 -08:00 |
|
greg
|
ef4620e90a
|
TypeSingletonName broken out
|
2018-02-12 00:25:48 -08:00 |
|
greg
|
1f2a4c706f
|
Fix struct literals in if expressions
With special case-ing, sigh :( Also will need to do this for match
expressions but I'll cross that bridge when I come to it
|
2018-02-11 22:10:21 -08:00 |
|
greg
|
a452bccd1c
|
Don't need clone() here
|
2018-02-11 16:45:26 -08:00 |
|
greg
|
eca2218f6a
|
Kill separate is_digit method
I care about 10 vs 16 distinction
|
2018-02-11 16:43:51 -08:00 |
|
greg
|
83aedb0efb
|
Hex parsing done
|
2018-02-11 16:35:38 -08:00 |
|
greg
|
c0574ff1ef
|
Added a bunch of notes
|
2018-02-11 02:37:52 -08:00 |
|
greg
|
faa5c6ab42
|
Fix parse level calculation
|
2018-02-10 17:45:00 -08:00 |
|
greg
|
9c2d2190b0
|
Proper indentation of parser debug
|
2018-02-10 15:10:06 -08:00 |
|
greg
|
21511f5120
|
Move some code around
|
2018-02-08 01:15:27 -08:00 |
|
greg
|
8bd399f97a
|
Better hex literals
|
2018-01-08 06:12:45 -08:00 |
|
greg
|
30a6d0929a
|
Starting hex parsing
|
2018-01-08 05:57:36 -08:00 |
|
greg
|
bec8aedc22
|
Simplify some code
|
2018-01-08 05:21:04 -08:00 |
|
greg
|
93d0cfe5b8
|
Make schala-lib::language private and reexport
|
2017-11-02 02:45:26 -07:00 |
|
greg
|
69d5f38ea1
|
Refactor into libs part II
woo it compiles
|
2017-10-30 22:18:02 -07:00 |
|
greg
|
98e1a5235a
|
Some more structure in evaluator
|
2017-10-23 01:54:35 -07:00 |
|
greg
|
e054c4b27f
|
Revert "Starting to split project into multiple crates"
This reverts commit e3b0f4a51e .
Bah, this was a bad idea, wrong way to do it
|
2017-10-23 00:45:01 -07:00 |
|
greg
|
e3b0f4a51e
|
Starting to split project into multiple crates
|
2017-10-23 00:43:43 -07:00 |
|
greg
|
911f26e9c6
|
Halfway done with evaluating tuples
|
2017-10-23 00:22:25 -07:00 |
|
greg
|
677e3ae0a9
|
Add module keyword
|
2017-10-22 03:58:09 -07:00 |
|
greg
|
4c256cb5f7
|
Literal non-primitive values
|
2017-10-14 13:54:17 -07:00 |
|
greg
|
688e1c7f5d
|
Starting work on literal non-primitve values
|
2017-10-13 18:56:02 -07:00 |
|
greg
|
26c9c72bcc
|
Can eval custom data constructors now
|
2017-10-13 03:05:18 -07:00 |
|
greg
|
2d614aa17a
|
Float literals, kill old code
|
2017-10-13 00:01:43 -07:00 |
|
greg
|
ecb2eb0f87
|
Some more primitive types + binop-checking
|
2017-10-12 23:59:52 -07:00 |
|
greg
|
4c4004d3ac
|
Add required imports
|
2017-10-12 21:46:12 -07:00 |
|
greg
|
9b4a23c4f2
|
Some partial work on refactoring type infer fn
|
2017-10-12 20:14:33 -07:00 |
|
greg
|
cd5fc36c37
|
Fix type check macro to add symbol table
|
2017-10-11 16:43:04 -07:00 |
|
greg
|
d7a33c974e
|
More work with unification
|
2017-10-11 02:33:46 -07:00 |
|
greg
|
b2288206d2
|
the evar table
TODO find a better way to represent this
|
2017-10-11 02:11:12 -07:00 |
|
greg
|
d962e2c27a
|
Unify work
|
2017-10-11 02:03:50 -07:00 |
|
greg
|
4534c1d3d6
|
Move type-level func up
|
2017-10-11 01:55:45 -07:00 |
|
greg
|
f79dc0b1e3
|
Okay I am figuring things out about hindley-milner again
|
2017-10-11 01:50:04 -07:00 |
|
greg
|
4928fc0019
|
rename type_var to ty
|
2017-10-10 22:14:55 -07:00 |
|
greg
|
d735e45688
|
String and () types
|
2017-10-10 21:51:45 -07:00 |
|
greg
|
b4208b696d
|
Change around some stuff
|
2017-10-10 21:23:24 -07:00 |
|
greg
|
ff3dbbcbc6
|
Change Variable to Value
|
2017-10-10 21:02:32 -07:00 |
|
greg
|
e3261be8a0
|
Partial handling of user defined types
|
2017-10-10 17:29:28 -07:00 |
|
greg
|
f131105b50
|
Starting to make unify actually work
|
2017-10-10 04:38:59 -07:00 |
|
greg
|
1089a33634
|
Convert unify to are types
b/c Type implements Clone
Maybe wanna kill this later for efficiency
|
2017-10-10 04:26:40 -07:00 |
|
greg
|
6c60794485
|
Have + do something different with strings
Needed to introduce polymorphism soon
|
2017-10-10 02:45:25 -07:00 |
|
greg
|
2f18529bcc
|
Operator typing a little bit
|
2017-10-10 02:41:17 -07:00 |
|
greg
|
c68e09d89d
|
Slight refactoring
|
2017-10-10 02:32:02 -07:00 |
|
greg
|
d9e8178a90
|
Renamed all the type-related types
|
2017-10-10 02:17:07 -07:00 |
|
greg
|
57536e6399
|
Move some type checking code around
|
2017-10-10 01:11:24 -07:00 |
|
greg
|
32e077c407
|
Merge branch 'master' of github.com:neunenak/schala
|
2017-10-10 01:09:27 -07:00 |
|
greg
|
83752a1c74
|
Some more type work
|
2017-10-10 01:04:19 -07:00 |
|
greg
|
33d0d49d30
|
Basic typing test
|
2017-10-09 12:26:25 -07:00 |
|
greg
|
76a9367284
|
String types
|
2017-10-09 11:42:53 -07:00 |
|
greg
|
66c7bbeb07
|
Floats, pathspec changes
|
2017-10-09 04:02:50 -07:00 |
|
greg
|
ed8359bcd7
|
Store constant state, func/binding as value
on symbol table, instead of key
|
2017-10-09 02:38:33 -07:00 |
|
greg
|
996f75e15c
|
A lot more type work
|
2017-10-09 02:26:59 -07:00 |
|
greg
|
30a54d997c
|
Simplify symbol table code
|
2017-10-09 00:59:52 -07:00 |
|
greg
|
4bcbf1854a
|
Use universal/existential type data structures
|
2017-10-09 00:36:54 -07:00 |
|
greg
|
f2c6556c2a
|
Use name TypeVariable
|
2017-10-09 00:22:42 -07:00 |
|
greg
|
9161e2751f
|
(Janky) type inference for explicitly-type-annotated values
|
2017-10-08 23:45:38 -07:00 |
|
greg
|
60fc9fd7e1
|
Super-basic type inference working
with a bunch of assumptions and hard-coded values
|
2017-10-08 23:33:53 -07:00 |
|
greg
|
3b249045aa
|
Call needs to accept a general argument
|
2017-10-08 23:02:03 -07:00 |
|
greg
|
ff0e14d9a9
|
Rename params -> args in Call Expr
|
2017-10-08 22:52:05 -07:00 |
|
greg
|
8fe535597e
|
Starting to actually do Hindley-Milner!!
|
2017-10-08 22:48:10 -07:00 |
|
greg
|
5cb8423ecc
|
Beginning for expressions
|
2017-10-08 22:07:18 -07:00 |
|
greg
|
4032707dc9
|
Kill some comments
|
2017-10-08 21:26:47 -07:00 |
|
greg
|
1a8423535a
|
Add test for function decl
|
2017-10-08 21:25:51 -07:00 |
|
greg
|
338981febe
|
Changed function signatures around slightly
|
2017-10-08 21:21:02 -07:00 |
|
greg
|
6dff8b029e
|
Function definitions expanded
|
2017-10-08 20:55:05 -07:00 |
|
greg
|
df877830d3
|
Fixed tests
|
2017-10-08 19:39:41 -07:00 |
|
greg
|
40696b3cbd
|
Rename TypeAnno to TypeName everywhere
|
2017-10-08 19:30:52 -07:00 |
|
greg
|
40a82d7e25
|
Tests for new type stuff
+ some renaming
|
2017-10-08 19:15:08 -07:00 |
|
greg
|
c605f76059
|
More type work II
|
2017-10-08 19:03:02 -07:00 |
|
greg
|
a6d71821b9
|
More type work I
|
2017-10-08 18:47:57 -07:00 |
|
greg
|
c4f0331d1a
|
Symbol table addition should be separate stage
|
2017-10-08 16:24:44 -07:00 |
|
greg
|
b4054d7581
|
Impl blocks
|
2017-10-08 14:24:02 -07:00 |
|
greg
|
74d3828c71
|
Symbol table debug needs to happen before type check
|
2017-10-08 13:59:55 -07:00 |
|
greg
|
bb57da564d
|
Infrastructure to debug symbol table
|
2017-10-08 13:57:43 -07:00 |
|
greg
|
3f9ae5fac3
|
Symbol table accepts variables
|
2017-10-08 13:51:56 -07:00 |
|
greg
|
62edc7c996
|
type checking / symbol table stuff
|
2017-10-08 12:22:04 -07:00 |
|
greg
|
e412fb9a89
|
Convert type-checking function type
|
2017-10-07 22:08:48 -07:00 |
|
greg
|
3a97401f61
|
Add symbol table insertion method skeleton
|
2017-10-07 21:57:51 -07:00 |
|
greg
|
87cfe854ac
|
Tuple literals
|
2017-10-06 20:28:07 -07:00 |
|
greg
|
184a2ae03a
|
Change syntax for type alias
|
2017-10-04 22:02:31 -07:00 |
|
greg
|
50ceb92d6b
|
Move type-checking into a module
|
2017-10-04 02:07:30 -07:00 |
|
greg
|
dd7736e32d
|
Add some resources
|
2017-10-03 21:28:17 -07:00 |
|
greg
|
3025af3ded
|
Starting on impls
|
2017-10-03 03:49:07 -07:00 |
|
greg
|
65f64ebcc2
|
Add source file suffix to trait
|
2017-10-02 23:07:05 -07:00 |
|
greg
|
abbbb34901
|
Some very basic evaluation stuff
|
2017-10-02 20:11:27 -07:00 |
|
greg
|
3ff4a34aeb
|
kill some non-used variable warnings
|
2017-10-02 01:52:46 -07:00 |
|
greg
|
89482e5b5a
|
Use a Result
|
2017-10-01 19:31:43 -07:00 |
|
greg
|
6435d5e958
|
Make eval output nicer
|
2017-10-01 19:29:05 -07:00 |
|
greg
|
f6536e7ebd
|
Evaluation stuff
|
2017-10-01 19:09:55 -07:00 |
|
greg
|
c5cb223168
|
Super-minimal type-checking with just ints
|
2017-10-01 17:50:26 -07:00 |
|
greg
|
d16a0c9380
|
Evaluation of literals
|
2017-10-01 12:55:28 -07:00 |
|
greg
|
daf9878020
|
Kill some unused code
|
2017-10-01 00:50:13 -07:00 |
|
greg
|
f825c87397
|
Type checking beginnings
|
2017-10-01 00:48:08 -07:00 |
|