Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #26916 > unrolled thread
| Started by | albert@spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| First post | 2013-11-23 16:25 +0000 |
| Last post | 2013-11-28 18:14 -0800 |
| Articles | 2 on this page of 62 — 13 participants |
Back to article view | Back to comp.lang.forth
LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-23 16:25 +0000
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-23 17:34 -0800
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-23 19:03 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-24 04:58 +0000
Re: LC53, a respectable random generator? "Rod Pemberton" <dont_use_email@xnohavenotit.cnm> - 2013-11-24 04:57 -0500
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-24 14:17 +0000
Re: LC53, a respectable random generator? mhx@iae.nl - 2013-11-24 08:12 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-24 16:46 +0000
Re: LC53, a respectable random generator? Bernd Paysan <bernd.paysan@gmx.de> - 2013-11-24 23:53 +0100
Re: LC53, a respectable random generator? mhx@iae.nl - 2013-11-24 15:41 -0800
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-24 17:57 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-25 19:32 +0000
Re: LC53, a respectable random generator? mhx@iae.nl - 2013-11-25 14:22 -0800
Re: LC53, a respectable random generator? Bernd Paysan <bernd.paysan@gmx.de> - 2013-11-26 00:20 +0100
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-26 03:29 +0000
Re: LC53, a respectable random generator? thomas.bartscher@gmail.com - 2013-11-25 23:08 -0800
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-26 05:06 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-26 14:03 +0000
Re: LC53, a respectable random generator? Bernd Paysan <bernd.paysan@gmx.de> - 2013-11-26 21:59 +0100
Re: LC53, a respectable random generator? thomas.bartscher@gmail.com - 2013-11-28 01:32 -0800
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-25 19:43 -0800
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-25 19:31 -0800
Re: LC53, a respectable random generator? "Elizabeth D. Rather" <erather@forth.com> - 2013-11-25 19:24 -1000
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-26 05:17 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-26 14:21 +0000
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-28 18:49 -0800
Re: LC53, a respectable random generator? mhx@iae.nl - 2013-11-25 13:52 -0800
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-24 18:03 -0800
Re: LC53, a respectable random generator? Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-11-25 13:41 +0100
Re: LC53, a respectable random generator? mhx@iae.nl - 2013-11-25 10:23 -0800
Re: LC53, a respectable random generator? Howerd <howerdo@yahoo.co.uk> - 2013-11-25 13:43 -0800
Re: LC53, a respectable random generator? mhx@iae.nl - 2013-11-25 15:16 -0800
Re: LC53, a respectable random generator? Howerd <howerdo@yahoo.co.uk> - 2013-11-26 13:38 -0800
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-26 20:42 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-27 11:46 +0000
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-27 18:35 -0800
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-26 21:41 -0800
Re: LC53, a respectable random generator? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-11-27 03:21 -0600
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-27 15:37 +0000
Re: LC53, a respectable random generator? Bernd Paysan <bernd.paysan@gmx.de> - 2013-11-27 23:01 +0100
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-27 23:39 +0000
Re: LC53, a respectable random generator? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-11-28 05:41 -0600
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-28 13:47 +0000
Re: LC53, a respectable random generator? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-11-28 09:10 -0600
Re: LC53, a respectable random generator? Bernd Paysan <bernd.paysan@gmx.de> - 2013-11-28 16:22 +0100
Re: LC53, a respectable random generator? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-11-28 09:34 -0600
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-28 18:39 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-27 16:44 +0000
Re: LC53, a respectable random generator? Bernd Paysan <bernd.paysan@gmx.de> - 2013-11-25 19:51 +0100
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-24 11:13 -0800
Re: LC53, a respectable random generator? Hans Bezemer <the.beez.speaks@gmail.com> - 2013-11-25 09:52 +0100
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-24 13:07 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-25 02:18 +0000
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-24 19:36 -0800
Re: LC53, a respectable random generator? "Ed" <invalid@invalid.com> - 2013-11-26 12:57 +1100
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-26 21:25 -0800
Re: LC53, a respectable random generator? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-11-27 15:48 +0000
Re: LC53, a respectable random generator? Mark Wills <markrobertwills@yahoo.co.uk> - 2013-11-27 01:10 -0800
Re: LC53, a respectable random generator? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-11-27 03:29 -0600
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-27 19:49 -0800
Re: LC53, a respectable random generator? Bernd Paysan <bernd.paysan@gmx.de> - 2013-11-28 15:57 +0100
Re: LC53, a respectable random generator? hughaguilar96@yahoo.com - 2013-11-28 18:14 -0800
Page 4 of 4 — ← Prev page 1 2 3 [4]
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Date | 2013-11-28 15:57 +0100 |
| Message-ID | <l77lks$5vi$1@online.de> |
| In reply to | #27023 |
hughaguilar96@yahoo.com wrote: > I had abandoned C.L.F. because it is just a platform for people to fake up > expertise on subjects that they know nothing about (Bernd Payson's > "quotations" being the last straw, because he was doing that as a > representative of the Forth-200x committee, rather than just as a yahoo > working with a bad Forth implementation that can be ignored). I only was explaining to you the difference of three technical terms. Quotation, nested function, and closure. You want nested functions, fine. You called them closures, not fine. And you confuse quotations with them, even worse. These are different things, and they have different names for good reasons. To get your actions right, you need to set the words right first, because otherwise, everybody will be confused. To use quotations well, you have to take the effort in a higher order function so that the quotation can access the stack. To use nested functions right, you have to take the effort so that the nested function can access the surrounding locals. Both is effort, at different places. I think all three approaches have their place: Closures in functional programming languages that support the necessary garbage collection. Nested functions in Algol-like languages that have locals everywhere. And quotations in stack languages where you have the stack to pass your parameters and results. Yes, it's totally easy to implement quotations, as they are just :noname within another function. That's the Forth way: Do something very simple and ignore that other people use more complex ways to achieve about the same. Therefore, the suggestion is as always: If you feel so bad with Forth, and want something different, go and leave. We are not stopping you, rather the contrary, we will celebrate it! -- Bernd Paysan "If you want it done right, you have to do it yourself" http://bernd-paysan.de/
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@yahoo.com |
|---|---|
| Date | 2013-11-28 18:14 -0800 |
| Message-ID | <eea4d888-1e80-419c-a208-61a6c7ab6ecb@googlegroups.com> |
| In reply to | #27044 |
On Thursday, November 28, 2013 7:57:31 AM UTC-7, Bernd Paysan wrote: > hughaguilar96@yahoo.com wrote: > > > I had abandoned C.L.F. because it is just a platform for people to fake up > > expertise on subjects that they know nothing about (Bernd Payson's > > "quotations" being the last straw, because he was doing that as a > > representative of the Forth-200x committee, rather than just as a yahoo > > working with a bad Forth implementation that can be ignored). > > I only was explaining to you the difference of three technical terms. > Quotation, nested function, and closure. You want nested functions, fine. > You called them closures, not fine. And you confuse quotations with them, > even worse. > These are different things, and they have different names for good reasons. > To get your actions right, you need to set the words right first, because > otherwise, everybody will be confused. Java's "closures" are fake too. These terms get mixed around all the time. Also, my nested functions aren't named, so "nested function" as per Algol isn't a good term for them either. I'm just sticking with "quotation" so the Factor crowd will know what I'm talking about. Ultimately, what matters is that what you have does something useful. This is the part that you are totally dodging --- your :NONAME with syntactic sugar is useless because it has no good way to communicate with the creator function. > To use quotations well, you have to take the effort in a higher order > function so that the quotation can access the stack. To use nested > functions right, you have to take the effort so that the nested function can > access the surrounding locals. Both is effort, at different places. My novice package has EACH etc. that use quotation-like functions (called "touchers" in the documentation). The "place" where all the heavy lifting is being done, is inside of EACH etc.. These words have to be written in such a way that they hold all of their internal data on the return stack while the toucher is being executed --- this is so the toucher has access to the creator function's parameter stack. This is the technique that has to be done with your "quotations" too (although I've never seen any example code from you that shows that you know how to write code like this). Anyway, it is a horrible technique for these reasons: 1.) All the complexity is in EACH etc., and there are a lot of these words (specific to every data structure), so the complication is getting dumped on the user rather than being built-in to the language. 2.) It only works when the creator function calls EACH directly, so its data is still on the top of parameter stack. The whole thing is very fragile, as calling intermediate functions will likely put temporary data on the parameter stack, messing everything up. 3.) It makes for very hard to read code, especially when there are more than one datum being communicated through. All in all, this is a horrible technique. I only did this in the novice package because ANS-Forth doesn't support any better technique. Now you have carried the same horrible technique over to Forth-200x and standardized it. This alone is reason to ignore Forth-200x, which is what I expect the whole world to do. > I think all three approaches have their place: Closures in functional > programming languages that support the necessary garbage collection. Nested > functions in Algol-like languages that have locals everywhere. And > quotations in stack languages where you have the stack to pass your > parameters and results. Your technique has a place --- in the garbage bin of history! --- it is useless! Closures, as done in Scheme/Lisp etc., do require GC. I don't support these --- this is done only so the closure can still be used after its creator function has gone out of scope --- this is a solution to a non-problem, and is one of the many reasons why Scheme/Lisp are too inefficient to be used in most applications. The only technique that is actually useful in your list above, is the "nested functions" that I support. You don't need to have "locals everywhere" --- just one or two local in the creator function is necessary for communication between the quotation and its creator function --- using this technique does not result in a lot of gratuitous locals (as done in Algol, C, etc., and often done by recalcitrant programmers of those languages writing Forth code). > Yes, it's totally easy to implement quotations, as they are just :noname > within another function. That's the Forth way: Do something very simple and > ignore that other people use more complex ways to achieve about the same. I'm not "achieving about the same" that you are achieving --- you are achieving exactly nothing! --- I am achieving something useful. You are giving yourself way to much credit; you have really achieved nothing with your "quotations." Your way (not the Forth way), is to do something very simple and pretend that it is useful when it is not --- that is to say: "fake it." The same thing is true of your B16 processor --- you are doing something very simple and pretending that it is useful --- you are faking it. > Therefore, the suggestion is as always: If you feel so bad with Forth, and > want something different, go and leave. We are not stopping you, rather the > contrary, we will celebrate it! You assume that you are a big leader in the Forth community, and that Forth is whatever you say that it is. You assume that I am a born follower, and that if I don't like your baloney then I should abandon Forth and take up another language (Rod suggests C), and swallow their baloney instead. This isn't true. I am writing my own language. It is Forth --- but you and your baloney are irrelevant to it --- Forth will continue without you, and Forth will start making a lot more sense after you have been dumped by the wayside. > Bernd Paysan > > "If you want it done right, you have to do it yourself" By far, the funniest thing about you is this quote that you tack onto the end of all of your posts. LOL More honestly, you, Elizabeth Rather, Albert van der Horst, etc., should use this quote: "If you want it done right, you have to delegate it to a brilliant programmer that you hopefully find around you."
[toc] | [prev] | [standalone]
Page 4 of 4 — ← Prev page 1 2 3 [4]
Back to top | Article view | comp.lang.forth
csiph-web