FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Todo List

 
Post new topic   Reply to topic     Forum Index -> Walnut
View previous topic :: View next topic  
Author Message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Wed Apr 04, 2007 7:26 pm    Post subject: Reply with quote

Wow... lengthy discussion about legality. Result:

http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=51720

Dan wrote:
> Walter Bright Wrote:
>
>> LOL. I'm not sitting here with a pack of lawyers itching to sic them on
>> somebody. Heck, I've been putting more and more of phobos into the
>> public domain.
>
> Indeed, I've never suspected so. I tend to go on what people say is okay with them.
> According to the definition, practically any programming after having
seen an example of
> a for loop is an offense;

No, I don't think so. Copyright does not apply to algorithms, nor does
it apply to specific numbers or identifiers. You cannot copyright a
phrase. You cannot copyright quicksort, but you can copyright your
implementation of quicksort.

> so it's reasonable to be sure one isn't stepping on the wrong toes.
>
> I agree with the issues you raised, and don't intend to violate those.
>
> More or less though, I feel it would border on treason to the community if I continued
> to develop and release Walnut 2.x when you felt I'd essentially
produced a derived work
> that should remain constricted to GPL.

I don't have an opinion on whether you produced a derived work or not,
since I haven't looked at the code.

> Considering what you're last post stated, I can almost assume that you feel Walnut 2.x
> at Revision 44 is okay, and that I can continue work, as long as your
files aren't open.
> :p
>
> I pretty much just feel I need a yes or no from ya. :p

All I ask if that if any of it is a line by line translation from
dmdscript, or bases its structure or data structures on dmdscript, that
you scrap & rewrite those parts, and that you not look at the dmdscript
source as long as you're working on Walnut.
_________________
nop
nop ; problem solved
Back to top
View user's profile Send private message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Wed Apr 04, 2007 10:57 pm    Post subject: Re: Todo List Reply with quote

These are the remaining ones: Very Happy

dan.lewis wrote:


Arrow Make sure all the file comment headers are right.
Arrow mark the linear key lookup for my custom associative arrays "/// OPT:"
Arrow Fix the constructor functions to be stored as an o["__value__"] = NF == &Number_constructor IFF they have properties/methods on the constructor.
Arrow Later I intend to finish implementing Value.to??? which is no small part of the back-end of the engine, as it works as parse???, toString, and new.
Arrow Following that, fleshing out the functions leaves us with a complete back-end? Am I legally permitted to examine Walter's DMDScript when I write this part, and still release it under BSD? If not, I'll do it myself and stumble through any bugs I hit.

_________________
nop
nop ; problem solved
Back to top
View user's profile Send private message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Mon Apr 09, 2007 10:51 am    Post subject: Reply with quote

I finished the Math object's methods. Very Happy

These are the remaining ones:

Arrow Mark the linear key lookup for my custom associative arrays "/// OPT:",
Arrow Fix the constructor functions to be stored as an o["__value__"] = NF == &Number_constructor IFF they have properties/methods on the constructor,
Arrow Finish implementing Value.to???,
Arrow Fix up Date_UTC,
Arrow Fleshing out the remaining unfinished stub functions
Back to top
View user's profile Send private message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Fri Apr 13, 2007 10:02 am    Post subject: Reply with quote

I made alot of changes to the core.d file yesterday, removing alot of excess code. I also stopped using initials for things to make the code more legible to others.

It used to be:

v.o[TEXT_property]

and:

v.nf[TEXT_nativefunction]

It now implements a single Value struct, which can be used as an Object or Function (opIndex, opCall, opIn_r are part of Value):

v[TEXT_property][TEXT_subproperty]
and:
v(self,cc,arguments);
or:
v[TEXT_methodname](self,cc,arguments);

I think that will make the source dramatically more legible. I also modified all the comments in preparation for a proper DDoc. I haven't written comments all the way through yet though. Next revision ought to be completely DDoc'd.

