Re Svn 3335

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Re Svn 3335

blackdog-2
Hi Nicolas

"js core api classes extraction done"

What's the motivation for this?

Thanks

bd

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

Benjamin Dasnois
I don't know why but looking at the metas, I believe it's part of a big plan ;)

On Fri, Aug 13, 2010 at 11:59 AM, Ritchie Turner <[hidden email]> wrote:
Hi Nicolas

"js core api classes extraction done"

What's the motivation for this?

Thanks

bd

--
haXe - an open source web programming language
http://haxe.org



--
DASNOIS Benjamin
http://www.benjamindasnois.com

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

Nicolas Cannasse
In reply to this post by blackdog-2
Ritchie Turner a écrit :
> Hi Nicolas
>
> "js core api classes extraction done"
>
> What's the motivation for this?

Separate different implementations of standard classes
(Type,Reflect,Xml) on a per-platform basis. This will be transparent for
the user.

Nicolas

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

blackdog-2
Yes, but why? Is this just a general tidy up or are you doing it for
more fundamental reforms later and if so what are they?

Thanks

bd

On 08/13/2010 07:21 AM, Nicolas Cannasse wrote:

> Ritchie Turner a écrit :
>> Hi Nicolas
>>
>> "js core api classes extraction done"
>>
>> What's the motivation for this?
>
> Separate different implementations of standard classes
> (Type,Reflect,Xml) on a per-platform basis. This will be transparent for
> the user.
>
> Nicolas
>


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

Nicolas Cannasse
Ritchie Turner a écrit :
> Yes, but why? Is this just a general tidy up or are you doing it for
> more fundamental reforms later and if so what are they?

It's just cleanup. With 6 platforms already, having all these #if
#elseif was just making things harder to maintain.

You can read more about planned "fundamental reforms" here :
http://haxe.org/com/features
and here
http://code.google.com/p/haxe/wiki/ApiChanges

Nicolas

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

blackdog-2

yes, makes sense, thanks

bd

On 08/13/2010 07:38 AM, Nicolas Cannasse wrote:

> Ritchie Turner a écrit :
>> Yes, but why? Is this just a general tidy up or are you doing it for
>> more fundamental reforms later and if so what are they?
>
> It's just cleanup. With 6 platforms already, having all these #if
> #elseif was just making things harder to maintain.
>
> You can read more about planned "fundamental reforms" here :
> http://haxe.org/com/features
> and here
> http://code.google.com/p/haxe/wiki/ApiChanges
>
> Nicolas
>


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

blackdog-2
In reply to this post by Nicolas Cannasse
Hi Nicolas

In the same spirit as this thread, may I suggest a truly cross platform
package/library for haxe 3. For example, when I was doing haxed, which
needs to work with 3 platforms one has to do #if # elseif etc and of
course that means that the creation of a cross platform library of
basics like this is required ...

http://github.com/blackdog66/bdog-core/blob/master/bdog/Os.hx

I'm sure that every haxe programmer has something similar in his toolbox
so why don't we just have one standard way of doing it? Especially since
the number supported platforms is only going to increase.

May I also suggest it has async and sync interfaces for file io, network
servers etc. :P

bd


On 08/13/2010 07:38 AM, Nicolas Cannasse wrote:

> Ritchie Turner a écrit :
>> Yes, but why? Is this just a general tidy up or are you doing it for
>> more fundamental reforms later and if so what are they?
>
> It's just cleanup. With 6 platforms already, having all these #if
> #elseif was just making things harder to maintain.
>
> You can read more about planned "fundamental reforms" here :
> http://haxe.org/com/features
> and here
> http://code.google.com/p/haxe/wiki/ApiChanges
>
> Nicolas
>


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

John A. De Goes

Stax is designed to be entirely cross platform. Although every platform will have a low-level "native" component (such as the DOM in JavaScript), the higher-level APIs are identical across all the platforms.

This necessitates asynchronous APIs. For example, if you read a file, you'll get back a Future<String>, not a String. You can map, flatMap, filter, etc., the future, and deliver its value, but you cannot block on the result.

Since Stax uses Future's, however, programming asynchronously is no longer painful.

Regards,

John

On Aug 13, 2010, at 8:32 AM, Ritchie Turner wrote:

