From: David Brown on
Walter Banks wrote:
>
> dj3vande(a)csclub.uwaterloo.ca.invalid wrote:
>
>> Why bother to compile it? Just have it interpret on-the-fly.
>> That way you could even run it in interactive mode, and it's
>> sufficiently high-level that even non-programmers could usefully use
>> it.
>
> Dave,
>
> There are languages like that. LOGO for example is a functional
> language that is capable of interactively solving some very tough
> problems.
>

I can't think which language you mean here, but it's not LOGO - unless
there are two different languages called LOGO. LOGO is targeted as a
learning language appealing to kids - it is a simple interpreted
procedural language tightly tied to a turtle graphics display.

> After some applications are developed a stable runnable version
> of the application is desired including changing the format of the
> solution to prevent changes.
>
> Regards,
>
> --
> Walter Banks
> Byte Craft Limited
> http://www.bytecraft.com
>
>
>
>
>
>
From: Keith Thompson on
Walter Banks <walter(a)bytecraft.com> writes:
> dj3vande(a)csclub.uwaterloo.ca.invalid wrote:
>> Why bother to compile it? Just have it interpret on-the-fly.
>> That way you could even run it in interactive mode, and it's
>> sufficiently high-level that even non-programmers could usefully use
>> it.
>
> There are languages like that. LOGO for example is a functional
> language that is capable of interactively solving some very tough
> problems.

Are you thinking of Prolog?

[...]

--
Keith Thompson (The_Other_Keith) kst-u(a)mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
From: Richard Tobin on
In article <lneiltf5uo.fsf(a)nuthaus.mib.org>,
Keith Thompson <kst-u(a)mib.org> wrote:

>> There are languages like that. LOGO for example is a functional
>> language that is capable of interactively solving some very tough
>> problems.

>Are you thinking of Prolog?

Prolog would not usually be described as a functional language.
Logo on the other hand *is* a functional language. Not a pure
functional language, but few are.

It's possible to write functional programs in almost any computer
language. Calling something a functional language is more about how
it's typically used (or intended to be used) than about what can be
done with it. Logo certainly emphasises the solving of problems by
calling functions, often with recursion. Prolog's characteristic
features are its use of unification and backtracking search, and it
is naturally described as a logic programming language.

-- Richard
--
Please remember to mention me / in tapes you leave behind.
From: David Brown on
Richard Tobin wrote:
> In article <lneiltf5uo.fsf(a)nuthaus.mib.org>,
> Keith Thompson <kst-u(a)mib.org> wrote:
>
>>> There are languages like that. LOGO for example is a functional
>>> language that is capable of interactively solving some very tough
>>> problems.
>
>> Are you thinking of Prolog?
>
> Prolog would not usually be described as a functional language.

Prolog is most often described as a logical language, rather than a
functional language. Typically you define various types of
relationships and propositions, give the system some facts, and then ask
it some questions that it can infer from the facts and rules. But if
you are using it for more general programming, you use a style typical
of functional programming languages - the emphasis is on stating the
desired results, rather than on how the system is to calculate those
results.

I also thought Walter meant Prolog - there are certainly types of
problem that can be solved much more naturally with Prolog than with
imperative languages.

> Logo on the other hand *is* a functional language. Not a pure
> functional language, but few are.
>

I've heard Logo described as a functional language before, but I
disagree. To be a functional programming language, functions should be
first class objects - i.e., functions that take other functions as
arguments, and return new functions, should be a natural part of the
language and typical programs. States and global data should not exist
in a pure functional programming language (though as you say, few are
pure), and the language should be amenable to mathematical manipulation
and proof (having no state makes this much easier).

In practice, Logo is almost always used in the context of teaching, and
with turtle graphics. Few people use it beyond the stage of simple
procedures.

The reason I think Walter does not mean Logo is that I can't think of
any features it has that would make it a good choice for general
programming or the "tough problems" he mentioned. It is a great
language for its purpose, but not for tough problems.

> It's possible to write functional programs in almost any computer
> language. Calling something a functional language is more about how
> it's typically used (or intended to be used) than about what can be
> done with it.

I agree mostly, although I think being a functional programming language
is just as much about what the language /cannot/ do as what it can do.
Having no states or variables may sound like a serious limitation to
many people, but it actually gives you the power to do far more
reasoning about the program (and it gives the compiler the same power).
It is harder to make good implementations of a functional language
than of an imperative language, but there is the potential to do a
better job.

> Logo certainly emphasises the solving of problems by
> calling functions, often with recursion. Prolog's characteristic
> features are its use of unification and backtracking search, and it
> is naturally described as a logic programming language.
>
> -- Richard
From: Walter Banks on


David Brown wrote:

> Walter Banks wrote:
>
> > There are languages like that. LOGO for example is a functional
> > language that is capable of interactively solving some very tough
> > problems.
> >
>
> I can't think which language you mean here, but it's not LOGO - unless
> there are two different languages called LOGO. LOGO is targeted as a
> learning language appealing to kids - it is a simple interpreted
> procedural language tightly tied to a turtle graphics display.

We are thinking of the same language. It is associated with
kids, MIT lego lab, LCSI and learning. It also fits the category
of a language that users describe objectives.

After the turtle has stopped drawing squares and hilbert curves
there is a very nice tool to solve some complex problems. A little like
lisp without the brackets.

I used LOGO to solve some multibody gravitational problems a few
years ago.



Regards,

--
Walter Banks
Byte Craft Limited
http://www.bytecraft.com




 |  Next  |  Last
Pages: 1 2
Prev: Hide application from activities list
Next: hacking