Re: [Pharo-users] [ANN] Pillar 4.0.0

2016-08-29 Thread Thibault ARLOING
In fact, the hyperlink for chapter does not work on Enterprise Pharo but just 
for chapters.

Because it is not links but anchor.


The reason is that when we want to reference a section, the section is in the 
same HTML so the anchor works but when we reference a chapter, it is not in the 
same HTML so the anchor is not found.


But when we compile Enterprise Pharo book, all chapters are gathered so anchors 
are found.


In any case, it will work if you do it in your own project.

Sincerely,
Thibault

De : Pharo-users  de la part de Gour 

Envoyé : jeudi 25 août 2016 17:58
À : pharo-users@lists.pharo.org
Objet : Re: [Pharo-users] [ANN] Pillar 4.0.0

On Fri, 22 Jul 2016 13:41:34 + Thibault ARLOING
 wrote:

> The documentation of Pillar will be update as soon as possible to fit
> those changes.

Thank you working on this and bringing nice features like support for
footnotes.

Ability to convert Pillar documents into MArkdown (still using it with
flat-CMS for web) and/or support for markup like AsciiDoc is great.

However, after going into Pharo-terrain, I'm considering to use is as
single-markup for all the my writing purposes as well as for preparing
slide presentations.

By looking at docs, I see that hyperlinked references show "see chapter
??", so wonder what's wrong with hyperlinking support?


Sincerely,
Gour

--
He who is regulated in his habits of eating, sleeping, recreation
and work can mitigate all material pains by practicing the yoga system.





Re: [Pharo-users] More reliable VCS, Project management and tools?

2016-08-29 Thread Vitor Medina Cruz
Hello,


Thanks for the answers!

stepharo


I used Kommiter to commit onto smalltalkhub and Monticello to copy changes
> to my local file tree until I got and error using Komiter.
>

> which one?


I don't remember. When the error occurred I just proceed to see what would
happened. if you go to http://smalltalkhub.com/#!/
~vitormcruz/Katas-and-Challenges/packages/TwitterChallenge-Tests you will
see that version 6 is missing, and in my image it was there until I Flush
cached version.

[image: Inline image 1]

I suspect that for some reason coping the version to smalltalkhub didn't
work and the system couldn't recover from this propoerly. I would expect
the rollback of the entire commit operation, but the procedure commit the
other packages and, as it seemed to me, put one of them in a cached ok
status while nothing happened on the remote repository.

What I liked about Kommiter is the possibility to commit multiple packages
at once, in Monticello I haven't see a way to do this and as the number of
packages increases committing becomes very bureaucrat. Versioner can do the
same, it is

Ben Coman

"Oh, and Monticello sometimes says there are changes to pakages that I
> > haven't changed, when I click on changes it discover that there are no
> > changes and remover the "*" mark of it.
>


This is an old niggle.   I've not found this one to impact overall
> reliability of Monticello."


Yes, but I get nervous when I see this glitch in a system or framework
package since I should not be messing around with that stuff :)

"> 1- Shouldn't I be using Windows? Pharo isn't stable on a Windows
> platform?




> Pharo has traditionally been very stable of Windows - but Pharo 5 had
> a major change to move to the Spur VM and change in FFI, so perhaps
> there are some things to iron out.  Please help us to identify them."


I will try :)

"> 4- I don't believe those problems are normal, otherwise there wouldn't
> be so
> > many places using Pharo for production purpose, any hints of what I may
> be
> > doing wrong? :(




> Often newcomers bump into problems because your usage is slightly
> different;  or the rest of use have learned to unconsciously step over
> them like a wobbly slab in your garden path;  or the rest of us live
> with / work around minor problems because they are outweighed by the
> benefits we gain from Pharo (that of course newcomers are yet to fully
> appreciate and the niggles are more obvious and a greater concern)."


Let me tell you, I really like Smalltalk and it's vision, and I think Pharo
has doing a great job, however, understanding this vision and start to take
advantage of the system is hard, very hard. I can tell that because I have
tried to explain it to some people and it is not something immediate
obvious. I am convinced that only by using the system most people will
really "get" it, you know what I mean? (just a fraction "get" before using
it) So I agree with you, those niggles are a great concern while trying to
bring newcomers :( . Another problem, however, is the difference between
programming in Pharo and in other systems. I mean, now Pharo can execute
from console (is there a console REPL?) , there is a web REPL and a bunch
of nice frameworks to do a lot of stuff, but programming in Nautilus and
with the whole image is wy different, there is the good stuff like the
debugger and and the Dynamic system which makes you freeking productive,
but there are really annoying stuff related to usability. For example,
Nautilus take a good chunk of screen and many many things are done by
clicking. You can't imagine how exasperating it is for someone used to
IntelliJ having to switch methods by click, or having tons of screens that
you have to manage by hand. Have you considered those kind of stuff
already? I know you have tons of things to do, but I think those kind of
stuff in sum with those niggles are a great barrier for newcomers... :(

Hernán

"However, for anyone to load my configurations and projects, I could not
> use filetree with a local directory, so I created a smalltalkhub repository
> and started to commit there and on my local filetree directory. I used
> Kommiter to commit onto smalltalkhub and Monticello to copy changes to my
> local file tree until I got and error using Komiter. I tried to proceed
> instead of abort and one of the packages didn't commit correctly. Trying to
> access it on the smalltalkhub site I got an error




> Maybe you mean Versionner? There is an issue in Pharo 5. Quick fix:"


No, it was Komiter, but I experience problems with Versioner too, it get in
a infinite loop when I try to do any kind of patch. I started a new fresh
image, load my code and Versioner is working know, I don't understand what
happened.

Also, my image don't have KomStagingArea class, it was supposed to exist?

Thanks again!
Vitor


On Fri, Aug 26, 2016 at 2:02 PM, Hernán Morales Durand <
hernan.mora...@gmail.com> wrote:

> Hello Vitor
>
> 2016-08-25 23:16 GMT-03:00 Vitor

Re: [Pharo-users] standalone/runtime executable

2016-08-29 Thread Stephan Eggermont

On 26/08/16 18:49, Hernán Morales Durand wrote:

Is not fully tested but here is how you install it:

Gofer it
smalltalkhubUser: 'hernan' project: 'CodeGenerator';
configuration;
loadDevelopment.

CGSmalltalkExamples exampleNSISPharo4.
CGSmalltalkExamples exampleNSISPharo5.

It will generate a .nsi file in image directory.



Thanks Hernán.
Could you tell us something more about the CodeGenerator
that you created it with? For someone new to NSIS there
are a lot of moving parts like this.

It would be great to have an example that is complete
and compiles out of the box. Good target for a screencast
also (for me they work very well for improved community
communication).

Stephan





Re: [Pharo-users] Traits inheritance

2016-08-29 Thread stepharo
Alex the explicitRequirement was removed because of the algorithms you 
need to check for example to update the icons or do static check each 
time you compile a method.



Stef


Le 28/8/16 à 11:17, Alexandre Bergel a écrit :

Hi Petr!

You have found what I think is a bug. Indeed, Nautilus may be improved to have the 
behavior you describe. Having an explicit requirement ("self 
explicitRequirement”) should be indicated by Nautilus. I suggest you to open a bug 
on https://pharo.fogbugz.com

Regarding the second problem, I cannot reproduce it. Do you have the exact 
steps to reproduce it?

Alexandre



On Aug 27, 2016, at 10:23 PM, Petr Fischer  wrote:

Hello, is Trait methods inheritance supported in Pharo?

Like this:

TBaseTrait>>myMethod
self subclassresponsibility

TSubTrait
uses: TBaseTrait
...
TSubTrait>>myMethod
some real implementation

MyClass
uses: TSubTrait
(MyClasss>>myMethod already implemented in TSubTrait, but I can reimplement 
again)

Problems:

1) when I put "self subclassresponsibility" in TBaseTrait, everything is nicely visible in Nautilus browser 
(something like "abstract" method with proper (a) yellow icon). But I read somewhere, that for traits, I must 
use "^ self explicitRequirement" instead of "subclassresponsibility" - then, I can't see anything 
usefull in Nautilus

2) sometimes (it was maybe with "self subclassresponsibility" in TBaseTrait), 
Monticello not detected overrided TSubTrait>>myMethod (TSubTrait residing in another 
package than TBaseTrait) and this overrided trait method in TSubTrait was not saved in 
monticelo package (no changes was detected by Monticello, thus not saved to mcz package!)

So - is trait a "bag of methods" only, or is trait inheritance supported? 
Thanks very much!

pf






Re: [Pharo-users] [Moose-dev] [ann] pillar support in gtinspector

2016-08-29 Thread Yuriy Tymchuk

> On 29 Aug 2016, at 21:41, Tudor Girba  wrote:
> 
> Hi,
> 
> I updated the Pillar support in GTInspector. Some of the extensions already 
> exist in the default Pillar #development version. If you want to play with 
> the full support, you can load it like this:
> 
> Gofer new
>   smalltalkhubUser: 'Moose' project: 'PetitParser';
>   package: 'PetitAnalyzer';
>   package: 'PetitIndent';
>   package: 'PetitIslands';
>   smalltalkhubUser: 'Moose' project: 'GToolkit';
>   package: 'GT-InspectorExtensions-Pillar';
>   load
> 
> Then you can just inspect a book folder and you get this:
> 
> 

Cool!

> 
> I did not integrate this in the main Pillar yet because this is an older 
> implementation based on a limited island parser. As now Pillar has a full 
> parser based on PetitParser, the next step is to move the highlighting logic 
> to use this parser instead of the island parser. From my measurements, the 
> speed of the two parsers is about the same, so from a user perspective there 
> will be not much changes.
> 
> It pains me that we are editing Pillar in outside tools, and now we should no 
> longer have to do that. Of course, this is not the most ideal tool support 
> for Pillar but I think it is a reasonable start.

To make things sadder: when I need to write some short “richish" I’m using 
markdown instead for pillar because in ATOM I can open the rendered version of 
my document that will update while i type (and will display images and so on). 
It could be nice to have the same functionality in Pharo, but I’m really busy 
with improving other parts. Additionally I’m not sure that it makes sense to 
reimplement rich text editor in Pharo.

Uko

> 
> Cheers,
> Doru
> 
> 
> --
> www.tudorgirba.com 
> www.feenk.com
> 
> "Problem solving should be focused on describing
> the problem in a way that makes the solution obvious."
> 
> 
> 
> 
> 
> ___
> Moose-dev mailing list
> moose-...@list.inf.unibe.ch
> https://www.list.inf.unibe.ch/listinfo/moose-dev



Re: [Pharo-users] standalone/runtime executable

2016-08-29 Thread Hernán Morales Durand
Hi Stephan

2016-08-29 14:16 GMT-03:00 Stephan Eggermont :

> On 26/08/16 18:49, Hernán Morales Durand wrote:
>
>> Is not fully tested but here is how you install it:
>>
>> Gofer it
>> smalltalkhubUser: 'hernan' project: 'CodeGenerator';
>> configuration;
>> loadDevelopment.
>>
>> CGSmalltalkExamples exampleNSISPharo4.
>> CGSmalltalkExamples exampleNSISPharo5.
>>
>> It will generate a .nsi file in image directory.
>>
>>
> Thanks Hernán.
> Could you tell us something more about the CodeGenerator
> that you created it with? For someone new to NSIS there
> are a lot of moving parts like this.
>

This will be properly documented in the future. But here I go with some
basic notes.
The idea is to have a very modular hierarchy of code generation
capabilities. There is a very basic generator for QC Magritte ;) but I
hadn't the time for testing or complete yet
A description of hierarchy classes is

