Commit Graph

702 Commits

Author SHA1 Message Date
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 559306ffc8 unified BoolAtom 2017-12-30 23:19:42 -08:00
greg fa8d46e3d7 Print operation 2017-12-29 05:10:03 -08:00
greg 4598802999 Refactoring 2017-12-29 05:03:30 -08:00
greg 5ea83e2da6 Delete some unneeded code 2017-12-29 04:55:03 -08:00
greg 23c0f54042 Forgot to change name here 2017-12-29 04:52:47 -08:00
greg 8618de313b Name change
builtin -> primitive
2017-12-29 04:51:14 -08:00
greg cd23b23a91 Get rid of some printlns 2017-12-29 04:46:19 -08:00
greg e6475a1262 Implement lambda application 2017-12-29 03:57:27 -08:00
greg e6f81b28f9 Plus and multiply 2017-12-25 23:10:16 -08:00
greg c20d75faf1 Builtins - + 2017-12-24 23:48:13 -08:00
greg 85aabed344 Framework for multiple environments 2017-12-21 03:11:56 -08:00
greg aa821e720a Apply wokr 2017-12-21 01:14:05 -08:00
greg 0e25720927 Fixing quote 2017-12-21 01:12:05 -08:00
greg c101610cde Starting builtins 2017-12-20 22:56:24 -08:00
greg 1217f6e143 Lambda abstraction 2017-12-20 18:23:44 -08:00
greg 6f41167402 Kill this linker thing 2017-12-18 01:30:33 -08:00
greg c6509338d8 Kill unused code 2017-12-12 02:57:19 -08:00
greg 192a6bf6e1 Some lambda work 2017-12-12 02:56:10 -08:00
greg 7e8c4267c2 Remove a unimplemented 2017-12-11 01:55:08 -08:00
greg 25527bbdf0 Add fn literal variant 2017-12-11 01:53:27 -08:00
greg 5e7aef1040 Even more concise 2017-12-10 19:01:44 -08:00
greg 3386fcc505 Refactoring 2017-12-10 18:44:21 -08:00
greg 18a839bb91 Starting lambdas 2017-12-10 03:58:44 -08:00
greg 92d641fca0 Make var methods better 2017-12-10 03:35:51 -08:00
greg 9b4499c5ac If expressions 2017-12-10 02:58:07 -08:00
greg 07e19cbfa2 Rukka - Variables 2017-12-09 19:08:08 -08:00
greg cc79565fb3 Define half-working 2017-12-07 20:28:09 -08:00
greg 405f91a770 Get rid of old import 2017-12-07 19:55:18 -08:00
greg faed1d6f25 eq? 2017-12-07 19:54:53 -08:00
greg f6d047e3b8 True and False primitives 2017-12-07 19:51:34 -08:00
greg fcd980f148 Some primitive implementations 2017-12-07 19:48:48 -08:00
greg c3919daa66 Fix pointer alias problem 2017-12-07 11:22:59 -08:00
greg f8152f68ad Still tryign to make the pointer-munging work 2017-12-07 08:15:28 -08:00
greg 9273773bf4 This has broken sexp parsing 2017-12-04 04:56:29 -08:00
greg 844cef36c7 Fix print bug 2017-12-04 03:26:38 -08:00
greg 0e17e45f3e Convert to more lispish Cons 2017-12-04 03:23:55 -08:00
greg 18d8ca7bd5 Special forms list 2017-12-04 03:06:54 -08:00
greg 2ee14bf740 Unwraps 2017-12-04 03:02:38 -08:00
greg 502497687a Handle top-level empty list 2017-12-04 03:01:47 -08:00
greg 107897ec97 print list 2017-12-04 02:44:09 -08:00
greg 8534fb4118 Tighten code 2017-12-04 02:00:00 -08:00
greg a1e38aba8e Some more code 2017-12-04 01:57:24 -08:00
greg 2f8ef99b08 Type simplification 2017-12-03 22:20:43 -08:00
greg 2bb55b6cca State for eval 2017-12-03 22:10:19 -08:00
greg bcd70ff538 Numbers 2017-12-03 19:21:56 -08:00
greg 728393671f Fixed string parsing 2017-12-03 17:47:17 -08:00
greg 9c3e223e51 Strings partway working 2017-12-03 17:11:17 -08:00
greg 2738119f17 Quotes 2017-12-03 06:04:53 -08:00
greg 630ead289c Change Symbol -> Word for token 2017-12-01 03:00:42 -08:00
greg 485e869c90 Fix bug 2017-12-01 02:58:09 -08:00
greg 9e8a3d1f08 Tighten code 2017-12-01 02:39:17 -08:00
greg b1da524a8f Intersperse 2017-12-01 02:36:52 -08:00
greg 787b6d51a4 Parsing correctly yay 2017-12-01 02:16:28 -08:00
greg 1dae4443cd Tokens 2017-11-30 22:37:49 -08:00
greg 210a45c92e Sexp parsing 2017-11-29 02:08:30 -08:00
greg 815e0401f2 Parses ( 2017-11-29 01:45:29 -08:00
greg 753247ee83 Some halfwritten stuff 2017-11-28 03:37:16 -08:00
greg 6223fc20f3 List datatype 2017-11-27 00:57:26 -08:00
greg da928db351 Add a new language - Rukka
This is a (simple) lisp, partially for fun, partially for testing the
generic interfaces
2017-11-26 21:17:17 -08:00
greg 93d0cfe5b8 Make schala-lib::language private and reexport 2017-11-02 02:45:26 -07:00
greg 687b28d1d1 Take TokenError type out of schala-lib 2017-11-01 22:41:34 -07:00
greg b62f618256 I don't need this syntax 2017-11-01 01:25:26 -07:00
greg f25b76ea11 Kill some packages from schala bin 2017-11-01 01:23:54 -07:00
greg 6b2736348d Get rid of unused imports 2017-10-31 00:45:15 -07:00
greg 69d5f38ea1 Refactor into libs part II
woo it compiles
2017-10-30 22:18:02 -07:00
greg a6f8616839 Halfway done to library-ifying schala 2017-10-30 20:06:20 -07:00
greg cdcb55e3b8 PLIGenerators can be authoritative, not the instances themselves 2017-10-29 13:45:55 -07:00
greg 74ac26841f Some simplification 2017-10-29 12:27:24 -07:00
greg 8fd29b5090 Passing things along as generators 2017-10-29 04:09:10 -07:00
greg 5ebc96daa7 Don't need mutex, kill it 2017-10-29 04:04:54 -07:00
greg 277e039251 Finally removed schala dependency
Now need to clena up everything
2017-10-29 03:41:40 -07:00
greg 6e8f57e54f Okay this compiles
The secret (from #rust) appeared to be that Fn() needed to have + Send
explicitly annotated on it
2017-10-29 03:16:08 -07:00
greg ae02391270 Working on solution to Rocket state problem 2017-10-27 00:30:28 -07:00
greg 9379485713 Some linker bullshit
I don't know why I needed to do this
2017-10-26 02:03:47 -07:00
greg 910522537c Splitting up some code
In preparation for splitting schala into crates
2017-10-23 20:51:08 -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