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
December 20, 2008
Tangent: Measurement infrastructure
I had some time tonight to work on Tangent. On the menu? Infrastructure for unit of measurement types (as the clever folks might've guessed by the title). Under the hood, a Measure inherits (awkwardly) from Type. It adds a list of UnitOfMeasure, a comparator, and a few util methods for now. A UnitO…
515 views
Telastyn
December 16, 2008
Tangent: Measurement intro
First off, thanks to Daerax for the great link that helped this post get along.

Secondly, w00t! I got my christmas present

And work is finally calming down after release and the clean-up of a monumental clusterfuck caused by a single mis-labeled constant used once in code (not mine). Which allowed me…
357 views
Telastyn
December 10, 2008
Introspection
I realized something today. I do not learn advanced concepts well. This is a known problem. There's probably a lot of reasons why this is, and I have a decent idea about a few of them, but today I thought of a new one.

I am pretty smart. Or at least all the tests always said I was, and looking aroun…
470 views
Telastyn
December 02, 2008
Tangent: int sucks.
Work continues to be hellish. If someone does not go postal or quit or end up in a psych ward or shot by an angry client by the end of next week, we'll call it a win.


So no Tangent work. Still need to implement better method grouping for phrases, generic bits for phrases, the type-arg sort of stuff,…
530 views
Telastyn
November 25, 2008
Ugh.
So that project that I thought would clear out once released? The hits just keep on coming with that. The project involves linking some payment processing with a new peer. First the peer neglected to implement one of the codes we needed. There's a bunch and it's a rare code, so we didn't catch it i…
246 views
Telastyn
November 19, 2008
I am dumb.
Quote:
but hopefully the release will free up my motivation and time to get back to it.


Umm yeah. This is not the case. Today's lesson at the school of hard knocks is 'how much work is there once the work is "done"?'.
238 views
Telastyn
November 17, 2008
Tangent: Typeclass preview
Got to work over the weekend to babysit and tweak some stuff regarding the release of the big project I was leading. No time for work on Tangent, but hopefully the release will free up my motivation and time to get back to it.

And now that at least the basics of generics are declarable (and making t…
252 views
Telastyn
November 13, 2008
Umm?
Quote:Dude from work said:
Your programming language is like Lisp without parenthesis.


I am not sure if I should be insulted or thrilled.
327 views
Telastyn
November 12, 2008
While I think...
Plenty of time tonight to work on implementing generics for methods. I managed to get type parameters working earlier in the week. Again, that is this sort of construct:


public static bool foo {
// ...
}

if( foo string ){
// ...
}


A declaration that says 'this argument must be a type, and is ref…
279 views
Telastyn
November 05, 2008
Tangent: Generic Method Sneak Peek!
Had the evening free to work on added implementation of generics. Generic methods are pretty much a hojillion more times difficult to implement than their class brethren. To complicate matters a bit, I'm looking to modify the standard syntax a bit to better support phrases.

There are three things th…
194 views
Telastyn
November 03, 2008
Tangent: Generics Part 1
At least the most cursory of generics now work in source:

public class foo{
public T x;
}

public static void main(){
local foo<int> bar = new foo<int>;

bar.x = 5;
// bar.x = "foo!"; // error, no assignment to int from string.
print bar.x;

local foo<string&…
261 views
Telastyn
October 30, 2008
Hardware and next steps.
My main dev machine ran into some problems a few days back. Windows would flash and generally not be interactive, making it pretty useless. The login screen and alt-ctrl-del screen worked well, so I put the problem in with the video card/driver (since I'm using vista). A reinstall of the drivers di…
245 views
Telastyn
October 21, 2008
Tangent: v0.25!
Link

New Tangent release is out. The link is for the release page describing some of the additions since you could last toy around with the language. It still mostly sucks, but has some new and interesting things I've not seen offered elsewhere. Compliments are welcome; bug reports or suggestions fo…
415 views
Telastyn
October 14, 2008
Tangent: Const-cleanup.
I fixed up a lot of the brokenness caused by the const addition. The pi and maze testapps work again.

More importantly, these sort of things will now provide you with an error (and not cause ambiguity errors when paired with a valid option like properties often cause):


4 = 2;
int = string;
* = /;

main =…
237 views
Telastyn
October 11, 2008
Tangent: Constness
Tangent at last seems to have lost some steam. A distinct desire to play games and added workplace workload and a visit from the family have conspired to leave me with little time and motivation to work on the language. There's about a half dozen mildly hairy changes that should get done before the…
228 views
Telastyn
September 27, 2008
Cliches that hold true.
Whimsy drove me from productive stuff towards profiling stuff. The maze app (last post) is indeed spending 60-70% of its time on what amounts to a single method call. It's not actually the dynamic invoke on a MethodInfo (like I suspected) but simply creating storage for the return value from a .NET…
199 views
Telastyn
September 26, 2008
Tangent: Maze Example

Beginning Compilation.
Imports complete. 30 types exist.

Compilation Complete.
Time Elapsed: 00:00:01.1542230

#################################################################################
#.....#...............#...#...........#.....#...............#.....#.............#
###.#.#.###########.#.#.#.#.#…
317 views
Telastyn
September 25, 2008
The great 2008 bug hunt.
Sorry folks, no maze output tonight. I spent the night (and half of last night) hunting one bug. The bug manifested itself in double-lists: List> but only when Tangent types were involved. List> worked fine. The symptom was that the second indexer call would crap out in method group invoke sa…
261 views
Telastyn
September 24, 2008
Tangent: Prelim Maze Gen
Had some time tonight (and more importantly, some motivation) and worked through the maze gen. It doesn't quite run yet. Fixed two bugs, one with default initializers and complex types (this-method instances), another where a returned instance's indexers were ignored. I've still got an elusive bug …
267 views
Telastyn
September 23, 2008
Tangent: Bug Update
Tiny update. The bug from the last post has been found and killed. The problem wasn't with nested type parameterization (that works fine). The problem was that when Tangent instances go into .NET, they go as the underlying .NET instance of all Tangent instances. Tangent then handles the type safety…
256 views
Telastyn
September 20, 2008
Slow week.
Not much to report this week. The explicit identifier stuff took a lot of energy and was followed up by hectic real work. Plus I'm at a point where pretty much all of the experimental sort of Tangent features are implemented, leaving the relatively mundane tasks (implementing generic declarations, …
244 views
Telastyn
September 12, 2008
Tangent: Phrases
Hah! I finally got around to finishing off the phrase declarations. The implementation is a single embaressingly horrid 13 parameter, 800 line, procedural, recursive method. It's been a while since I've faced a problem so frustrating or beyond my grasp that I diverted so much energy from basic code…
244 views
Telastyn
September 11, 2008
Mini update.
Little work tonight. I have method picking based on explicit identifier and combined with a standard parameter working now. There's no priority for the identifier versions yet. I also need to make null not trigger the explicit identifier methods [edit: done]. Mostly though I'm still running into me…
238 views
Telastyn
September 11, 2008
Tangent: Explicit Identifier Arguments
One of the main design focuses for Tangent as it stands now is to better allow Domain Specific Language (hereafter DSL) tendencies. Many of my primary motivations come from game programming where scripting languages are now ubiquitous. Even in the business world, there's been a proliferation of obj…
218 views
Telastyn
September 09, 2008
Tangent: Indexers
Added basic support for indexers tonight. Indexers suck. They're lengthy, they're weird, and despite their limited utility they're pretty essential for that utility. And most things still seem to be broken. Prolly the type parameterization stuff. Whatever. I can now create, add to, retrieve from, a…
204 views
Telastyn
September 08, 2008
Tangent: Type Parameterization, Part 1
It's been a slow two weeks with Disgaea 3 and American Labor Day occupying a lot of my time. Such layoffs seem to help though; they provide time to design. Time to scheme up good solutions for things. Like this. The problem is directly from Tangent internals. A type holds a number of definitions. B…
210 views
Telastyn
September 02, 2008
Tangent Tidbits.
Not much done over the long labor day weekend. Social obligations brought me away from the internet. Not so bad with a good book (American Gods) if it's infrequent.

Tangent work tonight was some updates to the .NET importer and certain bits of the type system to support importing generic types such …
237 views
Telastyn
August 25, 2008
Tangent: Properties
A week long vacation that is more work than relaxation sucks. 5 extra 3-day weekends? Infinitely better. Today is one of those random bonus days. In addition to squishing that one bug (see below) I wanted to get properties working. And lo, they work (at least for the simple case):


public class foo{
262 views
Telastyn
August 25, 2008
Tangent: Buggery
Ran into an interesting bug over the weekend, and fixed today. The following code was in error:


public class foo{
public operator delegate int op(int x, int y);
}

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

x.op = (int x, int y) => int{return(x+y);};

print 2 x.op 6;
}



The error was …
281 views
Telastyn
August 21, 2008
Tangent: Lambda Expressions
Daerax asked if Tangent was going to support local functions. It seems he meant anonymous delegate things, so yes. They're very useful for just little tidbits of glue code (because there's no 'bind' equivalent in C#), and pretty vital in providing snippets as strategies. Since Tangent is making an …
259 views
Advertisement

Popular Blogs

shawnhar
Generalist
101 Entries
9 Followers
15 Entries
10 Followers
johnhattan
Programmer
1,277 Entries
47 Followers
ApochPiQ
Generalist
628 Entries
44 Followers
dgreen02
Generalist
338 Entries
56 Followers
Advertisement