-CGAbstract (Provides code stream)
--CGTemplate (Utility class for extracting template methods from classes -
in the sense of a Template framework, not design patterns)
---CGAuthoring (Provides identity management)
CGBash (Bash code generator)
CGNSISInstaller (Unicode NSIS Installer Script (.nsi) Generator,
requires Mustache Templates and ZipDLL.nsh plugin installed)
CGSmalltalkAuthoring (Abstract Smalltalk code generator providing
author management - not the same as identity)

- CGStConvenienceMethods (Smalltalk Code Generator based in the pattern
Convenience Methods (1998) by Robert Hirschfeld)
- CGStAbstractClassPattern (Smalltalk Code Generator based in the Abstract
Class Pattern by Bobby Woolf.)
- CGStBuilderPattern (Builder Design Pattern - I don't remember the status
of this one, I should check)

- CGStHierarchyCreator (Smalltalk Code Generator to generate a class
hierarchy)
- CGStMagritte
- CGQCMagritte (Seaside QC Magritte Generator)
- CGQCBMagritte (Seaside QC Magritte + Bootstrap) Generator

- CGStImageImporter (Scans an input directory and uses ImageReadWriter to
read binary file streams)
- CGStTextImporter (Same for textual resources)

- CGStSingleton (Generates a Singleton in Smalltalk)
- CGSunit (SUnit Tests Generator)

