Re: Parsing timestamps?

Liste des GroupesRevenir à cl forth 
Sujet : Re: Parsing timestamps?
De : the.beez.speaks (at) *nospam* gmail.com (Hans Bezemer)
Groupes : comp.lang.forth
Date : 30. Jun 2025, 15:42:48
Autres entêtes
Organisation : KPN B.V.
Message-ID : <nnd$7a5cfad1$76518ba7@2a4e6190d58511e2>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
User-Agent : Mozilla Thunderbird
On 25-06-2025 09:21, Paul Rubin wrote:
Hans Bezemer <the.beez.speaks@gmail.com> writes:
Fundamentally. I explained the sensation at the end
of "Why Choose Forth". I've been able to tackle things I would never
have been to tackle with a C mindset. ( https://youtu.be/MXKZPGzlx14 )
 I just watched this video and enjoyed it, but I don't understand how a C
mindset is different.  In C you pass stuff as function parameters
instead of on the stack: what's the big deal?  And particularly, the
video said nothing about the burning question of locals ;).
 It seems to me all the examples mentioned in the video (parsing CSV
files or floating point numerals) are what someone called
micro-problems.  Today they much easier with languages like Python, and
back in Forth's heyday there was Lisp, which occupied a mindspace like
Python does now.
 I agree that Thinking Forth is a great book.
It's hard to illustrate things with a multi-KLOC program IMHO. You can only illustrate principles by using examples that are "contained" in a way.
But I'll try to illustrate a thing or two. Let's say you want to tackle a problem. And it doesn't go your way. You have to add this thing and that thing - and hold on to that value. You know what I mean.
When using C, you just add another local. Even *WITHIN* the loop you're about to add. Take a look at getopt() - I think that's a good example. You can almost see how it grew almost organically by the authors hand. He never seemed to think "Hmm, maybe I'll make a separate function of it".
And when you take a good look, you will see how hard that is. There are THREE globals (okay, one static) to take care of, two locals and three parameters. So - if you want to split things off, you might have to pass a lot of stuff - bonus points if they have to be altered.
You will reach that point in Forth *MUCH* earlier. And you cannot (easily) create a subroutine that takes a lot of parameters and handles them elegantly. Bonus points if you have to transfer stuff from the Return Stack as well.
So - you'll have to use a different approach: what is the minimal thing that can handle the majority of the functionality required. Now, how can I extend that. Can I make some stuff local in another word so I don't have to carry it around. Can I elegantly integrate it in my main word?
That was wrong - step back. Where did I go wrong and how can I fix it. All these things you never ask yourself when doing C - BECAUSE YOU DON'T HAVE TO. Everything is conveniently random accessible. You don't have to "clean up" since every local is "auto". That's why you often see sequences like "R> DROP R> DROP DROP NIP R> ROT" at the end of a word (exaggerated, but still) ;-)
There is no price to pay if you pull in more resources. You don't have to ask yourself difficult questions and you don't have to do the (mental) work (both short-term and long term).
It's at best intellectually lazy and at worst incompetent. It's these people who give Forth a bad name - BECAUSE WHAT THEY'RE WRITING IS AN ABOMINATION OF FORTH.
It's an imitation. It's not real Forth. It's not a true reflection of what Forth can do. If I can write out the C code that was most obvious the basis of it without careful thought, it can't be Forth. It's as simple as that.
Hans Bezemer
float array a
float array b
float array c
float array y
: tamura-kanada                    ( n -- fpi )
   >r 1 s>f a f!
   1 s>f 2 s>f fsqrt f/ b f!
   1 s>f 4 s>f f/ c f!
   1 s>f
   r> 1 do
       a f@ fdup y f!
       b f@ f+ 2 s>f f/ a f!
       b f@ y f@ f* fsqrt b f!
       c f@ fover a f@ y f@ f-
       fdup f* f* f- c f! 2 s>f f*
   loop
   fdrop
   a f@ b f@ f+ fdup f* 4 s>f c f@ f* f/
