3a7fe94b32
[types] Implement From<bool> for Bool
2018-08-26 17:41:50 -07:00
d0441965eb
[types] Add Bools to the mix
2018-08-26 09:52:17 -07:00
9a728c9489
[types] Add some tests for equality of pairs
2018-08-25 11:32:19 -07:00
22f3c3a9e3
[types] Value equivalence via PartialEq!
2018-08-25 11:18:59 -07:00
1a3b7adc5a
[types] Clean up Object a little, add default implementations
2018-08-25 09:21:51 -07:00
31081ba5a9
[types] Move tests to tests/ directory; implement a bunch of Display tests
2018-08-25 09:21:34 -07:00
d10c72711b
[types] Test for displaying empty Pair
2018-08-25 08:33:39 -07:00
fc1f3acfa2
[types] Clean up failing tests
2018-08-25 08:33:23 -07:00
3024efe65e
[types] Add some unit tests for Sym
2018-08-25 08:18:32 -07:00
cd7ea8f543
[types] Revert to a more Rusty way to print objects for Debug
2018-08-25 08:00:39 -07:00
c35fce7727
[parser, types] Call subparser_completed
2018-08-24 21:07:04 -07:00
8e9fde7a9f
[parser, types] Add Obj::take() and use it to take the Obj from the parser when it is done
2018-08-23 18:04:04 -07:00
929846152e
[parser, types] Clean up obj parsers
...
- Define ListParser, SymParser in their own separate modules
- Add some stuff to types to make working with them more ergonomic
2018-08-23 17:52:56 -07:00
d825d0ec8a
[types] Clean up Pair and Sym types
...
Reconfigure the top-level object types.
- Obj is an enum pointer type
- Object is a trait that all Scheme types should implement
Define Sym, a symbol type.
Define Pair, a pair/cons/list type.
Implement Display for all types above. Implement casting methods for the above.
2018-08-23 17:05:29 -07:00
f197f1ba8b
Rename predicates -> preds
2018-08-23 07:53:04 -07:00
234b60dde9
Some spacing tweaks to predicates
2018-08-20 16:31:10 -07:00
a81e9b4258
I guess we're doing this again...
2018-08-20 16:30:59 -07:00
5a5a0c9c07
Add ObjectPtr::new_pair()
2018-08-20 15:21:38 -07:00
6de9ff6695
[types] Fix the tests
2018-08-17 17:18:01 -07:00
4d3366db84
First attempt at Display for Object::Vector
2017-04-30 16:01:11 -07:00
f21148381e
Make sibiltypes::char public
2017-04-30 15:57:29 -07:00
3ffb694ce1
Move Exact to types::number
2017-04-30 15:55:50 -07:00
0133bbed19
[types] Move Char trait down to just above impl
2017-04-23 17:11:56 -07:00
1430bdad29
Make a Char trait that provides some handy methods for Object::Char
2017-04-23 10:57:08 -07:00
fd5df91e27
[lexer,types] Move named_char to types as types/char/names.rs
...
Move char.rs to be char/mod.rs
2017-04-23 10:41:47 -07:00
38be7d2eee
Expose ObjectPtr and ObjectPtr::new from sibiltypes
2017-04-23 09:23:03 -07:00
2f8051135f
Couple more tweaks to number printing
2017-04-22 15:05:51 -07:00
15910480ee
Write Numbers
2017-04-22 12:57:43 -07:00
3d13800d30
Clean module imports for real.rs
2017-04-22 12:57:25 -07:00
b5e9ce6ae2
Implement Display for Numbers
2017-04-22 12:57:11 -07:00
a827958656
Remove complex module from types/number
2017-04-22 12:56:54 -07:00
89b29aadbe
Some unit tests for displaying objects -- not every case is covered cause there are still lots of TODOs
2017-04-22 12:48:46 -07:00
d41fe37d6a
Fix writing pairs
2017-04-22 12:29:53 -07:00
c3a2247fdd
Clean up tests for bool, char, and the lib
2017-04-22 12:29:43 -07:00
25c24852cd
Add a comment to the Pair Display TODO
2017-04-22 09:32:47 -07:00
4274822b65
Simplify number/mod.rs a bunch
2017-04-22 09:30:45 -07:00
61f8cfccb5
Simplify bool.rs a bunch
2017-04-22 09:30:28 -07:00
beb32bf2ce
Bunch of work on types
...
- Comment out a bunch of types modules for now
- Implement fmt::Display on Object (this breaks the build because Number doesn't
implement Display yet)
- Move all the Is* traits to predicates.rs
Haven't run tests yet because they won't build...
2017-04-22 09:29:11 -07:00
d63eef3da0
Move value.rs to object.rs
2017-04-22 09:28:44 -07:00
89279e5a22
Convert Value trait to a Object enum; add ObjectPtr type
2017-04-21 19:28:39 -07:00
594b3e44e1
Rough outline of something resembling a parser (again...)
2017-04-15 21:01:28 -07:00
f31094d115
Move rational conversion to math.rs
2017-04-15 11:30:31 -07:00
392c9e5ef8
Add fmt::Display impl to Real
2017-04-15 11:13:05 -07:00
161c122327
Remove println!
2017-04-15 11:06:14 -07:00
25ef33b81f
Expose number module from sibiltypes
2017-04-15 11:01:42 -07:00
1d7b3b9df1
Add doc tests for other Real methods
2017-04-15 11:01:29 -07:00
c46081c0c3
Make Rational addition work!
2017-04-15 11:01:12 -07:00
4d7d709b2f
Keep working on Numbers and stuff -- trying to get integrated with the new sibillexer crate
2017-04-15 09:37:48 -07:00
5e71947128
Partial implementation of Rational addition
2017-04-14 07:48:02 -07:00
403536ec4c
Lots of churn for Real
2017-04-14 07:47:51 -07:00