greg
|
4d0bfa2a52
|
Don't need clone() here
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
99e5d86764
|
Kill separate is_digit method
I care about 10 vs 16 distinction
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
17e8ebe789
|
Hex parsing done
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
967e5cc436
|
Added a bunch of notes
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
7a6ace5db1
|
Fix parse level calculation
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
129af43e69
|
Proper indentation of parser debug
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
17dccf65c8
|
Move some code around
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
95c6a23bf1
|
Better hex literals
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
2bff53846c
|
Starting hex parsing
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
514d117c7e
|
Simplify some code
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
9ec983dc20
|
unified BoolAtom
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
8f6c80ac8c
|
Print operation
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
7f546fa879
|
Refactoring
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
48a35aa382
|
Delete some unneeded code
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
0c64b14be0
|
Forgot to change name here
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
5d9fa6679b
|
Name change
builtin -> primitive
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ea24ae1bb5
|
Get rid of some printlns
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
0d2a0e3536
|
Implement lambda application
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
339e3464e3
|
Plus and multiply
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c35b684bdd
|
Builtins - +
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d11c518721
|
Framework for multiple environments
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
8dde8c7381
|
Apply wokr
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
47cad3712c
|
Fixing quote
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ffcc0ef379
|
Starting builtins
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
6766791627
|
Lambda abstraction
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
05de5ebe61
|
Kill this linker thing
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
29ebd35165
|
Kill unused code
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
622b50a40c
|
Some lambda work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
9f916c7c02
|
Remove a unimplemented
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
85375bb9df
|
Add fn literal variant
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d11500c643
|
Even more concise
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
8493233b69
|
Refactoring
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
60644ba3d7
|
Starting lambdas
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
254f2ae4b8
|
Make var methods better
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
e243b99d3b
|
If expressions
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
3d023a6704
|
Rukka - Variables
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
73612d1465
|
Define half-working
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d1a15b64ff
|
Get rid of old import
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
66e8643382
|
eq?
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ad58fc1ad1
|
True and False primitives
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
adc7be30a9
|
Some primitive implementations
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
72097fa125
|
Fix pointer alias problem
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ae9d93f6dc
|
Still tryign to make the pointer-munging work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
3d421c7039
|
This has broken sexp parsing
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
166bc3b3cb
|
Fix print bug
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
2f263de8ba
|
Convert to more lispish Cons
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
46ae176498
|
Special forms list
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d84def35e7
|
Unwraps
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
07e55ca04e
|
Handle top-level empty list
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
6dcf5c7945
|
print list
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
568ee88f3a
|
Tighten code
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
8749ed984d
|
Some more code
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
559eaf54de
|
Type simplification
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
bf42b58ca5
|
State for eval
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ecdcb7ff3d
|
Numbers
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
766209e5b2
|
Fixed string parsing
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
e9429ed62a
|
Strings partway working
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
6e188976f9
|
Quotes
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d235b47bc5
|
Change Symbol -> Word for token
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
3fcb840ce5
|
Fix bug
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
523bd179a4
|
Tighten code
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
35e715dfd6
|
Intersperse
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
6eb0fc8834
|
Parsing correctly yay
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c0a5418c27
|
Tokens
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
42749c1ff6
|
Sexp parsing
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
42b9507af0
|
Parses (
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
38e85e2c78
|
Some halfwritten stuff
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
7c5fef49f8
|
List datatype
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c1e214c701
|
Add a new language - Rukka
This is a (simple) lisp, partially for fun, partially for testing the
generic interfaces
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
66e3de41dd
|
Make schala-lib::language private and reexport
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
9545130fd3
|
Take TokenError type out of schala-lib
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ef7412dcd5
|
I don't need this syntax
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
dee470cb8b
|
Kill some packages from schala bin
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c057f068ef
|
Get rid of unused imports
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c4dbdf1fe7
|
Refactor into libs part II
woo it compiles
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
4c7174e4c4
|
Halfway done to library-ifying schala
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d0538faef3
|
PLIGenerators can be authoritative, not the instances themselves
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
b97da01370
|
Some simplification
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
b09efd3660
|
Passing things along as generators
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
a42a58b155
|
Don't need mutex, kill it
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
708c0ab103
|
Finally removed schala dependency
Now need to clena up everything
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
1d9d0c4395
|
Okay this compiles
The secret (from #rust) appeared to be that Fn() needed to have + Send
explicitly annotated on it
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ffb87ebb82
|
Working on solution to Rocket state problem
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
30c741f459
|
Some linker bullshit
I don't know why I needed to do this
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d19541b3e1
|
Splitting up some code
In preparation for splitting schala into crates
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
3651461bbc
|
Some more structure in evaluator
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
7730457878
|
Revert "Starting to split project into multiple crates"
This reverts commit e3b0f4a51e .
Bah, this was a bad idea, wrong way to do it
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
46dbac7f69
|
Starting to split project into multiple crates
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
f68167f3a2
|
Halfway done with evaluating tuples
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c9625ffa77
|
Add module keyword
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
9afbd2305f
|
Literal non-primitive values
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d7564f81c9
|
Starting work on literal non-primitve values
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
2fbb8f2b2f
|
Can eval custom data constructors now
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
1884eae191
|
Float literals, kill old code
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
bb880d44fa
|
Some more primitive types + binop-checking
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
22b4738726
|
Add required imports
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
0202aab181
|
Some partial work on refactoring type infer fn
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
f9c9ed6b29
|
Add colored output to non-interactive
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
04cb1616f7
|
Convert webapp to using included files
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
5f1c46cb87
|
Fix type check macro to add symbol table
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
0ea9bd3d95
|
More work with unification
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
0cf56eea4f
|
the evar table
TODO find a better way to represent this
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ab53c5394e
|
Unify work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
f6c85951fe
|
Move type-level func up
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c530715671
|
Okay I am figuring things out about hindley-milner again
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
617a30b967
|
rename type_var to ty
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
cd11d18385
|
String and () types
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
f82c6199c0
|
Change around some stuff
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
f75cd763f8
|
Change Variable to Value
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
54c16f0190
|
Partial handling of user defined types
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
8d8e3cd565
|
Starting to make unify actually work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
47975cf8f6
|
Convert unify to are types
b/c Type implements Clone
Maybe wanna kill this later for efficiency
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ddd861fbea
|
Have + do something different with strings
Needed to introduce polymorphism soon
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
200d0f9867
|
Operator typing a little bit
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
3e44bd3a18
|
Slight refactoring
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
e2a94280c2
|
Renamed all the type-related types
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c5b3bafe43
|
Move some type checking code around
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
b417451536
|
Basic typing test
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
a0faed3603
|
String types
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
83752a1c74
|
Some more type work
|
2017-10-10 01:04:19 -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
|
4bb8f82579
|
Make AST output red
|
2017-10-08 22:17:29 -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 |
|