Simple C-like access to the file system

Simple C-like access to the file system

PostPosted by blake » Sun Apr 18, 2010 10:47 pm

Greetings,


I am under the impression that the current NARS200 has no external file access ability at this time. I understand that it is hard to get a good interface and get it right. However, in the meantime let me make the following proposal. It would be simple and get us a long way towards something basically useful.


Why no create a very simple C-like interface including open, close, seek, read, write, lock, unlock, etc. The read and write would do so in a binary form and support scalors, multi-dimintioanl arrays, and the like.


The last APL I used (almost 30 years ago) had this basic facility and I was able to write a full B-tree based keyed file system in APL. I used it to write several accounting systems that were used very successfully in a multi-user environment. I'm pretty sure I still have my old code around. (I even have APL utilities that allowed full nested arrays in the original APL - not APL2!)


If I am given access to the file IO I am referring to, I'd be happy to port and contribute all of my utilities.


Thanks.


Blake McBride


blake.mcbride.name


blake
 
Posts: 26
Joined: Sun Apr 18, 2010 10:08 am

PostPosted by forummaster » Thu Mar 22, 2012 2:13 pm

{71.165}blake wrote:
{71.165}blake wrote:
I am under the impression that the current NARS200 has no external file access ability at this time.  I understand that it is hard to get a good interface and get it right.  However, in the meantime let me make the following proposal.  It would be simple and get us a long way towards something basically useful.
Why no create a very simple C-like interface including open, close, seek, read, write, lock, unlock, etc.  The read and write would do so in a binary form and support scalors, multi-dimintioanl arrays, and the like.
The last APL I used (almost 30 years ago) had this basic facility and I was able to write a full B-tree based keyed file system in APL.  I used it to write several accounting systems that were used very successfully in a multi-user environment.  I'm pretty sure I still have my old code around.  (I even have APL utilities that allowed full nested arrays in the original APL - not APL2!)
If I am given access to the file IO I am referring to, I'd be happy to port and contribute all of my utilities.

Finally, it's done! See the documentation for Native File Functions.
forummaster
 
Posts: 567
Joined: Wed Jan 23, 2013 1:00 pm

Geting close!

PostPosted by blake » Tue Jul 10, 2012 8:17 pm

Wow! Looking good. I think you are close to having something really usable. I took a quick look and only two biggies struck me. Without closing and re-opening, I need to be able to lock and unlock a region in a file. Secondly, it would be nice if the read and write had a block/no block option (affected by locks - not delays).


Up till now I haven't done too much with Nars2000 because of the lack of ability to read/write data. It's real close now. With a few tweaks, what you have now can be built into a full fledged component or keyed file system.


Thanks!


blake
 
Posts: 26
Joined: Sun Apr 18, 2010 10:08 am

PostPosted by forummaster » Thu Jul 12, 2012 1:12 pm

{71.371}blake wrote:
{71.371}blake wrote:
Wow!  Looking good.  I think you are close to having something really usable.  I took a quick look and only two biggies struck me.  Without closing and re-opening, I need to be able to lock and unlock a region in a file.  Secondly, it would be nice if the read and write had a block/no block option (affected by locks - not delays).
Up till now I haven't done too much with Nars2000 because of the lack of ability to read/write data.  It's real close now.  With a few tweaks, what you have now can be built into a full fledged component or keyed file system.
Thanks!

Locking and unlocking are almost done -- I'll see if I can get them into the next release.
forummaster
 
Posts: 567
Joined: Wed Jan 23, 2013 1:00 pm


Return to File Systems

Who is online

Users browsing this forum: No registered users and 1 guest

cron