What Ben and Ivan say:  .

On Sun, May 7, 2017 at 10:03 PM, Ben Goertzel <[email protected]> wrote:

> In principle the opencog Rule Engine and backward chainer can do this...
>

In principle, yes. In practice, you should get to know the internals of gcc
or of clang/llvm or the java bytecode compiler, or even the guile-scheme
bytecode compiler.  All of these have "intermediate languages" (IL) inside
of them.  The IL are design to be
-- easy to machine-read
-- easy to machine-write
-- easy to machine-apply rewrite rules.  The rewrite rules are typically
optimizations.

That is, IL is a kind of "programming language" designed for use by
algorithms rather than by humans.

In pretty strong sense, opencog "atomese" is meant to be a super-general,
super-whizzy IL.  However, the way that it is designed would make it rather
inefficient for use as in IL inside of a compiler: gcc and llvm have nearly
a century worth of hand-crafting to make them extremely fast and well
suited for compilation.

If you don't know IL, then I'd recommend looking ath the guile IL. I've
never had to use it, but I've skimmed it, and it looks ... interesting as
far as such things go.  Note that the guile IL has both scheme, and some
version of javascript sitting on top of it.

Anyway .. kind of the point of having atomese is in order to *avoid* the
problem you mention:  using a machine to synthesize "mainstream high-level
languages" is kind of awkward, precisely because those languages are
designed for use by humans, not by machines.

There has been some work in this area; for example, if I recall correctly,
"stalin" was a compiler that converted scheme to C code, which you could
then compile with gcc, to get high-performance compiled scheme.

Cython does something similar: it generates C code too, although "high
performance" is not what it does.  Also, the generated code is just barely
human-readable. Its not obfuscated on purpose, its just not... human.

--linas



>
> O
>

-- 
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/CAHrUA36FyccCvDm4sQXKK3CP96QUVENohX3ujh1jhO5K85zxeg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to