[squeak-dev] PDFtalk for Squeak - first fileOut

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Fri Jun 10 18:21:20 UTC 2022

Hi Christian,

that sounds really exciting! I filed https://github.com/PortingPDFtalk/SqueakPDFtalk/blob/52a7585b2cc2f2e64f8cd4172e44b13a123586a5/PDFtalk.Squeak60.st into a fresh Squeak 6.0beta image, but I was not yet able to find any running demo - could you give me a few pointers? :-)

Starting with "PtPDF demo01_HelloWorld", I investigated the following issues (in order):

  *   The do-its in the method comments in these demonstration categories do not work as they are written. Instead of "PDF demo01_HelloWorld", the comment should be "PtPDF demo01_HelloWorld".
  *   Debugger in PtAttributeType class>>#allInMethod:: MessageNotUnderstood: Pragma class>>allInMethod: - this needs to be replaced with "aCompiledMethod pragmas".
  *   Debugger in PtName class(Object class)>>pdfType: MessageNotUnderstood: Metaclass>>instanceBehavior - #instanceBehavior needs to be replaced with #theNonMetaClass.
  *   Debugger in PtRectangle class(PDFArray class)>>on:: MessageNotUnderstood: Array>>doWithIndex: - #doWithIndex: needs to be replaced with #withIndexDo:.
  *   Debugger in String class>>decodeASCII85Group: Error: ByteString called #basicNew: with invalid argument -1 - I fixed this by replacing the last line with "^wst contents reverse first: (inputString size - 1 max: 0)"
  *   Furthermore, String class>>#decodeASCII85Group: depends on the undeclared class StreamError - I fixed this by adding a new PtStreamError subclass of Error.
  *   Debugger in PtFAdobeFontMetric>>fontBBox:: MessageNotUnderstood: ByteString>>tokensBasedOn: --

At this point, I have no further time left, unfortunately. :-) But tl;dr: Is there already some nice example that you can actually run in Squeak?

And furthermore, I would be interested in hearing some of your thoughts about how you are planning to maintain and involve a project like this for multiple Smalltalk dialects in parallel. That transformation technique sounds very powerful, but as far as I understand, there are still several other concerns related to porting and maintenance - for instance, if you want to use the original VW code base as the single source of truth and create the Squeak code by code generation only, how do you want to write Squeak-specific code? And how will the Transformations approach detect dialect-specific dependencies that go beyond explicit bindings (such as the extension method in the last debugger I mentioned)? Please keep blogging when you are solving questions like these ones! :-)


Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von John-Reed Maffeo <jrmaffeo at gmail.com>
Gesendet: Mittwoch, 18. Mai 2022 23:18 Uhr
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] PDFtalk for Squeak - first fileOut


I don't know if my Squeak skills are upto the task, but I am willing to do what I can. I have a particular interest in geospatial PDF and did some development in Squeak utilizing USGS SDTS geodata many years ago.

I am self taught and never collaborated on a Smalltalk project before. My strength is in analysis and design of data oriented applications: find data, download date, extract interesting data and use the data in interesting ways.
My hardware is older i.e. Mac, Windows, and Android are not running current OS but they meet my needs.

I will help where I can,

On Tue, May 17, 2022 at 10:27 AM Christian Haider <mail at christianhaider.de<mailto:mail at christianhaider.de>> wrote:
Hi Squeakers,

as some of you know, there is a project on the way for porting the PDFtalk library from VisualWorks to Squeak and other non-namespaced Smalltalks [1]. Now I can report a first significant achievement: the new version of the transformation tool was used successfully to produce the first fileOut of the full PDF library including tests [2].

Some simple massaging was needed, but now the fileOut should load into Squeak 6.0 without errors. The file is about 6 MB in size and takes around 8 minutes to load on my machine. There are lots of load warnings in the Transcript and many tests have errors, but all code loads and can be browsed and examined.

The tool automatically rewrites namespaced names with prefixed globally unique names. This seems to work well and automates away much of the usual porting work.

Now I am looking for a Squeaker with an interest in PDF and/or the transformation tool and some time at hand to pair up for some coding. This is an exiting project… Heads up – who wants to be part of this?

Happy hacking,

[1] https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout
[2] https://wiki.pdftalk.de/doku.php?id=portingblog#first_fileout_of_the_full_pdftalk_for_squeak_60

P.S. I hope that I am writing to the right list – apologies, if this is spam for you

John-Reed Maffeo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220610/abc6d9e3/attachment.html>

More information about the Squeak-dev mailing list