Everyone is going out of town this weekend except for me, so I'll have the long weekend to drink mountain dew, eat swedish fish and work on Tangent. w00t.
As a lead up to that, I had tonight free so it went to do some cleanup work on the method declaration bits. There were... probably 4 major proble…
As a lead up to that, I had tonight free so it went to do some cleanup work on the method declaration bits. There were... probably 4 major proble…
Its nice to be able to get back to work after being sick for a few days. Very productive both at work, and at hobby work today. Tangent's Hello World now works:
Not very impressive, I know. And if I actually had dotNet importing working better, it'…
public static void main(){
print "Hello World";
}
Not very impressive, I know. And if I actually had dotNet importing working better, it'…
Doing some research today on some stuff for Tangent (because the amusing sites have been blocked at work), I found that the stuff I've been terming mixins for Tangent are more appropriately called traits (since they may hold state). That yielded a nice ton of more info and links.
The most important …
The most important …
I hit milestone 3 a few days ago. Local variable declaration works (for ints at least). Initialization, default values, scope.
Tonight I had free so worked quickly on milestone 4 (method declarations). About 45 minutes and I had the grammar setup and the first testcase:
Tonight I had free so worked quickly on milestone 4 (method declarations). About 45 minutes and I had the grammar setup and the first testcase:
public static void foo(){
…
Local variable declarations quickly got complex. First, I underestimated the work involved. Second, I am an idiot (and made a poor design choice). Third, I got greedy (and remembered I should probably implement op-assign properly).
The good news is that I'll end up with a lot more done than I expect…
The good news is that I'll end up with a lot more done than I expect…
I added in local variable declarations to the Tangent syntax.
Unfortunately they don't quite line up with C#, mostly because types can act as unary operators. type foo = bar; becomes a bit ambiguous if type can act as a unary op. Is it a variable declaration, or is foo supposed to be a param to typ…
Unfortunately they don't quite line up with C#, mostly because types can act as unary operators. type foo = bar; becomes a bit ambiguous if type can act as a unary op. Is it a variable declaration, or is foo supposed to be a param to typ…
Milestone 1: ~3 months
Milestone 2: ~3 days
(and another 4 weeks making things work beyond my one arbitrary test and after further use reminds me that I am an idiot)
Tangent now parses and interprets literals:
Milestone 2: ~3 days
(and another 4 weeks making things work beyond my one arbitrary test and after further use reminds me that I am an idiot)
Tangent now parses and interprets literals:
// a = "moo." above
// print defined in journal entries below
{
print "bleat. " 3.14 " " 42 …
After 45 mins more debugging:
And it turns out the instance binding was working fine and the return statements were also working well. The problem was that I was using the instance of the method for all that, but executing the code from the template. I know that doesn't really make sense.... I'm pre…
And it turns out the instance binding was working fine and the return statements were also working well. The problem was that I was using the instance of the method for all that, but executing the code from the template. I know that doesn't really make sense.... I'm pre…
So I tracked down the problem with the gobblers.
I wasn't nicely keeping track of wildcards' (paren statements) effective type, so they kinda got dropped. [reworked wildcard class to include that, and cache results]
And then when I un-flattened the token stream, I wasn't checking if the token was alr…
I wasn't nicely keeping track of wildcards' (paren statements) effective type, so they kinda got dropped. [reworked wildcard class to include that, and cache results]
And then when I un-flattened the token stream, I wasn't checking if the token was alr…
After the (admittedly unsurprising) partial failure of my car's brake system and the resultant hours at the garage, I got some Tangent work done.
The primary work of the day was refactoring the identifier resolution/overload-ambiguity checking into separate bits. Part of the problem of "just make it…
The primary work of the day was refactoring the identifier resolution/overload-ambiguity checking into separate bits. Part of the problem of "just make it…
Advertisement
Popular Blogs
Advertisement