Re: [stack] A Joy VM in OCaml

Tom Schouten <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
On Fri, Sep 04, 2009 at 01:52:42AM +0300, chris glur wrote:
>     
> 
>    >> OTOH perhaps such "democratic committee" projects aren't feasible.
> 
>    > I believe good results require a sufficiently annoying `itch' locally
>    > applied to a single implementor / designer.
> 
>    Yes, you're talking about making fish.
>    I'm talking about making fishermen.
> 
>    Most of the value-added in computing comes from the soft: psychology
>    and human-cognition. OTOH the Hard: technology; is easier to talk about.
> 
>    Eg. the only justification for music is 'emotion manipulation'.
>    But that's near impossible to quantify or describe.
>    OTOH volumes are/can-be written about the technicalities.
> 

Interesting viewpoint.


>    My previous laboured example, perhaps didn't prove the conclusion:--
> 


>    The brief sequence of functions described by:
>    " pstree -p | cut -b25- | grep su ".
>    which does:
>    print the process-tree,
>    but cut-out and show only the part of the lines, from the 25th char
>    to end-line,
>    and show only lines which contain the string "su";
> 
>    shows a very cognitive economical way of achieving the goal.
> 
>    And has the very important advantage of being achieved by successive
>    refinement.
>    Which makes for increased productivity.
> 

What you described is a `process' view on approaching a problem.
The combinator-style that Joy/Factor/Forth/... promote is an
example of this.  This is also called `point-free' style.

An applicative language combines this with an `object' view, where
you name intermediate objects in addition to processes that turn
objects into objects.

From a human cognition point of view it seems to me that these
are quite basic entities that can be used to structure the 
information transfer from one brain to another.

The formal language equivalents sure have their roots in natural
languages, with the added advantage that these languages can
be manipulated as objects themselves.  

(I have the feeling I'm just stating the obvious though..)


>    But I'm still waiting for for an explanation if/why joy is good.
>    And I expect the outcome of any effort to pay-back in the future.
>    Education, knowledge of universally applicable principles is more
>    profitable
>    than aquiring *A* product.
> 

`good' is relative to `purpose'.

On this i can only comment from a personal angle:  I think
concatenative languages are good for the purpose of working
with them as data on a meta-level.  
I.e. playing with evaluation order (staging & partial
evaluation) and allowing very simple interpreters.

Additionally they are interesting for anything that is
related to arithmetic (or other problems that ``naturally
factor'' into small processes).

As a general purpose programming language however, I feel
they are too restrictive.  Some solutions seem to me to
be more naturally expressed as object instead of process.
More specifically: when random access of objects by name
simplifies matters (i.e. tree-structured data translation).
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.