c43436f35a
Change Mom to SlotMachine
...
rather large commit, but essentially a simple rename
Rationale in docs and blogs
2019-10-03 20:55:41 +03:00
2dcb2a9a72
Introduce singleton types
...
Just for future, as this gives us a way to know immediately in the type, which represent normal, and which singleton classes
Also instantiate singleton class lazily (with singleton type)
This makes the type of class single, ie unique, immediately when it is used, ie methods or variables defined.
Fixes a design mistake, where all singletonn classes shared the same type, and thus unique methods per class were impossible
(Also some misc in commit)
2019-10-01 19:42:16 +03:00
dd810cfc49
Make to_mom a 2 stage process
...
First baby baby step on the way to passes
Create all parfait objects in first pass, so methods exist to be resolved in second path
2019-09-24 15:44:33 +03:00
113ba8607c
fix to_s (mostly)
2019-09-19 20:48:21 +03:00
f87526f86f
Renaming Vool exppressions rightly
...
Class, Method and Lambda (was block) are expressions.
Just making things clearer, especially for the blocks (ahem, lambdas) is matters.
wip
2019-08-19 11:33:12 +03:00
7c91a08d5b
Fix vool assignments after call rework
...
also small fix for if and return, as they need to execute sneds and yields (not just sends), so testing for Call not SendStatement
2019-08-16 20:39:08 +03:00
c213cf874b
Fix ruby normalising to_vool
...
So that vool layer never has complex conditions or returns
Start with while, next if, return and assign
2019-08-16 14:20:06 +03:00
84b9811e55
Fixing ruby send with arguments
...
When send has complex args, mostly more sends, we hoist those out and pass created temporary variables
2019-08-15 21:30:36 +03:00
Torsten Ruger
fb6a1a0e01
fix the statement moming
2018-11-02 17:27:46 -07:00
Torsten Ruger
0238874c20
fx ruby send args
2018-07-20 20:06:14 +03:00
Torsten Ruger
ae3d64eb53
moved all the normalize stuff over to the ruby layer
...
Which is how it should have been from the start
2018-07-19 14:47:29 +03:00
Torsten Ruger
acd5cd8f30
rename for_type to self_type
...
and split a base class off TypedMethod
2018-07-06 20:01:17 +03:00
Torsten Ruger
3f80953385
passing compiler to to_mom, not method
...
To be able to delegate scope (block/method) things later
2018-07-05 14:02:38 +03:00
Torsten Ruger
2ad24ab0bb
add to_s for statements
2018-07-03 22:18:19 +03:00
Torsten Ruger
daf1b56062
start on class compiler
...
idea is to get cleaner layer seperation
reduce machine and rework builtin boot
2018-06-30 19:20:17 +03:00
Torsten Ruger
8d7a2fe4d6
fix mom tests
...
and always have a list inside a class
2018-06-29 23:29:10 +03:00
Torsten Ruger
63dd6d9039
moved statements up one dir
2018-06-29 22:46:00 +03:00
Torsten Ruger
db8f99409b
move vool statements into own directory
...
also tests for guard to work
2017-04-06 19:11:11 +03:00
Torsten Ruger
3fe286b5ed
enforces data encapsulation in vool tree
...
gets rid of attraccessor
2017-04-06 16:06:51 +03:00
Torsten Ruger
488af5b8f7
small cleanup
2017-04-05 14:03:48 +03:00
Torsten Ruger
f343ad934c
a start on conditionals
2017-04-02 19:12:42 +03:00
Torsten Ruger
539ab692a3
add scope and kwbegin
...
scope is just a list of statements
2017-04-02 13:24:09 +03:00
Torsten Ruger
b341c722fd
copied stash over
2017-04-01 21:28:57 +03:00