> Hi Nicolas
>
> In the same spirit as this thread, may I suggest a truly cross platform
> package/library for haxe 3. For example, when I was doing haxed, which
> needs to work with 3 platforms one has to do #if # elseif etc and of
> course that means that the creation of a cross platform library of
> basics like this is required ...
>
> http://github.com/blackdog66/bdog-core/blob/master/bdog/Os.hx
>
> I'm sure that every haxe programmer has something similar in his toolbox
> so why don't we just have one standard way of doing it? Especially since
> the number supported platforms is only going to increase.
>
> May I also suggest it has async and sync interfaces for file io, network
> servers etc. :P
>
> bd
>
>
> On 08/13/2010 07:38 AM, Nicolas Cannasse wrote:
>> Ritchie Turner a écrit :
>>> Yes, but why? Is this just a general tidy up or are you doing it for
>>> more fundamental reforms later and if so what are they?
>>
>> It's just cleanup. With 6 platforms already, having all these #if
>> #elseif was just making things harder to maintain.
>>
>> You can read more about planned "fundamental reforms" here :
>> http://haxe.org/com/features
>> and here
>> http://code.google.com/p/haxe/wiki/ApiChanges
>>
>> Nicolas
>>
>
>
> --
> haXe - an open source web programming language
> http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

blackdog-2

Fantastic. One thing I've been thinking about is the Clojure persistent
libs, which would fit nicely into this framework. The more functional we
get the better imo.

Thanks for this.

bd

On 08/13/2010 11:01 AM, John A. De Goes wrote:

>
> Stax is designed to be entirely cross platform. Although every platform will have a low-level "native" component (such as the DOM in JavaScript), the higher-level APIs are identical across all the platforms.
>
> This necessitates asynchronous APIs. For example, if you read a file, you'll get back a Future<String>, not a String. You can map, flatMap, filter, etc., the future, and deliver its value, but you cannot block on the result.
>
> Since Stax uses Future's, however, programming asynchronously is no longer painful.
>
> Regards,
>
> John
>
> On Aug 13, 2010, at 8:32 AM, Ritchie Turner wrote:
>
>> Hi Nicolas
>>
>> In the same spirit as this thread, may I suggest a truly cross platform
>> package/library for haxe 3. For example, when I was doing haxed, which
>> needs to work with 3 platforms one has to do #if # elseif etc and of
>> course that means that the creation of a cross platform library of
>> basics like this is required ...
>>
>> http://github.com/blackdog66/bdog-core/blob/master/bdog/Os.hx
>>
>> I'm sure that every haxe programmer has something similar in his toolbox
>> so why don't we just have one standard way of doing it? Especially since
>> the number supported platforms is only going to increase.
>>
>> May I also suggest it has async and sync interfaces for file io, network
>> servers etc. :P
>>
>> bd
>>
>>
>> On 08/13/2010 07:38 AM, Nicolas Cannasse wrote:
>>> Ritchie Turner a écrit :
>>>> Yes, but why? Is this just a general tidy up or are you doing it for
>>>> more fundamental reforms later and if so what are they?
>>>
>>> It's just cleanup. With 6 platforms already, having all these #if
>>> #elseif was just making things harder to maintain.
>>>
>>> You can read more about planned "fundamental reforms" here :
>>> http://haxe.org/com/features
>>> and here
>>> http://code.google.com/p/haxe/wiki/ApiChanges
>>>
>>> Nicolas
>>>
>>
>>
>> --
>> haXe - an open source web programming language
>> http://haxe.org
>
>


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

John A. De Goes

All of Stax collections are completely immutable (mutable will come later) and share state whenever possible. For example, if you "add" an entry to a map, the new map you get shares most of its structure with the previous state. Similarly, if you prepend an element to a list, or drop elements from a list, then the existing structure is reused. This hasn't been optimized completely, but it's definitely the direction things are going.

Regards,

John

On Aug 13, 2010, at 9:17 AM, Ritchie Turner wrote:

>
> Fantastic. One thing I've been thinking about is the Clojure persistent
> libs, which would fit nicely into this framework. The more functional we
> get the better imo.
>
> Thanks for this.
>
> bd
>
> On 08/13/2010 11:01 AM, John A. De Goes wrote:
>>
>> Stax is designed to be entirely cross platform. Although every platform will have a low-level "native" component (such as the DOM in JavaScript), the higher-level APIs are identical across all the platforms.
>>
>> This necessitates asynchronous APIs. For example, if you read a file, you'll get back a Future<String>, not a String. You can map, flatMap, filter, etc., the future, and deliver its value, but you cannot block on the result.
>>
>> Since Stax uses Future's, however, programming asynchronously is no longer painful.
>>
>> Regards,
>>
>> John
>>
>> On Aug 13, 2010, at 8:32 AM, Ritchie Turner wrote:
>>
>>> Hi Nicolas
>>>
>>> In the same spirit as this thread, may I suggest a truly cross platform
>>> package/library for haxe 3. For example, when I was doing haxed, which
>>> needs to work with 3 platforms one has to do #if # elseif etc and of
>>> course that means that the creation of a cross platform library of
>>> basics like this is required ...
>>>
>>> http://github.com/blackdog66/bdog-core/blob/master/bdog/Os.hx
>>>
>>> I'm sure that every haxe programmer has something similar in his toolbox
>>> so why don't we just have one standard way of doing it? Especially since
>>> the number supported platforms is only going to increase.
>>>
>>> May I also suggest it has async and sync interfaces for file io, network
>>> servers etc. :P
>>>
>>> bd
>>>
>>>
>>> On 08/13/2010 07:38 AM, Nicolas Cannasse wrote:
>>>> Ritchie Turner a écrit :
>>>>> Yes, but why? Is this just a general tidy up or are you doing it for
>>>>> more fundamental reforms later and if so what are they?
>>>>
>>>> It's just cleanup. With 6 platforms already, having all these #if
>>>> #elseif was just making things harder to maintain.
>>>>
>>>> You can read more about planned "fundamental reforms" here :
>>>> http://haxe.org/com/features
>>>> and here
>>>> http://code.google.com/p/haxe/wiki/ApiChanges
>>>>
>>>> Nicolas
>>>>
>>>
>>>
>>> --
>>> haXe - an open source web programming language
>>> http://haxe.org
>>
>>
>
>
> --
> haXe - an open source web programming language
> http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Re Svn 3335

blackdog-2

What do you think of this?

http://github.com/aemoncannon/las3r/tree/master/src/as3/com/las3r/runtime/

The clojure persistent libs in AS3, i haven't tested or anything, but of
course i was thinking of using it as a reference at least if i was going
to port.

Anyway, could be useful to you.

bd


On 08/13/2010 11:29 AM, John A. De Goes wrote:

>
> All of Stax collections are completely immutable (mutable will come later) and share state whenever possible. For example, if you "add" an entry to a map, the new map you get shares most of its structure with the previous state. Similarly, if you prepend an element to a list, or drop elements from a list, then the existing structure is reused. This hasn't been optimized completely, but it's definitely the direction things are going.
>
> Regards,
>
> John
>
> On Aug 13, 2010, at 9:17 AM, Ritchie Turner wrote:
>
>>
>> Fantastic. One thing I've been thinking about is the Clojure persistent
>> libs, which would fit nicely into this framework. The more functional we
>> get the better imo.
>>
>> Thanks for this.
>>
>> bd
>>
>> On 08/13/2010 11:01 AM, John A. De Goes wrote:
>>>
>>> Stax is designed to be entirely cross platform. Although every platform will have a low-level "native" component (such as the DOM in JavaScript), the higher-level APIs are identical across all the platforms.
>>>
>>> This necessitates asynchronous APIs. For example, if you read a file, you'll get back a Future<String>, not a String. You can map, flatMap, filter, etc., the future, and deliver its value, but you cannot block on the result.
>>>
>>> Since Stax uses Future's, however, programming asynchronously is no longer painful.
>>>
>>> Regards,
>>>
>>> John
>>>
>>> On Aug 13, 2010, at 8:32 AM, Ritchie Turner wrote:
>>>
>>>> Hi Nicolas
>>>>
>>>> In the same spirit as this thread, may I suggest a truly cross platform
>>>> package/library for haxe 3. For example, when I was doing haxed, which
>>>> needs to work with 3 platforms one has to do #if # elseif etc and of
>>>> course that means that the creation of a cross platform library of
>>>> basics like this is required ...
>>>>
>>>> http://github.com/blackdog66/bdog-core/blob/master/bdog/Os.hx
>>>>
>>>> I'm sure that every haxe programmer has something similar in his toolbox
>>>> so why don't we just have one standard way of doing it? Especially since
>>>> the number supported platforms is only going to increase.
>>>>
>>>> May I also suggest it has async and sync interfaces for file io, network
>>>> servers etc. :P
>>>>
>>>> bd
>>>>
>>>>
>>>> On 08/13/2010 07:38 AM, Nicolas Cannasse wrote:
>>>>> Ritchie Turner a écrit :
>>>>>> Yes, but why? Is this just a general tidy up or are you doing it for
>>>>>> more fundamental reforms later and if so what are they?
>>>>>
>>>>> It's just cleanup. With 6 platforms already, having all these #if
>>>>> #elseif was just making things harder to maintain.
>>>>>
>>>>> You can read more about planned "fundamental reforms" here :
>>>>> http://haxe.org/com/features
>>>>> and here
>>>>> http://code.google.com/p/haxe/wiki/ApiChanges
>>>>>
>>>>> Nicolas
>>>>>
>>>>
>>>>
>>>> --
>>>> haXe - an open source web programming language
>>>> http://haxe.org
>>>
>>>
>>
>>
>> --
>> haXe - an open source web programming language
>> http://haxe.org
>
>


--
haXe - an open source web programming language
http://haxe.org