Re: Lisp Reader & Tools
Martin Simmons <[email protected]> Fri, 29 May 2026 18:04:35 +0100
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
I like it!
--
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/
>>>>> On Thu, 28 May 2026 10:39:49 -0700, David McClain said:
>
> And yes, it is an highly abstract version of Forth that I constructed entirely from Lisp.
>
> I have always lived by, and maintained, just as Chuck Moore did, that there is no standard Forth. Every Forth system is distinct and unique and should be written for bespoke purposes. This one has never been seen elsewhere, and it freely mixes Forth with Lisp. Lisp is this Forth’s Assembly language
>
>
>
> code ;:
> ;; stack contains data
> ;; this performs EXIT and the follow i-code
> ;; will be the actions for the newly defined verb
> (setf tos
> (derive-word '<scolon-def>
> :dfa tos
> :ifa ip)
> ip rp@+
> ) }
>
> and
>
> : >>vec
> >>lst code{ (setf tos (coerce tos 'vector)) } ;
>
>
> This system was invented in order to share an algorithm with prospective customers while we awaited US Patent awards. So the Forth system includes a MetaCompiler that target compiles the algorithm, cast into Forth, to a target environment that lives inside a Windows C structure. The C code calls upon the inner interpreter of the Forth system to execute the algorithm. Every target-compile produces unique code with all the tokens being randomly assigned. This was a Token-Threaded Forth system.
>
> That might sound complicated, but it resulted from years of being ripped off by former customers who would hire young hotshots to modify the product that we gave them. The young hotshots approached us after a conference talk that we gave, and they explained that they had never seen any code like that before. No disassembler could make sense of it.
>
> And, just like my DSP work, all the hard work was done in Lisp.
>
> - DM
>
>
> > On May 28, 2026, at 10:07, Martin Simmons <[email protected]> wrote:
> >
> > The first #| inside the double-quotes shouldn't need a closing |#, so I'm
> > puzzled by that.
> >
> > Is this text inside a file that also contains Lisp code? If not, then the
> > Editor shouldn't be editing it in Lisp mode.
> >
> > This looks somewhat like Forth, but Google doesn't find anything useful about
> > the case esac words so I'm not sure.
> >
> > --
> > Martin Simmons
> > LispWorks Ltd
> > http://www.lispworks.com/
> >
> >
> >
> >>>>>> On Thu, 28 May 2026 08:27:02 -0700, David McClain (as dbm at refined-audiometrics dot com) said:
> >>
> >> With regard to the inability of mere regular expressions guiding the text editor, here is a snippet of code that needs those accessory comments mentioned previously. Note the funny comment on the first line “— |# |#”. That was needed so that the Editor wouldn’t get confused by all the vertical nbars in the code on the left...
> >>
> >> (
> >> : skipper
> >> case { "#|" string= } { [compile] #| } -- |# |#
> >> { ";;" string= } { [compile] ;; }
> >> { ";;;" string= } { [compile] ;;; }
> >> { "--" string= } { [compile] -- }
> >> { "(" string= } { [compile] ( }
> >> { "#+IF" string= } { skip-to-fi }
> >> { "#-IF" string= } { skip-to-fi }
> >> { "\"" string= } { skip-quote }
> >> { ".\"" string= } { skip-quote }
> >> { "error\"" string= } { skip-quote }
> >> esac ;
> >>
> >
> > _______________________________________________
> > Lisp Hug - the mailing list for LispWorks users
> > [email protected]
> > http://www.lispworks.com/support/lisp-hug.html
>
>
_______________________________________________
Lisp Hug - the mailing list for LispWorks users
[email protected]
http://www.lispworks.com/support/lisp-hug.html