On 29 Jul 2020, at 05:06, Russ Whaley <whaley.russ@gmail.com> wrote:
Back on the 'Intermediate Tutorials' question...
I would love to see intermediate tutorials on Spec2 and Seaside.... and perhaps how to best adapt an (Sp)Application to serve both 'presenters' with guidelines on what responsibility goes where on the presenter/component, application, and model(s).
Agreed. Now for the seaside tutorials please ask seasiders because what is killing me is to have to deeply learning something before writing may be one person can write some blog posts. For Spec2 we will but Iâm waiting for esteban to write and I do a pass after.
What I found most useful in tutorials is specific examples. To me, generic examples can be too easily misunderstood - making them difficult to (re)apply. A specific example, even if silly, can really make a differenceâ¦
Yes! Did you see https://github.com/Ducasse/smalltodo-example/blob/master/SmallTODO-Tutorial-...
i.e. I'm never going to create a GUI based on the Class/method hierarchy and I find it very difficult to apply those examples (although they are slick) to my application needs.
I love looking at how other people approach problems, identify solutions (I can't wait to dig into the logic-puzzle code). This mailing list is great, but more - and more advanced - tutorials would be very much appreciated!
Thanks! Russ
On Mon, Jul 27, 2020 at 11:45 PM tbrunz <wild.ideas@gmail.com <mailto:wild.ideas@gmail.com>> wrote: So I decided to write an application to solve the Zebra Puzzle, by solving this type of problem in general. In Pharo, of course.
I worked out a few basic algorithms for making deductions and inferences, and coded them, along with tests, in Pharo 8. Now I've reached the point of having a working "proof of concept" or prototype. It can't (yet) solve the Zebra Puzzle without some "human assistance", but it does keep track of the solution state as it progresses, it handles the bookkeeping, makes the basic deductions/inferences, and produces reports.
And I've used it to quickly solve the Zebra Puzzle. I coded the solution as a separate class/method, with extra rules inserted that I was able to infer by iterating to partial solutions, so that it solves the entire thing. It will interesting to develop the remaining algorithms, and it would be nice to eventually create a nice, interactive user interface for it as well.
Since I want to fashion this into an intermediate-level tutorial, I need feedback on what I have so far. I don't want my inexperience to lead to me teaching the wrong techniques, etc. to other developers who are learning Pharo. What I have can no doubt be improved, but I need to hear from the master craftsman in this community what parts are compromised and how (and why) it can be made a better example of "how to program in Pharo" properly.
If anyone has the time and is willing to help, the code (complete with class & method comments, test classes/methods, and the Zebra Puzzle example) is here: https://github.com/tbrunz/logic-puzzle <https://github.com/tbrunz/logic-puzzle> and I'm available to answer questions about it, of course.
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html <http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html>
-- Russ Whaley whaley.russ@gmail.com <mailto:whaley.russ@gmail.com>
Stéphane Ducasse http://stephane.ducasse.free.fr / http://www.pharo.org 03 59 35 87 52 Assistant: Aurore Dalle FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France