Exclamation In addition, the /// OPTIMIZE:, /// BUG:, and /// INCOMPLETE: comments can be used as a standard to denote potential improvements.
Back to top
View user's profile Send private message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Sun Apr 22, 2007 9:34 pm    Post subject: Reply with quote

I wrote a unittest file up. It's hard to have actual unit tests for aspect oriented programs.

That said, the tests I wrote are painfully revealing. Lots and lots and lots of bugs. I think I used quite a few shortcuts around the Phobos standard library that came back to bite me in the ass.

Crying or Very sad

Since there's no point continuing to implement more bugs, I'm going to fix what I've already written before I implement anything else. I'm also going to work on expanding the test code.

Rolling Eyes
_________________
nop
nop ; problem solved
Back to top
View user's profile Send private message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Sat Jun 30, 2007 7:58 pm    Post subject: Reply with quote

The test files have been updated and now properly (I think) test Date stuff out. Date setFullYear and the timezone offset functions seem not to be working.

I will fix Date to 100%
Then do likewise for the Math object and so on.

I'm also hoping to learn of a better way to compile in the icon. I heard something about D having a resource compiler? That would eliminate the compile dependencies on a little known rc (or removing the lines from the make file)

~~

I think (I'll read carefully before I do it) that I ought to implement the constructor functions like so:

Global_Number() is called when someone types "Number(3);", while Number_prototype_constructor() is called when someone types "new Number(3)" or "Number.prototype.constructor()";

Is that right?

Right now the Global contains an Object at slot "Number", whereas it ought to contain a Function object.

~~

Internally, a function primitive ought be lazily promoted to a Function object when it needs the features of both; just like a number primitive or a boolean primitive.

I still haven't implemented the __value__ property found in JavaScript to store the value (the actual number) behind a Number object, or the actual function behind a Function object. Something on that object needs to point to the actual value?

Wish me luck.
_________________
nop
nop ; problem solved
Back to top
View user's profile Send private message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Wed Jul 04, 2007 7:45 am    Post subject: Reply with quote

DDoc comments have been implemented, and ddoc output is now part of my builds. The requisite resource compiler (for the icon) is now Digital Mars' RCC rather than GoRC.

I've still yet to start working out the problems identified in the last post.
_________________
nop
nop ; problem solved
Back to top
View user's profile Send private message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Fri Jul 13, 2007 11:43 pm    Post subject: Reply with quote

Very Happy Resource Compiler
Very Happy primitive calls versus constructor calls
Very Happy Implemented ___value__ property for objects
Very Happy DDoc Comments
Very Happy The lexical analyzer (Global_eval) has been started.

Exclamation Date still has obvious bugs. I performed a side-by-side testing of output against JScript, JavaScript Dmdscript, Walnut, and the ECMAScript spec and found some serious semantic variations.

Idea I figured out that it would be easier to test the methods once I've got Global_eval working because then I can use the same source to test Walnut as the other engines I'm testing against. I can also use the official JavaScript conformance test suite (with over 10,000 test cases)
_________________
nop
nop ; problem solved
Back to top
View user's profile Send private message
dan.lewis



Joined: 21 Feb 2007
Posts: 69
Location: Canada

PostPosted: Fri Dec 14, 2007 9:50 am    Post subject: Reply with quote

Very Happy Regular Expression methods and constructors are done.
Very Happy I've almost done all of my first-tries at that huge list of methods.

Todo:
Arrow Configure methods to handle native functions as arguments.
Arrow Complete remaining methods (except Global_eval)
Arrow Flesh out all the DDoc comments in the methods file.
Arrow Build the on-the-fly source interpreter (doesn't use bytecode and doesn't optimize, but actually skips evaluating code through fly-by branching; also for now it should skip functions, loops, and regular expressions)
Arrow Bind regular expression literals to new RegExp
Arrow Write non-optimizing machine-code compiler for loop and function code.
_________________
nop
nop ; problem solved
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Walnut All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group