Cixar

XML/RSS

Categories:

/ (117)
  art/ (4)
    tale/ (1)
  bookmark/ (2)
  langlubber/ (4)
  movies/ (2)
  music/ (1)
    garageband/ (2)
  photo/ (1)
  politics/ (1)
  program/ (28)
    cli/ (1)
    javascript/ (13)
      chiron/ (5)
    python/ (6)
    swil/ (2)
    tale/ (22)
  reading/ (4)
  tale/ (24)
  writing/ (2)

Archives:

2008-Oct
2008-Sep
2008-Aug
2008-May
2008-Apr
2008-Mar
2008-Feb
2008-Jan
2007-Jun
2007-May
2007-Apr
2007-Mar
2007-Feb
2007-Jan
2006-Oct
2006-Sep
2006-Aug
2006-Jun
2006-May
2006-Apr
2006-Mar
2006-Feb
2006-Jan
2005-Dec
2005-Nov
2005-Oct
2005-Sep
2005-Aug
2005-Jul
2005-Jun
2005-May
2005-Apr
2005-Mar


The Sourcerer

by Kris Kowal.

Thu, 16 Jun 2005

Swil

On another note, I didn't finish Swil on time. I'll be working on it over the summer.

My attempt (blind stab) to build the syntax evaluation and apply, especially in the absence of a complete parser, revealed some conceptual problems, including a syntax collision, and ultimately didn't work in many cases.

As for the syntax collision, anonymous functions in Swil will require an additional character. My original concept for the syntax, (parameters): routine, doesn't pan out because it collides with assignment to various kinds of sequences, and even to parenthesized single element evaluations. So, with an added dot, .(parameters): arguments will have to suffice.

As for making the evaluation system work, I'm considering the implications of merging the context and syntax structures, and making sure that application (apply) never directly calls a named function. Rather, apply will look up a context corresponding to the operator, then apply it against the operand.

Another issue I ran into was that function calls cannot inherently be generators. Normal function calls lend a user to believe that the function values evaluate expediently. I may introduce an iterate built-in for iterative evaluation of a function call. I may do something else, but my priority will be to make instantaneous evaluation work first.

I also look forward to implementing types, casting, function overload, pattern matching, and grammar matching eventually.

I hope to have minimal functionality ready for the function programming competition soon.

this entry was posted on Thu, 16 Jun 2005 at 02:10 in