;
5 n = 4
10 a = 1.0
20 b = 1/SQR(2)
30 c = 0.25
40 d = 1.0
50 FOR x = 1 TO n
60 y = a
70 a = (b+a)/2
80 b = SQR(b*y)
90 c = c - (d*(a - y)^2)
100 d = d*2
110 NEXT x
120 PRINT ((a + b)^2)/(4*c)

Date Sujet#  Auteur
6 Oct 24 * Parsing timestamps?282dxf
6 Oct 24 +* Re: Parsing timestamps?245mhx
6 Oct 24 i+* Re: Parsing timestamps?3dxf
6 Oct 24 ii`* Re: Parsing timestamps?2dxf
7 Oct 24 ii `- Re: Parsing timestamps?1dxf
7 Jun 25 i`* Re: Parsing timestamps?241B. Pym
7 Jun 25 i +* Re: Parsing timestamps?225dxf
7 Jun 25 i i`* Re: Parsing timestamps?224LIT
8 Jun 25 i i `* Re: Parsing timestamps?223dxf
9 Jun 25 i i  `* Re: Parsing timestamps?222Hans Bezemer
9 Jun 25 i i   `* Re: Parsing timestamps?221LIT
9 Jun 25 i i    `* Re: Parsing timestamps?220Hans Bezemer
9 Jun 25 i i     `* Re: Parsing timestamps?219LIT
10 Jun 25 i i      +* Re: Parsing timestamps?207dxf
10 Jun 25 i i      i+* Re: Parsing timestamps?2mhx
10 Jun 25 i i      ii`- Re: Parsing timestamps?1dxf
10 Jun 25 i i      i+- Re: Parsing timestamps?1LIT
19 Jun 25 i i      i`* Re: Parsing timestamps?203LIT
20 Jun 25 i i      i `* Re: Parsing timestamps?202dxf
20 Jun 25 i i      i  +* Re: Parsing timestamps?7minforth
20 Jun 25 i i      i  i+* Re: Parsing timestamps?2mhx
20 Jun 25 i i      i  ii`- Re: Parsing timestamps?1albert
20 Jun 25 i i      i  i`* Re: Parsing timestamps?4dxf
20 Jun 25 i i      i  i +- Re: Parsing timestamps?1mhx
20 Jun 25 i i      i  i `* Re: Parsing timestamps?2minforth
21 Jun 25 i i      i  i  `- Re: Parsing timestamps?1dxf
20 Jun 25 i i      i  `* Re: Parsing timestamps?194LIT
21 Jun 25 i i      i   +- Re: Parsing timestamps?1dxf
22 Jun 25 i i      i   +* Re: Parsing timestamps?187minforth
23 Jun 25 i i      i   i+- Re: Parsing timestamps?1dxf
23 Jun 25 i i      i   i+* Re: Parsing timestamps?181Anton Ertl
23 Jun 25 i i      i   ii`* Re: Parsing timestamps?180minforth
24 Jun 25 i i      i   ii +* Re: Parsing timestamps?162minforth
24 Jun 25 i i      i   ii i`* Re: Parsing timestamps?161dxf
24 Jun 25 i i      i   ii i +* Re: Parsing timestamps?13minforth
24 Jun 25 i i      i   ii i i+* Re: Parsing timestamps?2Anton Ertl
1 Jul 25 i i      i   ii i ii`- Re: Parsing timestamps?1Stephen Pelc
26 Jun 25 i i      i   ii i i+* Re: The future. (was Re: Parsing timestamps?)2Paul Rubin
30 Jun 25 i i      i   ii i ii`- Re: The future. (was Re: Parsing timestamps?)1albert
15 Jul 25 i i      i   ii i i`* Re: The future. (was Re: Parsing timestamps?)8LIT
16 Jul 25 i i      i   ii i i `* Re: The future. (was Re: Parsing timestamps?)7minforth
16 Jul 25 i i      i   ii i i  +* Re: The future. (was Re: Parsing timestamps?)5dxf
16 Jul 25 i i      i   ii i i  i+- Re: The future. (was Re: Parsing timestamps?)1minforth
16 Jul 25 i i      i   ii i i  i`* Re: The future. (was Re: Parsing timestamps?)3LIT
17 Jul 25 i i      i   ii i i  i `* Re: The future. (was Re: Parsing timestamps?)2dxf
17 Jul 25 i i      i   ii i i  i  `- Re: The future. (was Re: Parsing timestamps?)1LIT
16 Jul 25 i i      i   ii i i  `- Re: The future. (was Re: Parsing timestamps?)1LIT
25 Jun 25 i i      i   ii i +* Re: Parsing timestamps?12dxf
25 Jun 25 i i      i   ii i i`* Re: Parsing timestamps?11Paul Rubin
26 Jun 25 i i      i   ii i i +- Re: Parsing timestamps?1Paul Rubin
26 Jun 25 i i      i   ii i i `* Re: Parsing timestamps?9dxf
26 Jun 25 i i      i   ii i i  `* Re: Parsing timestamps?8Paul Rubin
27 Jun 25 i i      i   ii i i   `* Re: Parsing timestamps?7dxf
27 Jun 25 i i      i   ii i i    +- Re: Parsing timestamps?1Paul Rubin
2 Jul 25 i i      i   ii i i    `* Re: Parsing timestamps?5dxf
2 Jul 25 i i      i   ii i i     +* Re: Parsing timestamps?2Stephen Pelc
4 Jul 25 i i      i   ii i i     i`- Re: Parsing timestamps?1dxf
6 Jul 25 i i      i   ii i i     `* Re: Parsing timestamps?2LIT
6 Jul 25 i i      i   ii i i      `- Re: Parsing timestamps?1dxf
25 Jun 25 i i      i   ii i +* Re: Parsing timestamps?2Paul Rubin
30 Jun 25 i i      i   ii i i`- Re: Parsing timestamps?1Hans Bezemer
26 Jun 25 i i      i   ii i `* Re: Parsing timestamps?133Waldek Hebisch
26 Jun 25 i i      i   ii i  `* Re: Parsing timestamps?132minforth
26 Jun 25 i i      i   ii i   +* Re: Parsing timestamps?2LIT
27 Jun 25 i i      i   ii i   i`- Re: Parsing timestamps?1minforth
29 Jun 25 i i      i   ii i   `* Re: Parsing timestamps?129Anton Ertl
29 Jun 25 i i      i   ii i    `* Re: Parsing timestamps?128LIT
29 Jun 25 i i      i   ii i     +* Re: Parsing timestamps?123LIT
30 Jun 25 i i      i   ii i     i`* Re: Parsing timestamps?122dxf
30 Jun 25 i i      i   ii i     i `* Re: Parsing timestamps?121LIT
30 Jun 25 i i      i   ii i     i  +* Re: Parsing timestamps?116dxf
30 Jun 25 i i      i   ii i     i  i`* Re: Parsing timestamps?115LIT
30 Jun 25 i i      i   ii i     i  i `* Re: Parsing timestamps?114dxf
30 Jun 25 i i      i   ii i     i  i  +* Re: Parsing timestamps?2LIT
1 Jul 25 i i      i   ii i     i  i  i`- Re: Parsing timestamps?1dxf
30 Jun 25 i i      i   ii i     i  i  `* Re: Parsing timestamps?111Paul Rubin
30 Jun 25 i i      i   ii i     i  i   +* Re: Parsing timestamps?3LIT
2 Jul 25 i i      i   ii i     i  i   i+- Re: Parsing timestamps?1LIT
2 Jul 25 i i      i   ii i     i  i   i`- Re: Parsing timestamps?1Paul Rubin
1 Jul 25 i i      i   ii i     i  i   `* Re: Parsing timestamps?107Paul Rubin
1 Jul 25 i i      i   ii i     i  i    +* Re: Parsing timestamps?18minforth
1 Jul 25 i i      i   ii i     i  i    i`* Re: Parsing timestamps?17Paul Rubin
2 Jul 25 i i      i   ii i     i  i    i +* Re: Parsing timestamps?4minforth
2 Jul 25 i i      i   ii i     i  i    i i+- Re: Parsing timestamps?1minforth
2 Jul 25 i i      i   ii i     i  i    i i+- Re: Parsing timestamps?1dxf
2 Jul 25 i i      i   ii i     i  i    i i`- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii i     i  i    i `* Re: Parsing timestamps?12Anton Ertl
3 Jul 25 i i      i   ii i     i  i    i  +* Re: Parsing timestamps?8Paul Rubin
3 Jul 25 i i      i   ii i     i  i    i  i+* Re: Parsing timestamps?2minforth
3 Jul 25 i i      i   ii i     i  i    i  ii`- Re: Parsing timestamps?1albert
3 Jul 25 i i      i   ii i     i  i    i  i+* Re: Parsing timestamps?3Hans Bezemer
3 Jul 25 i i      i   ii i     i  i    i  ii`* Re: Parsing timestamps?2albert
5 Jul 25 i i      i   ii i     i  i    i  ii `- Re: Parsing timestamps?1dxf
3 Jul 25 i i      i   ii i     i  i    i  i+- Re: Parsing timestamps?1albert
4 Jul 25 i i      i   ii i     i  i    i  i`- Re: Parsing timestamps?1dxf
3 Jul 25 i i      i   ii i     i  i    i  +* Re: Parsing timestamps?2Anton Ertl
3 Jul 25 i i      i   ii i     i  i    i  i`- Re: Parsing timestamps?1Hans Bezemer
3 Jul 25 i i      i   ii i     i  i    i  `- Re: Parsing timestamps?1dxf
1 Jul 25 i i      i   ii i     i  i    +* Re: Parsing timestamps?5peter
2 Jul 25 i i      i   ii i     i  i    i+* Re: Parsing timestamps?2minforth
2 Jul 25 i i      i   ii i     i  i    ii`- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii i     i  i    i`* Re: Parsing timestamps?2Paul Rubin
2 Jul 25 i i      i   ii i     i  i    `* Re: Parsing timestamps?83Anton Ertl
30 Jun 25 i i      i   ii i     i  `* Re: Parsing timestamps?4Paul Rubin
29 Jun 25 i i      i   ii i     +* Re: Parsing timestamps?3Paul Rubin
30 Jun 25 i i      i   ii i     `- Re: Parsing timestamps?1sean
24 Jun 25 i i      i   ii +- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii `* Nested definitions (was: Parsing timestamps?)16Ruvim
23 Jun 25 i i      i   i`* Re: Parsing timestamps?4mhx
23 Jun 25 i i      i   `* Re: Parsing timestamps?5LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2Stephen Pelc
10 Jun 25 i i      +* Re: Parsing timestamps?4LIT
10 Jun 25 i i      `- Re: Parsing timestamps?1Hans Bezemer
9 Jun 25 i +- Re: Parsing timestamps?1B. Pym
10 Jun 25 i `* Re: Parsing timestamps?14B. Pym
6 Oct 24 +* Re: Parsing timestamps?5Ruvim
6 Oct 24 +* Re: Parsing timestamps?6FFmike
6 Oct 24 +* Re: Parsing timestamps?2Anthony Howe
7 Oct 24 +* Re: Parsing timestamps?9albert
8 Oct 24 +* Re: Parsing timestamps?3albert
9 Oct 24 +* Re: Parsing timestamps?4alaa
18 Oct 24 `* Re: Parsing timestamps?7Gerry Jackson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal