[Pharo-dev] Reproducible VM Crash using UFFI

2017-10-04 Thread Hernán Morales Durand
Hi, I ported Nacl (a libsodium wrapper) from the old FFI apicall: format to use the UFFI ffiCall:, but there should be something terribly wrong because is crashing the VM, in both Windows 8.1 and Linux. How to reproduce in Pharo 6.1 Metacello new smalltalkhubUser: 'tonyg' project:

[Pharo-dev] About Pragma comment and Pragma description

2017-10-04 Thread Stephane Ducasse
Hi, That is my proposal as well: introduce a first class entity that describes a Pragma instance. Who would be interested to play with this? Cheers, Doru Doru where can I find the code?

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Esteban A. Maringolo
2017-10-04 16:49 GMT-03:00 Denis Kudriashov : > 2017-10-04 21:38 GMT+02:00 Esteban A. Maringolo : >>> It is not compiled time but behaviour is very close to it. >>> The trick is that first time execution will replace full expression with >>> the result

[Pharo-dev] Deprecating ValueHolder (call for Spec user)

2017-10-04 Thread Stephane Ducasse
Hi we have ValueHolder and NewValueHolder so I wanted to remove the 6 last user of ValueHolder. Now I see that we have ValueHolder >> contents: newContents contents := newContents. self changed: #contents NewValueHolder >> value: anObject self handleCircularReferencesWhile: [ |

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Denis Kudriashov
2017-10-04 21:38 GMT+02:00 Esteban A. Maringolo : > 2017-10-04 6:46 GMT-03:00 Denis Kudriashov : > >> Hi Igor. >> >> Did you see that we have now #asMethodConstant? >> >> DateAndTime now asMethodConst >> >> >> It is not compiled time but behaviour is

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Esteban A. Maringolo
2017-10-04 6:46 GMT-03:00 Denis Kudriashov : > Hi Igor. > > Did you see that we have now #asMethodConstant? > > DateAndTime now asMethodConst > > > It is not compiled time but behaviour is very close to it. > The trick is that first time execution will replace full

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Igor Stasenko
On 4 October 2017 at 22:30, Igor Stasenko wrote: > > > On 4 October 2017 at 17:27, Sean P. DeNigris > wrote: > >> Igor Stasenko wrote >> > IMO, best would be to make it via compiler plugin. >> >> It seems there is always a tension between

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Igor Stasenko
On 4 October 2017 at 12:46, Denis Kudriashov wrote: > Hi Igor. > > Did you see that we have now #asMethodConstant? > > DateAndTime now asMethodConst > > > It is not compiled time but behaviour is very close to it. > The trick is that first time execution will replace full

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Igor Stasenko
On 4 October 2017 at 17:27, Sean P. DeNigris wrote: > Igor Stasenko wrote > > IMO, best would be to make it via compiler plugin. > > It seems there is always a tension between newbie-friendliness/purity and > max-performance/deployment. There are so many other things about

Re: [Pharo-dev] Iceberg - loading baseline

2017-10-04 Thread Esteban Lorenzano
> On 4 Oct 2017, at 16:29, Sean P. DeNigris wrote: > > Jan Blizničenko wrote >> ...'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. > > Hmm, I never saw gitlocal:// before. I always use filetree://. I wonder what > the difference is… filetree uses

Re: [Pharo-dev] Iceberg - loading baseline

2017-10-04 Thread Sean P. DeNigris
Jan Blizničenko wrote > ...'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. Hmm, I never saw gitlocal:// before. I always use filetree://. I wonder what the difference is… - Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Sean P. DeNigris
Igor Stasenko wrote > IMO, best would be to make it via compiler plugin. It seems there is always a tension between newbie-friendliness/purity and max-performance/deployment. There are so many other things about a Smalltalk image that are insecure and any compiler "tricks" are additional places

Re: [Pharo-dev] [Ann] Class meta annotations

2017-10-04 Thread Denis Kudriashov
2017-10-04 14:43 GMT+02:00 Guillermo Polito : > > > >> >>> I mean, I understand we can use the class state to initialize the >>> annotation. But the fact that the annotation is cached after its first >>> instantiation means that the annotation will not necessarily

Re: [Pharo-dev] [Ann] Class meta annotations

2017-10-04 Thread Denis Kudriashov
2017-10-04 14:34 GMT+02:00 Henrik Sperre Johansen < henrik.s.johan...@veloxit.no>: > Denis Kudriashov wrote > >> Would it? > >> With pure method tags, you'd do something like: > >> SomeClass >> #renamePackage: aPackage > >> > > >> > > category: 'Package' > >> order: 25 > >> shortcut: #($r

