News for hackers. Stuff that matters.
Re:Stack-Oriented Programming by haolez on Tuesday January 14, 2020 @07:13PM (#22050579)
Is PostScript used beyond page description? I'm really curious :)
Re:Stack-Oriented Programming by pedrow on Wednesday January 15, 2020 @04:55AM (#22053000)
I recently saw an announcement[0] of a Z-machine in Postscript. The Z-machine is a runtime for text adventure games. Also posted on HN[1] but no comments were made.

[0]: https://groups.google.com/d/msg/rec.arts.int-fiction/HNtntxC...

[1]: https://news.ycombinator.com/item?id=21367412

Re:Stack-Oriented Programming by zzo38computer on Wednesday January 15, 2020 @04:47PM (#22059093)
Yes; I wrote that program, and the Usenet message and the message on HN (which mentions the message ID for the Usenet message). If you have comments about it, I suggest writing a follow-up message on Usenet.

PostScript is a real programming language and can be used for many things (especially graphics). I also wrote a JSON parser in PostScript (see message <[email protected]> on comp.lang.postscript), and then someone else post their JSON parser in PostScript too.

I think PostScript isn't such a good protocol or document format, but it is good as a programming language. It is what I might use if I want to make a diagram (but unfortunately Ghostscript cannot produce SVG output; it can output PDF though, as well as many raster formats).

Re:Stack-Oriented Programming by haolez on Thursday January 16, 2020 @07:59PM (#22070805)
Nice! Thanks for answering! Would you choose PostScript over Forth as a general purpose language?
Re:Stack-Oriented Programming by zzo38computer on Thursday January 16, 2020 @10:06PM (#22071493)
I think it would depend on what I am trying to make; there are advantages and disadvantages to each. In the case of the JSON parser, I think it is helpful that PostScript has data structures (such as arrays and dictionaries) and arbitrarily typed values like JavaScript and many other scripting languages have. In the case of Z-machine, Forth would probably do as well as PostScript (or probably Forth would do better, actually).

Someone was unsure how useful would be the JSON parser I wrote in PostScript, but if you want to print some diagram based on data in JSON format, then it can be helpful.

(I could implement Z-machine in Forth too if I wanted to do, but I have not done so yet because I have other things to do; I don't know if I might do so in future or not. I could implement Z-machine in any programming language with byte arrays, including assembly language (I started but haven't finished one in 6502).)

Re:Stack-Oriented Programming by PeCaN on Tuesday January 14, 2020 @08:42PM (#22051040)
Sun made a windowing system based on (Display) PostScript way back https://en.wikipedia.org/wiki/NeWS
Re:Stack-Oriented Programming by rwmj on Wednesday January 15, 2020 @05:02AM (#22053032)
https://www-cdf.fnal.gov/offline/PostScript/fractal-fern.ps

is a fractal fern. This is page description, but not in the normal way that it's used. Compare the output in a PS or PDF viewer with the source code which is under 1.5K.

Re:Stack-Oriented Programming by RodgerTheGreat on Tuesday January 14, 2020 @10:08PM (#22051458)
Once I wrote a bingo card in PostScript which would randomize its cells every time you printed it. That's almost useful.
Re:Stack-Oriented Programming by kortex on Tuesday January 14, 2020 @10:44PM (#22051603)
I found a .ps that generates timing wheel patterns (discs with alternating black and white radial bands). you'd plug in inner/outer radius, number of bands, and you'd get a printable document from that file. As in, the .ps file was code, which printed as an image. I now know this is the origin of pdf but it blew my mind.
Re:Stack-Oriented Programming by hnick on Tuesday January 14, 2020 @08:59PM (#22051132)
It's Turing-complete, which makes writing programs to analyse documents a bit of a problem at times.

But I think maybe you meant in the sense of "in the real world", and I can't think of any examples. Prefixing some postscript to a document to manipulate that file is something it can be suited for, rather than using an external language to do so.

Re:Stack-Oriented Programming by Mikhail_Edoshin on Thursday January 16, 2020 @08:12AM (#22064133)
Even in page description alone the programming capabilities are rather useful. E.g. to produce barcodes you can just generate them from data.