« first day (213 days earlier)      last day (744 days later) » 

00:20
shit just wasted 2 hours when it turned out there was typo ;___;
halp transfromer do bork
;_;
ono i am more idiot
hm, we might need to increase call stack due to absolutely giant ASTTrees possibility
Solution: don't use recursion for traversing that?
well one way or another I need a stack
who knows node.js might TCO it
Yes, manage your own stack
Converting recursive algorithms to iteratives ones like that often allow for some good optimizations
00:35
And are usually not too complicated
but hard
@quartata :/
Not really?
You just make an array and put whatever parameters you were going to call with on it
But then you might find that you can move some of those out of the stack
I can't really read that but if it's just BFS that's very easy with a loop
BFS?
00:38
breadth first
oh
yeah
actually seem pretty easy yeha
I need a stack
@ASCII-only is it OK if I make C++ binding for speed
doing in C++ will make uber-duper fast
also removed need for GC
oh jeez not this again
as JS objects in C++ thing will mean no need for AST GC
You literally starting writing this in C++
then said "nah we only need to bootstrap a compiler let's just write it in JS and not worry about it"
and now you're trying to mix the two on something that doesn't even matter
this is how cheddar ended up the way it did you know
don't do it again
@Downgoat i agree with quartata pls no
00:42
;_;
ono pls y
because we don't want speed we want it to work
for now
ok :(
then after it actually works then we bootstrap, then we focus on speed
ok i added shitty AST GC I think it works but very slow so avoid calling, memory leak is OK
Why do you need a GC in the compiler, doesn't Node have one
00:44
no this is AST GC
because node gc is stupid
are you serious
I have a queue of nodes to process
and that is a strong reference
so the nodes will always be a thing
and if the ASTTool references the transformer
So use a weak reference?
Node.js doesn't have a weak array
also doesn't allow iteration through weaksets
so you're writing your own GC for it
00:45
basically
it's pretty simple
You're aware of how bad this makes Node look right
The whole point of a set is iteration
and membership
not really the former
Not a math set but a programming set absolutely
how can you even use the set without an iterator actually, you can't implement things like intersection
00:48
I mean internally it has iterator
well then get that
Node doesn't have real private members anyways
@ASCII-only AWWW YSIS GENERIC DID A MANGLE!!!!!
> ast[0].statements[0].identifier.type
Identifier { identifier: ScopeItem { id: 'A<T>', original: null } }
@Downgoat yay
ono bork alert
located bork
@ASCII-only bork is parser bork:
                       Generic {
                         parentScope: null,
                         parentNode: null,
                         queueQualifier: null,
                         type: { value: ',' },
                         parameters: { value: '<' } } ] } ],
@Downgoat ono brb
01:00
that is a thing when I do:
let a: A<T<U, V>, W<X, Y>>
I recomend use delimited
@Downgoat ok fix
@Downgoat i do
ok doing a test
:OOOOOO WORK!!!!!!!
AWWW YISSS
:O IT WORK VERY WELL TOO
YISS
@ASCII-only how do we want to compile optional
to Optional<T> right?
ok did
@ASCII-only a? is valid syntax but should not be
@Downgoat example pls
vsl:parser> a?
[ undefined ]
oh wait nevermind
it ok
> throw 'ono ambiguity ;_;';
10/10 best error in VSL codebase
@Downgoat thanks
01:09
@ASCII-only question: how do we want to handle optionals
as in compile
do we want to add a class:
class Optional<T> {
     var isNil: Bool { get }
     var value: T { get }
}
wait nvm
hm
@ASCII-only for very first version in node, do we want to do type checking?
no
@Downgoat yeah
its very complicated
and as hard as type deduction
we can do basic 101 type checking
but it might gloss over certain cases
actually wait
hm
01:25
okay now that generic are a thing class has to be fix hm...
@ASCII-only how are we going to do downcast
are we going to have like id attribute which specifies type?
are we going to use RTTI to check types?
ok now to do type lookup
h
@Downgoat ?
shit meant to say hm
01:48
@Downgoat funny since the two are mysteriously related
@quartata yes that is what i meant
 
13 hours later…
14:30
@ASCII-only can u commit and push the c9 to GH
 
8 hours later…
22:37
@Downgoat ok
@Downgoat wait master is up to date

« first day (213 days earlier)      last day (744 days later) »