Re: [Pharo-dev] [Ann] Class meta annotations

2017-10-04 Thread Guillermo Polito
On Wed, Oct 4, 2017 at 10:51 AM, Denis Kudriashov wrote: > 2017-10-04 9:48 GMT+02:00 Guillermo Polito : > >> I'd even call them First class pragmas from that point of view :P >> > > Yes. > But we decided avoid pragma related names here. Because in

Re: [Pharo-dev] [Ann] Class meta annotations

2017-10-04 Thread Henrik Sperre Johansen
Denis Kudriashov wrote > 2017-10-04 11:56 GMT+02:00 Henrik Sperre Johansen < > henrik.s.johansen@ >>: > >> Denis Kudriashov wrote >> > Generally it is same like having pragma with parameters. >> > But with annotation you are not restricted by literal objects. So >> > annotation parameters can

Re: [Pharo-dev] [Ann] Class meta annotations

2017-10-04 Thread Denis Kudriashov
2017-10-04 11:56 GMT+02:00 Henrik Sperre Johansen < henrik.s.johan...@veloxit.no>: > Denis Kudriashov wrote > > Generally it is same like having pragma with parameters. > > But with annotation you are not restricted by literal objects. So > > annotation parameters can be anything. > > > > And it

Re: [Pharo-dev] [Ann] Class meta annotations

2017-10-04 Thread Henrik Sperre Johansen
Denis Kudriashov wrote > 2017-10-04 9:48 GMT+02:00 Guillermo Polito > guillermopolito@ > : > >> I'd even call them First class pragmas from that point of view :P >> > > Yes. > But we decided avoid pragma related names here. Because in future it can > be > possible to add normal pragmas into

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Denis Kudriashov
Hi Igor. Did you see that we have now #asMethodConstant? DateAndTime now asMethodConst It is not compiled time but behaviour is very close to it. The trick is that first time execution will replace full expression with the result as literal (the receiver of #asMethodConst). So at second time

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Sven Van Caekenberghe
> On 4 Oct 2017, at 11:36, Igor Stasenko wrote: > > IMO, best would be to make it via compiler plugin. > > Same, as i proposed for object literals, > a compiler could detect a pattern interpolate Which means the #interpolate message send is compiled away, right ? So no

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Igor Stasenko
IMO, best would be to make it via compiler plugin. Same, as i proposed for object literals, a compiler could detect a pattern interpolate and replace it at compile time to produce/expand it into proper context-aware semantic, something like this: {'a' . x . 'b' . y. 'c' .z } gather: #asString

Re: [Pharo-dev] [Ann] Class meta annotations

2017-10-04 Thread Denis Kudriashov
2017-10-04 9:48 GMT+02:00 Guillermo Polito : > I'd even call them First class pragmas from that point of view :P > Yes. But we decided avoid pragma related names here. Because in future it can be possible to add normal pragmas into the class definition. > > I wonder

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Thierry Goubier
2017-10-04 9:50 GMT+02:00 Guillermo Polito : > if the compiler plugin correctly models such special syntax with special > AST nodes, that could be even possible without much effort > Interesting. Would that imply that by having those special ast nodes, we would get the

Re: [Pharo-dev] String Interpolation

2017-10-04 Thread Guillermo Polito
if the compiler plugin correctly models such special syntax with special AST nodes, that could be even possible without much effort On Tue, Oct 3, 2017 at 5:42 PM, Denis Kudriashov wrote: > > 2017-10-03 17:39 GMT+02:00 Denis Kudriashov : > >> Hi. >>

Re: [Pharo-dev] [Ann] Class meta annotations

2017-10-04 Thread Guillermo Polito
I'd even call them First class pragmas from that point of view :P I wonder what are the side-effects of instantiating the annotation yourself in a method. specialAnnotationExample ^MySpecialAnnotation new I mean, I understand we can use the class state to initialize the annotation. But

Re: [Pharo-dev] Iceberg - loading baseline

2017-10-04 Thread Jan Blizničenko
I think I got it. The correct code for me is SystemSettingsPersistence updateSettingNodes. Metacello new baseline: 'NameOfMyProject'; repository: 'gitlocal:///C:/Users/User/Pharo/repo/nameofmyproject/filetree'; load. First line loads my stored settings that look like this for Iceberg: