Hi Gary,
On Wed, 15 Jul 2015 10:41:13 -0700
"'Gary Campbell' gary_at_numin8r.us [fc-solve-discuss]"
<fc-solve-discuss_at_yahoogroups.com> wrote:
> I’ll interleave my responses ** below as Shlomi did (again, should anyone
> care about this)...
>
I did that, but I also used "> ..." quoting as was customary on Usenet and
later on mailing lists. Your mailer did not do that - « X-Mailer: Microsoft
Windows Live Mail 15.4.3502.922 ».
> From: Shlomi Fish shlomif_at_shlomifish.org [fc-solve-discuss]
> Sent: Wednesday, July 15, 2015 7:02 AM
> To: 'Gary Campbell' gary_at_numin8r.us [fc-solve-discuss]
> Subject: Re: 1.47% Speed Improvement in the Benchmarks in the git HEAD
>
> Hi Gary,
>
> see below for my reply.
>
> On Tue, 14 Jul 2015 10:03:35 -0700
> "'Gary Campbell' gary_at_numin8r.us [fc-solve-discuss]"
> <fc-solve-discuss_at_yahoogroups.com> wrote:
>
> > I have a rather lengthy response to this if anyone cares to read it.
> >
>
> Was your response the E-mail you sent (because it wasn't too lengthy) or do
> you
> have a longer response?
> **It’s long for me, maybe short for you.
>
I see.
> > I’ve been retired from being a paid software engineer since 1991.
> > Some 15 years before that I decided to tackle the problem of code
> > (especially assembly language) being hard to read (and write).
> > I developed a WYSIWYG block structured assembly language and
> > an assembler for it written in itself.
>
> You call your language "WYSIWYG" which means
> https://en.wikipedia.org/wiki/WYSIWYG - "What you see is what you get", but
> I
> don't understand how it is applicable to source code, and furthermore I have
> never found WYSIWYG a virtue in word processors. And like my old friend said
> once after describing MS Word's misbehaviour "It's not what I see, and it's
> not what I'm getting.".
>
> ** when programmers use a block structured language, they generally try to
> indent to conform with the block structure, but the language doesn't require
> it. My language uses indentation to actually control blocks structure,
> rather
> and using keywords. Therefore, the appearance of white space controls
> program flow (what you see is what you get).
>
So you're using indentation for scoping, similar to what Python does:
https://en.wikipedia.org/wiki/Python_%28programming_language%29 ? I wouldn't
call that "WYSIWYG" coding, but your kilometrage may vary.
> > In 2002 I finished a version of
> > it and became interested in writing a Freecell Solver. I pursued that
> > until around my 71st birthday, this June. My solver’s claim to fame
> > is the very small amount of machine resources it takes to get very
> > close on all performance scales to the best of the other solvers out
> > there. But, I haven’t improved any of my benchmarks for years.
> > All I can say for the past few years is that I’ve refined a lot of my
> > solver’s components, and have a very nice table driven design.
> >
>
> What is a "table-driven design"?
> ** Various attribute are given to moves and positions. These attributes
> are used for table lookup to assign priorities to moves. Various sorting
> and pruning decisions are made based on lookup tables. This makes it
> easier to adjust the design here and there.
I see.
>
> > However, my solver only runs on the old version of Windows XP due
> > to the fact that my assembler only outputs a .COM file which is no
> > longer acceptable to the latest operating systems.
> >
>
> Well, you can still probably run it on DOS emulators such as
> https://en.wikipedia.org/wiki/DOSBox (or one of its more active forks) as
> well
> as DOS implementations like https://en.wikipedia.org/wiki/FreeDOS under
> i586 Virtual Machines such as
> https://en.wikipedia.org/wiki/VirtualBox (or on live hardware). That put
> aside, what you describe is part of the risk of relying on proprietary
> systems
> to deploy your code to:
>
> http://www.shlomifish.org/humour/fortunes/show.cgi?id=the-old-shareware-and-the-android-apps
>
> ** Of course. That's what I have to do, but it would be nice to generate
> code
> for a normal out-of-the-box machine. Not everyone wants to run DOSBox, or
> something similar, however, I do and have been ever since MS stopped the
> support of the old XP operating system.
>
Yes, true.
>
> > This made me decide to suspend work on Freecell and revisit my
> > assembler. There is no doubt in my mind that it makes a unique
> > contribution to assemblers, and even to the design of compilers
> > and languages in general,
>
> How so? What is your secret sauce?
> ** If anyone wants one of the main source modules of my Freecell Solver,
> email me directly, and I'll attach it to a reply directly back to you. That
> will enable you to see what it looks like. It is supported by a syntax
> driven translator. What my next project will entail is to extend the
> compiler generator and its meta language.
>
I'm not going to look at such a piece of source code without it being made open
source and unencumbered (for risk of tainting my work). Regarding "There is no
doubt in my mind" - there is usually a huge risk of being absolutely certain,
see for example -
http://www.mail-archive.com/haifux_at_haifux.org/msg05023.html .
Someone once said that "The whole problem with the world is that fools and
fanatics are always so certain of themselves, and wiser people so full of
doubts." (see
https://www.brainyquote.com/quotes/quotes/b/bertrandru121392.html
). My addendum to it is that part of the reason wise man are wise is because
they are full of doubt.
For instance, someone recently sent me some text he wrote for a book he wanted
to publish and after I told him I didn't like his first draft, he wrote a
second one and said he was "sure" I'd like it better, but I did not.
> > so I’m off on another project to bring
> > it up to date with 32-bit processors and the PE/COFF object file
> > formats. This ought to keep me busy until I’m into my mid-to-
> > late –70’s!
>
> One should note that there are already 64-bit processors (e.g:
> https://en.wikipedia.org/wiki/X86-64 ) and operating systems.
> ** Yes, but that will come right along with the 32-bit version.
> The 64-bit extensions are pretty trivial compared to those that
> extended 16 to 32 bit.
I see.
>
> > Then, maybe I’ll bring my Freecell project onto the
> > latest machines.
>
> I see.
>
> >
> > If anyone is interested in any of this, you should probably contact
> > me directly, since it diverges from the main intent of this group.
> >
> Feel free to discuss it here if you want.
> ** I'd rather make this my last post to the Freecell forum for awhile.
> If anyone wants to take this off line, send me an email.
>
OK, sorry to see you go.
> Finally note that given today's compilers and the complexity of the CPUs, it
> is
> likely that the vast majority of Assembly coders will code less optimised
> code
> than that of modern and optimising C/C++ compilers.
> ** If you believe this, I'm sure I could find a bridge somewhere to sell
> you.
Well, I'm not on the market for bridges, but I recall that I tried to write an
x86-32 assembly version of a bignum factorial program I wrote in C, and my
Assembly version was quite slower than the compiled programs by GCC. While I'm
possibly not a very good Assembly programmer, I'd expect most of the new
age coders to be even worse than me (given a large number of them don't even
know C).
Regards,
Shlomi Fish
>
> Regards,
>
> Shlomi Fish
>
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
The Case for File Swapping - http://shlom.in/file-swap
What do you mean by “WDYM”?
Please reply to list if it's a mailing list post - http://shlom.in/reply .
Received on Sun Jul 26 2015 - 06:53:07 IDT