Subject: Re[2]: [hackers-il] scheme

From: Mayer Goldberg <[email-masked]>
Date: Mon, 8 May 2000 18:56:11 +0300

> <snipped standard rant about scheme's lack of a standard library>

> See srfi.schemers.org

It's interesting to note that a serious lack in Scheme is called a "standard rant". It is 
also interesting to note that what I mentioned -- serious file IO procedures for 
Scheme are not in the SRFI proposals -- neither past, present or in process. The 
rudeness of the above author is also worth noting.

Interesting no less is the long and impressive list of Scheme's that are claimed to 
support this library:

1. Bigloo
2. PocketScheme
3. Stk

Lovely. So the most important Scheme (re speed, accuracy, sophistication) -- and up 
to recently the only commercially available Scheme -- Chez Scheme doesn't support 
this effort. Neither do other important Scheme's. 

But the RS committee, which bothered to add to Scheme all sorts of unnecessary 
nonsense never bothered to add a decent API for IO.

Mayer

---

From: Moshe Zadka <[email-masked]>
Date: Mon, 8 May 2000 20:33:48 +0300 (IDT)

> nonsense never bothered to add a decent API for IO.

Any idiot can go and design C-like or C++-like API for IO. Of course,
that's so horrible, everyone uses layers of abstraction over it, and
generally have a hard time. If you need to do IO in scheme, and you allow
it to be as horrible as C/C++, just write a small library, and know that
you'll port it -- a week of porting a small library isn't so bad. After
all, C++ programs take much longer to port. Eventually, Scheme will grow
IO, but it will be after a lot of thought -- and hopefully something as
wonderful as Haskell monads will emerge.

--
Moshe Zadka <[email-masked]>
http://www.oreilly.com/news/prescod_0300.html
http://www.linux.org.il -- we put the penguin in .com

---

From: Shlomi Fish <[email-masked]>
Date: Tue, 9 May 2000 17:26:29 +0300 (IDT)

Seems like the SRFI lacks some of the most basic features I like in perl
that are non-existent in Scheme:

1. Random File I/O. (including pipe())
2. Sockets
3. Regular Expressions
4. Declaring stubs to C functions and libraries. (since Scheme does not
have a standard implementation it should have this feature. besides, perl
has a modue that can do that).
5. Process management (fork(), execve(), spawn(), system(), etc.
6. Is Format part of the Scheme standard? I think there should be a printf
too.

What I find most appealing in the SRFI so far is the multi-threading
support. In any case, maybe we should start discussing our own SRFI's in
this forum, namely for the topics I mentioned here.

BTW, I still prefer the perl syntax over the Scheme syntax. Still,
standard interfaces for Scheme is definetly a good idea.

Regards,

	Shlomi Fish

----------------------------------------------------------------------
Shlomi Fish        [email-masked] 
Home Page:         http://t2.technion.ac.il/~shlomif/
Home E-mail:       [email-masked]

The prefix "God Said" has the extraordinary logical property of 
converting any statement that follows it into a true one.

---

From: Moshe Zadka <[email-masked]>
Date: Tue, 9 May 2000 18:34:14 +0300 (IDT)

> has a modue that can do that).

This is totally inappropriate. Why C? What if the Scheme is being
developed in some other language? Do you realize how hard it would be to 
supply such stubs?

> BTW, I still prefer the perl syntax over the Scheme syntax.

What Perl syntax? That horrible mess of characters?
What Scheme syntax? The one that doesn't exist?

---

From: Shlomi Fish <[email-masked]>
Date: Wed, 10 May 2000 19:10:22 +0300 (IDT)

> developed in some other language? Do you realize how hard it would be to 

I mean generic stubs like :

(define mydll (load-dll "shlomif"))
(define stub1 (get-dll-func mydll "hello" (list "int" "string") "int"))
(define ret (stub1 5 "Argument No. 2"))

Now, whatever is found in the function hello in the shlomif shared library
is nothing of anybody' concern as long as its a function that returns an
integer and accepts an integer and a string.
 
> What Perl syntax? That horrible mess of characters?

The perl syntax is messy but I happen to like it.

> What Scheme syntax? The one that doesn't exist?

What do you mean by Scheme Syntax not existing? What exactly do you call
all those parenthesis and whitespaces? Scheme has a very strict syntax if
I ever saw one.

And please: cut the insults!

Regards,

	Shlomi Fish
> ------------------------------------------------------------------------
> You have a voice mail message waiting for you at iHello.com:
> http://click.egroups.com/1/3555/9/_/_/_/957886476/
> ------------------------------------------------------------------------
> 
> To unsubscribe from this group, send an email to:
> [email-masked]
> 
> 
> 
>

---

From: Moshe Zadka <[email-masked]>
Date: Thu, 11 May 2000 10:04:52 +0300 (IDT)

> integer and accepts an integer and a string.

And what if it isn't? Do you get an ordered exception, or a random
segfault? (Don't be too hasty to answer: the first is impossible to
implement if the dll comes from C, the second is simply unacceptable to
any Scheme programmer. What about memory management issues? Who owns the
memory passed to the routine? And the memory returned from it? What
happens if the routine uses a call/cc to call to a higher up scheme
procedure?)

> The perl syntax is messy but I happen to like it.

That doesn't make it less messy.

> What do you mean by Scheme Syntax not existing?

What I mean is that Scheme's "syntax" is just a parse-tree serialization.
No shift/reduce left/right association, priorities, or any of those things
which makes a syntax. IOW, Scheme can be defined without syntax: just
explain the semantics of lists. The "syntax" is simply the serialization
format defined by the functions "read" and "write". If you re-implement
these, you get a Scheme with a different syntax.

And please: cut the signature from messages you reply to!
--
Moshe Zadka <[email-masked]>
http://www.oreilly.com/news/prescod_0300.html
http://www.linux.org.il -- we put the penguin in .com

---

From: Omer Mussaev <[email-masked]>
Date: Thu, 11 May 2000 09:23:40 +0300

This is a moderating message.

> these, you get a Scheme with a different syntax.

Moshe had stated that scheme syntax is a "parse-tree serialization"
He complained that scheme syntax does not include "shift/reduce
left/right association", "priorities".
Than he stated that "serialization format" defined by "functions read and
write" is in fact scheme syntax.

Dear Moshe, I just did not get the point. You are looking on syntax definition,

which declares whitespace and l/rparen to be separators/terminators. And
you are complaining that left-right association is not there. However, you are
totally wrong, since left-right association is defined to be conformant to
"applicative normal form" (or whatever. call it as you wish).
Which has nothing to do with syntax, but is defined at grammar level.

Now, can you please:

1. Stop braindumping. If you hope that no-one will get out of mess you are
spitting out, sorry, pal, (not #t).

2. Start explaining to me all that buzzwords. It is notthat hard to make
yourself sound know-all, but in case you are willing to enjoy caring audience,
you must
come towards us, mere mortals, and make sure we are getting you right.

3. Stop insulting people. I will have a hard time pursuading Meir to return to
this list. I think that Meir was the only man here who was able to teach you
APL.
Or PDF. Or scheme. Saying that Meir does not know scheme is close to saying
that
[email-masked] does not know either. Now, being a demi-god, Meir had
gone,
and you are trying hard to make Shlomi leave. Stop that. Right now.

> And please: cut the signature from messages you reply to!

goto 3.

--
Omer Mussaev    051-308-214   mailto:[email-masked]
systems programmer, Mercury Interactive/RND/Conduct/core