Ye Olde Ramblings

Current topic is the development of a toy language to test a few syntax ideas.
237 comments
1 followers
359 entries
Advertisement
Telastyn
August 19, 2008
Tangent: Delegates
Had a little bit of time and worked a bit on delegates tonight. Turns out they weren't terribly difficult due to some good planning on my part, and because a lot of the stuff was already there. I still need to make normal methods not assignable, and stuff might break in corner cases, and I need yet…
297 views
Telastyn
August 15, 2008
Paying the Piper.
Not much Tangent work this week. I fixed a bug with this-methods where it tried to make the parameters of the method into member variables (thus breaking scoping rules) and poked a bit more at the importer.

Mostly because my partner in crime was in a musical last week (hence all the free time for mu…
250 views
Telastyn
August 10, 2008
Tangent: Imports #2
No work today. Upkeep of the social life. I did manage to track down the method -> group inheritance bug since I last posted and did some cleanup of the import. It's actually pretty nice now. I changed int to work off the import rather than the hardcoded type and all of the hard-coded operator t…
264 views
Telastyn
August 09, 2008
Tangent: Imports
I spent about 30 minutes revisiting my half-implemented .NET import support, and then about 3 hours tracking down bugs. I've been thinking that there's a problem with how the imported types are assigned. Basically, when the import comes across a built in type, it should just use that. But the refer…
247 views
Telastyn
August 09, 2008
Tangent: This methods
~1 hour; implemented 'this methods':


public class speaker{
public string text;
public void this(){
print text " \r\n";
}
}

public static void main(){
local speaker cow = new speaker;
local speaker sheep = new speaker;

cow.text = "moo.";
sheep.text = "bleat.";

cow();
sheep();
}

// moo.
// bleat.




And agai…
313 views
Telastyn
August 08, 2008
Tangent: Virtual Methods
Quick work on virtual methods and type comparison between unbuilt and built types.
This now works:


public goose class A{
public virtual void moo(){
print "moo.\r\n";
}
}

public goose class B:A{
public virtual void moo(){
print "MOO!\r\n";
}
}

public static void main(){
local A foo = new B;
local A bar…
239 views
Telastyn
August 07, 2008
I am going to hell.
As if the inordinate amount of evidence wasn't already enough:


public goose class A:C{
public int a;
}

public goose class B:A{
public int b;
}

public goose class C:B{
public int c;
}

public static void main(){
local A foo = new A;

print foo.a foo.b foo.c;
}




Coworker today asked how the mix-in implementatio…
257 views
Advertisement
Telastyn
August 07, 2008
Tangent: Mix-ins Part 1
Fixed the bug in the op-constraints. I must've written them while sleepy, because I made the op-constraint object a mutable class. Things that get bound with types need to be immutable (and you get a new type back). This led to problems when I ran two in a row (in this case, assignment). I would bi…
312 views
Telastyn
August 06, 2008
Working Weekend
My social life is on hiatus until Sunday evening since my partner in crime is busy doing a play. Bad for me, good for Tangent. The plan for this weekend is to get inheritance working fully. Properly resolved name collisions, fix the bug in op constraints, and get a few nice test cases for the vario…
232 views
Telastyn
August 04, 2008
Tangent: Inheritance Bugs
I tracked down a few little bugs with Tangent inheritance. One was just something dumb that I forgot to do that prevented classes from having their inheritance lists dealt with. The second was a parser design error that saw foo:bar,baz{} as foo inherits a tuple of type bar,baz. Fixed that. Now pare…
300 views
Advertisement

Popular Blogs

shawnhar
Generalist
101 Entries
14 Followers
klg71
Generalist
55 Entries
2 Followers
ApochPiQ
Generalist
628 Entries
45 Followers
15 Entries
14 Followers
johnhattan
Programmer
1,277 Entries
50 Followers
Advertisement