- CGStSpec (To be implemented)

These are examples of how to generate code:

Simple class and variables:

CGSmalltalk uniqueInstance
setCleanTarget;
targetClassCategory: 'MPIRunner-Core';
targetClass: #MPIRunner;
addInstanceVariables: #(#nproc #submitToQueue).

Convenience methods

CGStConvenienceMethods uniqueInstance
setCleanTarget;
parameterCount: 1;
targetSelector: #cgConvEx1;
targetClassCategory: 'ConvenienceMethodsEx';
targetClass: #ConvenienceMethodsEx;
generateMethods.

Singleton

CGStSingleton uniqueInstance
setCleanTarget;
targetClassCategory: 'SingletonEx1';
targetClass: #SingletonEx1;
generateMethods.

Builder

CGStBuilderPattern uniqueInstance
setCleanTarget;
targetClassCategory: 'CGGeneratedCode-Core';
" Abstract Builder class name (ex: UIBuilder) "
targetClass: #CGExCarBuilder;
productNames: #('CGExFordCar' 'CGExBMWCar' 'CGExHondaCar');
builderNames: #('CGExFordBuilder' 'CGExBMWBuilder'
'CGExHondaBuilder');
familyNames: #('CGExCarEngine' 'CGExCarBody');
" How many product parts per family ? "
productPartsPerFamilyCount: 3;
directorClassName: #CGExCarAssembler;
generateClasses.




> It would be great to have an example that is complete
> and compiles out of the box. Good target for a screencast
> also (for me they work very well for improved community
> communication).
>
>
I would love to have more time :)

Hernán



> Stephan
>
>
>
>


Re: [Pharo-users] [Moose-dev] [ann] pillar support in gtinspector

2016-08-29 Thread Offray Vladimir Luna Cárdenas

Hi,


On 29/08/16 21:47, Yuriy Tymchuk wrote:

[...]



It pains me that we are editing Pillar in outside tools, and now we 
should no longer have to do that. Of course, this is not the most 
ideal tool support for Pillar but I think it is a reasonable start.


To make things sadder: when I need to write some short “richish" I’m 
using markdown instead for pillar because in ATOM I can open the 
rendered version of my document that will update while i type (and 
will display images and so on). It could be nice to have the same 
functionality in Pharo, but I’m really busy with improving other 
parts. Additionally I’m not sure that it makes sense to reimplement 
rich text editor in Pharo.


Uko



For me it would be really nice to have this kind of support for 
markdown. That's the language I'm using for writing my PhD thesis in 
Pharo, and in fact now that I'm in hackademia Summer School[1] is nice 
to find some other PhD students that in fact are using markdown in their 
writing.


[1] 
http://www.leuphana.de/en/research-centers/cdc/digital-cultures-research-lab/events/summer-school-2016.html


Having syntax highlighting and graphics preview for markdown would be a 
way to introduce some new non-technical users and researchers to the 
Pharo world, reproducible research, interactive documentation and 
modable tools, but we need to start in a place they know, for example 
its markup language.


Cheers,

Offray