This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Scala IO Action Item 1.

4 replies
Jesse Eichar
Joined: 2008-12-20,
User offline. Last seen 42 years 45 weeks ago.
My apologies for taking so long to finally present this list of methods and classes.  I have two projects due in the next two days so I have been a little busy. 

I have now completed step one of my action items.  I have listed all the classes and files in the filesytem package of the jsr203 draft and annotated each method to indicate if it should be included in Scala IO. 

Keep in mind this is the functionality I want to keep in the API but I fully expect the API to be greatly changed to something that is nicer for a Scala programmer to use.  Methods for closures will certainly be added and all instances of null returns will be removed!

Also remember that I restricted the review to just the filesystem API.  Streams, Channels, etc... are for a later review.  I do want to visit this before long however.

As I perused the NIO API I have seen three major themes.
  1. Scalability for very large directories
  2. Ability to efficiently access and manipulate network connected files systems
  3. Extensibility
Some effort has been put into keeping the API easy to use as well.  But Java has some limitations for that :-P

I have made up a Google doc with the information on it.  I don't know what the best way is to add it to this thread...  Do you want me to export it as a HTML page, text file, csv file?  Take a look at: 

http://spreadsheets.google.com/ccc?key=0Ag5uUcFLY2mpdC1TX3BzUEE0UVhxeFNjcFZkV3pHS3c&hl=en

If you want to be able to edit the file let me know and I will give you edit access to it.  (This seems like a nice use for Google wave)

Don't be shy with criticisms.  This is mainly to get the discussion rolling. 

Next step:  Compare this set of functionality to ScalaIO on GitHub.  I will write up a report that outlines mappings from the list of methods/classes listed in the google spreadsheet to the ScalaIO API and highlight the missing functionality or the goals (such as scalability) that I think have been compromised.

Jesse

Erik Engbrecht
Joined: 2008-12-19,
User offline. Last seen 3 years 18 weeks ago.
Re: Scala IO Action Item 1.
You should add in the exceptions from JSR203.  Good error handling/reporting is very important.
...or you can give me access and I'll start making notes.

On Mon, Sep 14, 2009 at 2:38 AM, Jesse Eichar <jeichar.w@gmail.com> wrote:
My apologies for taking so long to finally present this list of methods and classes.  I have two projects due in the next two days so I have been a little busy. 

I have now completed step one of my action items.  I have listed all the classes and files in the filesytem package of the jsr203 draft and annotated each method to indicate if it should be included in Scala IO. 

Keep in mind this is the functionality I want to keep in the API but I fully expect the API to be greatly changed to something that is nicer for a Scala programmer to use.  Methods for closures will certainly be added and all instances of null returns will be removed!

Also remember that I restricted the review to just the filesystem API.  Streams, Channels, etc... are for a later review.  I do want to visit this before long however.

As I perused the NIO API I have seen three major themes.
  1. Scalability for very large directories
  2. Ability to efficiently access and manipulate network connected files systems
  3. Extensibility
Some effort has been put into keeping the API easy to use as well.  But Java has some limitations for that :-P

I have made up a Google doc with the information on it.  I don't know what the best way is to add it to this thread...  Do you want me to export it as a HTML page, text file, csv file?  Take a look at: 

http://spreadsheets.google.com/ccc?key=0Ag5uUcFLY2mpdC1TX3BzUEE0UVhxeFNjcFZkV3pHS3c&hl=en

If you want to be able to edit the file let me know and I will give you edit access to it.  (This seems like a nice use for Google wave)

Don't be shy with criticisms.  This is mainly to get the discussion rolling. 

Next step:  Compare this set of functionality to ScalaIO on GitHub.  I will write up a report that outlines mappings from the list of methods/classes listed in the google spreadsheet to the ScalaIO API and highlight the missing functionality or the goals (such as scalability) that I think have been compromised.

Jesse




--
http://erikengbrecht.blogspot.com/
ijuma
Joined: 2008-08-20,
User offline. Last seen 22 weeks 2 days ago.
Re: Scala IO Action Item 1.

On Mon, 2009-09-14 at 08:38 +0200, Jesse Eichar wrote:
> My apologies for taking so long to finally present this list of
> methods and classes. I have two projects due in the next two days so
> I have been a little busy.
>
> I have now completed step one of my action items. I have listed all
> the classes and files in the filesytem package of the jsr203 draft and
> annotated each method to indicate if it should be included in Scala
> IO.

The early draft is very old (2007). Have you checked that it matches the
API in OpenJDK7? My guess is that the final draft will look closer to
what is in OpenJDK7 than what is in the early draft.

Best,
Ismael

Erik Engbrecht
Joined: 2008-12-19,
User offline. Last seen 3 years 18 weeks ago.
Re: Scala IO Action Item 1.
Yes, it's changed a lot.  In fact, I think what's in OpenJDK has changed a bit since I was last examining it closely back in July....
Here's the link to the OpenJDK docs:http://openjdk.java.net/projects/nio/javadoc/index.html
On Mon, Sep 14, 2009 at 6:52 AM, Ismael Juma <mlists@juma.me.uk> wrote:
On Mon, 2009-09-14 at 08:38 +0200, Jesse Eichar wrote:
> My apologies for taking so long to finally present this list of
> methods and classes.  I have two projects due in the next two days so
> I have been a little busy.
>
> I have now completed step one of my action items.  I have listed all
> the classes and files in the filesytem package of the jsr203 draft and
> annotated each method to indicate if it should be included in Scala
> IO.

The early draft is very old (2007). Have you checked that it matches the
API in OpenJDK7? My guess is that the final draft will look closer to
what is in OpenJDK7 than what is in the early draft.

Best,
Ismael




--
http://erikengbrecht.blogspot.com/
Jesse Eichar
Joined: 2008-12-20,
User offline. Last seen 42 years 45 weeks ago.
Re: Scala IO Action Item 1.
Cool,  I will take a look at these

Jesse

On Mon, Sep 14, 2009 at 1:18 PM, Erik Engbrecht <erik.engbrecht@gmail.com> wrote:
Yes, it's changed a lot.  In fact, I think what's in OpenJDK has changed a bit since I was last examining it closely back in July....
Here's the link to the OpenJDK docs:http://openjdk.java.net/projects/nio/javadoc/index.html
On Mon, Sep 14, 2009 at 6:52 AM, Ismael Juma <mlists@juma.me.uk> wrote:
On Mon, 2009-09-14 at 08:38 +0200, Jesse Eichar wrote:
> My apologies for taking so long to finally present this list of
> methods and classes.  I have two projects due in the next two days so
> I have been a little busy.
>
> I have now completed step one of my action items.  I have listed all
> the classes and files in the filesytem package of the jsr203 draft and
> annotated each method to indicate if it should be included in Scala
> IO.

The early draft is very old (2007). Have you checked that it matches the
API in OpenJDK7? My guess is that the final draft will look closer to
what is in OpenJDK7 than what is in the early draft.

Best,
Ismael




--
http://erikengbrecht.blogspot.com/

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland