Nп/п : 2 из 93
 От   : Kaz Kylheku                         2:5075/128        07 июн 23 20:26:03
 К    : none) (albert                                         07 июн 23 23:27:30
 Тема : Re: Estimate: How man Forth-LOCs (line of code) for 10000 C-LOCs ?
----------------------------------------------------------------------------------
                                                                                 
@MSGID: <20230607130305.691@kylheku.com> acf40206
@REPLY:
f1b98e57
@REPLYADDR Kaz Kylheku <864-117-4973@kylheku.com>
@REPLYTO 2:5075/128 Kaz Kylheku
@CHRS: CP866 2
@RFC: 1 0
@RFC-Message-ID: <20230607130305.691@kylheku.com>
@RFC-References:
<2bcb3a48-7082-4d29-9496-829749a5403cn@googlegroups.com> <00e4b748-0cc2-4143-9cd4-ebcb443feb43n@googlegroups.com>

@TZUTC: -0000
@PID: slrn/1.0.3 (Linux)
@TID: FIDOGATE-5.12-ge4e8b94
On 2023-06-07, albert@cherry.(none) (albert)  wrote:
> We are experiencing a surge in artificial intelligence.
> It is because of neural nets, not computer languages.

Probably since I was a child, I took it for granted that sufficiently
large neural networks will show intelligence: that it`s just a number
crunching problem requiring the hardware to have lots of space (and
parallel computing power in order to work in anything resembling real
time).

Not only that, but also that I will likely see this, or the start of it,
well within my lifetime. That dawn is here, pretty much.

I also already decided then that I wasn`t interested in massive number
crunching, regardless of its results.

The intelligence that results from it can at most be about as
interesting as people. We`ve had people for millennia, and only
a few of them have been interesting, so ...

I like my computations to be nice and tight, using a small amount of
resources in order to produce a precise, repeatable result, whose
every aspect can be explained and traced to a piece of code, which
can be traced to a requirement.

> Groetjes Albert

You should open your mind more. Firstly, the MAL ("make a lisp") project
isn`t a good way to learn about Lisp.  It has a specific educational
goal and focus: to guide people through implementing Lisp-like
evaluation in any programming language, by following a certain recipe.

Production Lisps are not built according to such a recipe.

Quasiquation is something necessary and useful in Lisp because it`s a
language which exhibits nested syntax. Just because you don`t
have that in Forth doesn`t mean it`s nonsense. (Or that Forth is
nonsense due to not having that.)

MAL doesn`t properly explain what quasiquotation is; it assumes you
know about it from somewhere else and just want to get it working
by following the steps in MAL.

Quotation allows a Lisp program to refer to a piece of its syntax
as a literal value. For instance whereas (+ 4 4) is an expression
that calculates 8, `(+ 4 4), which  means exactly the same thing
as (quote (+ 4 4)) produces the value (+ 4 4): a list of three
elements, those being the + symbol, and the integer 4 appearing twice.

We can produce the same list in another way, for instance by
calling the list function with three arguments, which are evaluated
expressions: (list `+ 4 4).   The symbol + is quoted, otherwise
it is treated as the variable + whose value is to be referenced.
The advantage of list is that we can stick in variable material,
for instance

  (defun make-funny-list (arg)
    (list arg 4 4))

Now we can call (make-funny-list 3) to produce (3 4 4),
or (make-funny-list `-) to produce (- 4 4).

Quasiquotation lets us use a visual template to do the same thing.
Instead of the quote, a different character is used, typically
the backquote.

  (defun make-funny-list (arg)
   `(,arg 4 4))

Everything in the backquote is literal-like constant material,
except for the parts indicated by the comma unquote, like ,arg.
Those expressions are evaluated and the value is inserted.

The quasiquote is a templating language for creating nested
lists using a notation which looks like those lists, rather
than hard-to-read nested constructor calls.
A quasiquote can be nested and it can insert material into
any level of nesting.

This templating notation is heavily used in writing macros,
and other code-to-code transformation situations.
Sometimes it is used in manipulating data which isn`t code, too.

Manipulating syntax is an different approach to metaprogramming than
what is going on in Forth; you`re only selling yourself short
if you dismiss that casually without learning anything about it.
(And then dismissing it, if you`re still inclined.)

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
--- slrn/1.0.3 (Linux)
 * Origin: A noiseless patient Spider (2:5075/128)
SEEN-BY: 5005/49 5015/255 5019/40 5020/715 848 1042
4441 12000 5030/49 1081
SEEN-BY: 5058/104 5075/128 6078/80
@PATH: 5075/128 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх