About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
73 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Re: Tirade!

Göran Krampe
On 04/24/2012 10:04 AM, Sven Van Caekenberghe wrote:

>
> On 24 Apr 2012, at 08:58, Göran Krampe wrote:
>
>> And yet again I point to Tirade :)
>>
>> http://goran.krampe.se/blog/Squeak/Tirade.rdoc
>> http://goran.krampe.se/blog/Squeak/Tirade2.rdoc
>> http://goran.krampe.se/blog/Squeak/Tirade3.rdoc
>>
>> Especially Tirade2 above shows a bit about size (4 classes, 500 loc) speed and portability. Tirade is basically a parser for Smalltalk messages that only are allowed to use literals as arguments (although arbitrarily nested literals).
>>
>> Which is exactly what Stef describes + a bit more. :)
>
> Yeah, I remember reading that a long time ago. It is indeed a cool idea, Göran. Reminds me of the Erlang related UBF (http://www.sics.se/~joe/ubf/site/home.html).
>
> I think the JSON choise is not bad: it is simple and universally accepted.
>
> Sven

Yeah, personally I am not upset over JSON - but if one would really want
something more Smalltalkish - then Tirade is exactly that IMHO.

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]

philippeback
In reply to this post by Francisco Garau-2
These discussions just sound like what I see happening at clients places all the time... Unless someone keeps the thing straight, this is just burning cash and time and getting nowhere.

Diplomacy and software do not work together. The computer doesn't care.

What works is software and marketing. That's different.

Phil

2012/4/24 Francisco Garau <[hidden email]>
Hi Stef - you know I like you and appreciate how much you are doing for Pharo and the Smalltalk community. 

But when I read comments like this... I think you are shooting yourself in the foot! 

The last sentence is the one I am talking about: you cannot say decision is "stupid". I think you are showing your emotions there... and funny that you previously said the JSON vs Literal discussion had been emotional. 

You are our benevolent dictator. 

Please, be a little bit more diplomatic in your emails! 

- Francisco 

On 24 April 2012 06:25, Stéphane Ducasse <[hidden email]> wrote:
Igor
I completely agree and I propose to write a literal array platform independent parser
but I gave up because this is discussion was emotional like
let us JSON to attract people to Smalltalk wonderful idea.

I think that it is stupid to use another syntax for storing meta-data.

Stef

 



--
Philippe Back
"Helping you hit the top 3 outcomes you really want to achieve"

Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail: [hidden email] | Web: http://philippeback.eu | Blog:

High Octane SPRL
rue cour Boisacq 101
1301 Bierges

Reply | Threaded
Open this post in threaded view
|

Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]

Stéphane Ducasse
In reply to this post by Francisco Garau-2
Francisco

Sorry but you do not know. Read the mails I sent in the past in the metacello mailing-list.
We use literal arrays to represent Moose models since years and it works well.

So my mail is not emotional. I already mentioned facts in the metacello mailing-list.

Stef


On Apr 24, 2012, at 9:45 AM, Francisco Garau wrote:

> Hi Stef - you know I like you and appreciate how much you are doing for Pharo and the Smalltalk community.
>
> But when I read comments like this... I think you are shooting yourself in the foot!
>
> The last sentence is the one I am talking about: you cannot say decision is "stupid". I think you are showing your emotions there... and funny that you previously said the JSON vs Literal discussion had been emotional.
>
> You are our benevolent dictator.
>
> Please, be a little bit more diplomatic in your emails!
>
> - Francisco
>
> On 24 April 2012 06:25, Stéphane Ducasse <[hidden email]> wrote:
> Igor
> I completely agree and I propose to write a literal array platform independent parser
> but I gave up because this is discussion was emotional like
> let us JSON to attract people to Smalltalk wonderful idea.
>
> I think that it is stupid to use another syntax for storing meta-data.
>
> Stef
>
>  


Reply | Threaded
Open this post in threaded view
|

Re: Tirade! (was: Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk])

Stéphane Ducasse
In reply to this post by Sven Van Caekenberghe
>> And yet again I point to Tirade :)
>>
>> http://goran.krampe.se/blog/Squeak/Tirade.rdoc
>> http://goran.krampe.se/blog/Squeak/Tirade2.rdoc
>> http://goran.krampe.se/blog/Squeak/Tirade3.rdoc
>>
>> Especially Tirade2 above shows a bit about size (4 classes, 500 loc) speed and portability. Tirade is basically a parser for Smalltalk messages that only are allowed to use literals as arguments (although arbitrarily nested literals).
>>
>> Which is exactly what Stef describes + a bit more. :)
>
> Yeah, I remember reading that a long time ago. It is indeed a cool idea, Göran. Reminds me of the Erlang related UBF (http://www.sics.se/~joe/ubf/site/home.html).
>
> I think the JSON choise is not bad: it is simple and universally accepted.

But you can express **EXACTLY** the same with
        #(
               
               
                )

So what is the point?

Stef
Reply | Threaded
Open this post in threaded view
|

Re: Tirade! (was: Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk])

Tobias Pape
>
> But you can express **EXACTLY** the same with
> #(
>
>
> )
>
> So what is the point?

You can do stuff with it outside an image?

Best
        -Tobias

Reply | Threaded
Open this post in threaded view
|

Re: Tirade! (was: Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk])

NorbertHartl
In reply to this post by Stéphane Ducasse

Am 24.04.2012 um 11:10 schrieb Stéphane Ducasse:

>>> And yet again I point to Tirade :)
>>>
>>> http://goran.krampe.se/blog/Squeak/Tirade.rdoc
>>> http://goran.krampe.se/blog/Squeak/Tirade2.rdoc
>>> http://goran.krampe.se/blog/Squeak/Tirade3.rdoc
>>>
>>> Especially Tirade2 above shows a bit about size (4 classes, 500 loc) speed and portability. Tirade is basically a parser for Smalltalk messages that only are allowed to use literals as arguments (although arbitrarily nested literals).
>>>
>>> Which is exactly what Stef describes + a bit more. :)
>>
>> Yeah, I remember reading that a long time ago. It is indeed a cool idea, Göran. Reminds me of the Erlang related UBF (http://www.sics.se/~joe/ubf/site/home.html).
>>
>> I think the JSON choise is not bad: it is simple and universally accepted.
>
> But you can express **EXACTLY** the same with
> #(
>
>
> )
>
> So what is the point?
>
The two points are still the same, Stef. The lesser important point was the absence of a cross platform parser for that format. Here I understand Dale. He spawns of project after project that depend on each other. I think he is not willing to yet postpone this project only to create such a parser when there is a usable alternativ. Others might create it and convince him afterwards which isn't very difficult if I take my experience until now. That would be the easier part.
The harder part is security. The security standpoints always divide between white lists and black lists. Meaning a white list forbids everything and allows things on a white list. Or vice versa you allow everything and put things you don't like on a black list. Having a Smalltalk format means I have two options: "Read and parse it" or "Read and evaluate it". As far as I understand Dale he sees a big problem if people just evaluate configurations which contain bogus code. It is just so easy to introduce code that borkes your system.
While I really can understand the security concerns I personally think that having two options is better. The standard tools should just take parse route.

Norbert



Reply | Threaded
Open this post in threaded view
|

Re: Tirade! (was: Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk])

Sven Van Caekenberghe
In reply to this post by Stéphane Ducasse

On 24 Apr 2012, at 11:10, Stéphane Ducasse wrote:

>>> And yet again I point to Tirade :)
>>>
>>> http://goran.krampe.se/blog/Squeak/Tirade.rdoc
>>> http://goran.krampe.se/blog/Squeak/Tirade2.rdoc
>>> http://goran.krampe.se/blog/Squeak/Tirade3.rdoc
>>>
>>> Especially Tirade2 above shows a bit about size (4 classes, 500 loc) speed and portability. Tirade is basically a parser for Smalltalk messages that only are allowed to use literals as arguments (although arbitrarily nested literals).
>>>
>>> Which is exactly what Stef describes + a bit more. :)
>>
>> Yeah, I remember reading that a long time ago. It is indeed a cool idea, Göran. Reminds me of the Erlang related UBF (http://www.sics.se/~joe/ubf/site/home.html).
>>
>> I think the JSON choise is not bad: it is simple and universally accepted.
>
> But you can express **EXACTLY** the same with
> #(
>
>
> )
>
> So what is the point?
>
> Stef

Yes, you are right, they are technically mostly equivalent. (JSON has simpler primitive types, clear escapes, lists/arrays and maps/dictionaries).

But the point is, there are so many formats out there, and everybody likes to make there own.

If you pick JSON, the discussion ends. It is an RFC standard.
If you pick something that looks suspiciously like some (for most people) weird programming language you will get discussions, always.

Dale said so: it is a pragmatic choice.

Now, given the fact that the domain here is Smalltalk anyway, there is something to say for using a Smalltalk based representation.

But then you need to write a clear spec and a non-compiler based parser.

With the JSON meta data, you could envision other non-Smalltalk tools using it more easily.

Sven

--
Sven Van Caekenberghe
http://stfx.eu
Smalltalk is the Red Pill


Reply | Threaded
Open this post in threaded view
|

Re: Tirade! (was: Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk])

Stéphane Ducasse
In reply to this post by Tobias Pape

>> But you can express **EXACTLY** the same with
>> #(
>>
>>
>> )
>>
>> So what is the point?
>
> You can do stuff with it outside an image?

Why not?
I have problem to get all the meta-data of our system getting stored in
a foreign language. This means that I will also have to have this parser
while we have one that is working.

In that case why not saving Smalltalk methods in Javascript syntax.
Because this is basically what is happening with the class definition.


Stef



Reply | Threaded
Open this post in threaded view
|

Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]

Dale Henrichs
In reply to this post by Stéphane Ducasse
Stef,

... JSON is and was a pragmatic choice... GemStone produces methods from source via a primitive call... it is what it is ... JSON is and was a pragmatic choice...

Dale

----- Original Message -----
| From: "Stéphane Ducasse" <[hidden email]>
| To: [hidden email]
| Sent: Monday, April 23, 2012 10:28:00 PM
| Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]
|
|
| On Apr 24, 2012, at 2:32 AM, Dale Henrichs wrote:
|
| > Igor,
| >
| > GemStone's Smalltalk parser/compiler is implemented in C …
|
| This puzzled me a lot:
| so you cannot invoke it from Smalltalk?
|
| Then how do you compile code in Gemstome? Via the command line?
|
| As I said if this is only that we can write a parser for literal
| array.
| But yo should not say that you need a literal array syntax that
| support dictionaries
| because syntax and semantics are two different things.
| (x 33)
| (z 24)
| can be binding for dictionary.
|
| Stef
|
|
| > I told you that JSON is and was a pragmatic choice ...
| >
| > The seaside JSON parser is 27 methods and runs without change in
| > GemStone ... this is all covered in the other two threads, so
| > maybe you should spend some time reading up on the issues that
| > have already been hashed over twice so far... Oh wait, now there
| > are now three threads that are covering the "why JSON" question:)
| >
| > Dale
| >
| > ----- Original Message -----
| > | From: "Igor Stasenko" <[hidden email]>
| > | To: [hidden email]
| > | Sent: Monday, April 23, 2012 5:21:57 PM
| > | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN] Styled
| > | Text Editor for Cuis 4.0 Smalltalk]
| > |
| > | On 24 April 2012 03:17, Dale Henrichs <[hidden email]>
| > | wrote:
| > | > Igor,
| > | >
| > | > A lot of your questions/assertions were addressed in the two
| > | > existing threads ...
| > | >
| > | > Smalltalk parsers are not available in all Smalltalk dialects,
| > | > so
| > | > again, JSON is and was a pragmatic choice, pure and simple.
| > | >
| > | what? how is that? smalltalk which cannot parse smalltalk? but
| > | can
| > | parse JSON? ;)
| > |
| > | > The entire disk-based package structure has a number of warts
| > | > of
| > | > varying sizes and qualities, but the one thing that is true is
| > | > that we have 5 Smalltalk dialects (with more coming) sharing
| > | > the
| > | > same package structure and the same version control system ...
| > | > something that has never been true before and _that_ is the
| > | > most
| > | > important thing right now...
| > | >
| > | that's out of the question
| > |
| > | > Dale
| > | >
| > | > ----- Original Message -----
| > | > | From: "Igor Stasenko" <[hidden email]>
| > | > | To: [hidden email]
| > | > | Sent: Monday, April 23, 2012 4:07:04 PM
| > | > | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN]
| > | > | Styled
| > | > | Text Editor for Cuis 4.0 Smalltalk]
| > | > |
| > | > | On 24 April 2012 01:54, Dale Henrichs <[hidden email]>
| > | > | wrote:
| > | > | > Igor,
| > | > | >
| > | > | > The short answer is:
| > | > | >
| > | > | >  We could have used literal arrays, but it would have taken
| > | > | >  more
| > | > | >  work up
| > | > | >  front than using the existing (portable) Seaside JSON
| > | > | >  parser.
| > | > | >
| > | > | umm.. what more work? Use if existing Smalltalk parser is
| > | > | more
| > | > | work?
| > | > |
| > | > | IMO, binding to JSON format and introducing dependency is
| > | > | more
| > | > | like a
| > | > | problem to me..
| > | > |
| > | > | but anyways, since i late on party.. i don't wanna put sticks
| > | > | into
| > | > | already rotating wheel..
| > | > |
| > | > | you made a decision, if it works for you, fine.
| > | > |
| > | > | P.S. I dealt with JSON when playing with SCouchDB project.. i
| > | > | wouldn't
| > | > | say that i adore this format.
| > | > | but it ok.. yeah.. everyone using it. Still s-expressions is
| > | > | IMO
| > | > | far
| > | > | more elegant.
| > | > |
| > | > |
| > | > | >  At this point we have working implementations in 5
| > | > | >  different
| > | > | >  Smalltalk dialects
| > | > | >  written to use JSON for properties files.
| > | > | >
| > | > | >  Cypress is designed to be flexible. FileTree the original
| > | > | >  Cypress
| > | > | >  implementation
| > | > | >  reads 3 different disk-based package. We're going to stick
| > | > | >  with
| > | > | >  the current
| > | > | >  implementation for the foreseeable future while we expend
| > | > | >  our
| > | > | >  effort on
| > | > | >  problems for which we don't have ready-made solutions.
| > | > | >
| > | > | > Hannes has the correct link for the latter discussion, but
| > | > | > the
| > | > | > original discussion took place at the beginning of Feb[1].
| > | > | >
| > | > | > Dale
| > | > | >
| > | > | > [1]
| > | > | > http://forum.world.st/feedback-on-using-JSON-to-specify-baselines-for-git-repository-td4356301.html
| > | > | >
| > | > | >
| > | > | > ----- Original Message -----
| > | > | > | From: "Igor Stasenko" <[hidden email]>
| > | > | > | To: [hidden email]
| > | > | > | Sent: Monday, April 23, 2012 2:34:54 PM
| > | > | > | Subject: [Pharo-project] About Cypress [Was: Re: [ANN]
| > | > | > | Styled
| > | > | > | Text Editor for Cuis 4.0 Smalltalk]
| > | > | > |
| > | > | > | Hi, Dale
| > | > | > |
| > | > | > | it is great to see an effort in such direction.
| > | > | > | I just wonder what .js files doing there?
| > | > | > |
| > | > | > | According to what i see, it is just a meta data which
| > | > | > | holding
| > | > | > | additional properties per entity..
| > | > | > |
| > | > | > | {
| > | > | > | "category" : "Cypress-Tests",
| > | > | > | "classinstvars" : [
| > | > | > | ],
| > | > | > | "classtraitcomposition" : "{}",
| > | > | > | "classvars" : [
| > | > | > | ],
| > | > | > | "commentStamp" : "",
| > | > | > | "instvars" : [
| > | > | > | ],
| > | > | > | "name" : "CypressPatchTest",
| > | > | > | "pools" : [
| > | > | > | ],
| > | > | > | "super" : "CypressAbstractTest",
| > | > | > | "traitcomposition" : "{}",
| > | > | > | "type" : "normal" }
| > | > | > |
| > | > | > | why you cannot use a regular smalltalk literal syntax for
| > | > | > | this
| > | > | > | data?
| > | > | > | What/why there is need to store this data in json format?
| > | > | > |
| > | > | > | On 23 April 2012 23:57, Dale Henrichs
| > | > | > | <[hidden email]>
| > | > | > | wrote:
| > | > | > | > Bernhard,
| > | > | > | >
| > | > | > | > With regards to sharing code between dialects, I'd like
| > | > | > | > to
| > | > | > | > recommend that you look into porting Cypress to Cuis
| > | > | > | > (I'm
| > | > | > | > willing
| > | > | > | > to help as much as I can).
| > | > | > | >
| > | > | > | > The Cypress project is aimed from the get go to enable
| > | > | > | > sharing
| > | > | > | > of
| > | > | > | > packages between Smalltalk dialects with a recognition
| > | > | > | > that
| > | > | > | > possibly the most important aspect is a shared VCS
| > | > | > | > (git/github).
| > | > | > | >
| > | > | > | > If you look at the current code base in Cypress, you
| > | > | > | > will
| > | > | > | > see a
| > | > | > | > reference implementation written against Pharo. The
| > | > | > | > reference
| > | > | > | > implementation is a work in progress and the initial
| > | > | > | > implementation was done for Amber[2].
| > | > | > | >
| > | > | > | > Cypress has Monticello-like packages, but other than
| > | > | > | > taking
| > | > | > | > a
| > | > | > | > few
| > | > | > | > ideas from Monticello (definitions, packages and
| > | > | > | > snapshots
| > | > | > | > ...
| > | > | > | > more than a few:)) the code base is independent of
| > | > | > | > Monticello.
| > | > | > | > The
| > | > | > | > fact that Cypress runs on top of Amber (sans file
| > | > | > | > system
| > | > | > | > access)
| > | > | > | > speaks volumes for it's portability.
| > | > | > | >
| > | > | > | > To paraphrase a point from my STIC talk[3] on this
| > | > | > | > subject:
| > | > | > | >
| > | > | > | >  Cypress is not intended to be the primary version
| > | > | > | >  control
| > | > | > | >  system for any dialect, however, if you want to share
| > | > | > | >  code
| > | > | > | >  between dialects you should allow your developers to
| > | > | > | >  import
| > | > | > | >  and export code using the Cypress package format.
| > | > | > | >
| > | > | > | > If you are interested, there are bits and pieces of
| > | > | > | > code in
| > | > | > | > a
| > | > | > | > few
| > | > | > | > other projects that I would want to pull into the
| > | > | > | > Cypress
| > | > | > | > project
| > | > | > | > and couple other things that I'd like to move out of
| > | > | > | > the
| > | > | > | > Cypress
| > | > | > | > project before tackling another port ...
| > | > | > | >
| > | > | > | > We can correspond via private email if you'd like to
| > | > | > | > take
| > | > | > | > me up
| > | > | > | > on
| > | > | > | > the offer of help:)
| > | > | > | >
| > | > | > | > Dale
| > | > | > | >
| > | > | > | > [1] https://github.com/CampSmalltalk/Cypress
| > | > | > | > [2] https://github.com/CampSmalltalk/amber-cypress
| > | > | > | > [3]
| > | > | > | > http://portal.sliderocket.com/vmware/STIC-2012-Practical-Git-for-Smalltalk
| > | > | > | >
| > | > | > | > ----- Original Message -----
| > | > | > | > | From: "Bernhard Pieber" <[hidden email]>
| > | > | > | > | To: [hidden email]
| > | > | > | > | Sent: Monday, April 23, 2012 9:53:35 AM
| > | > | > | > | Subject: Re: [Pharo-project] [ANN] Styled Text Editor
| > | > | > | > | for
| > | > | > | > | Cuis
| > | > | > | > | 4.0 Smalltalk
| > | > | > | > |
| > | > | > | > | Hi Göran,
| > | > | > | > |
| > | > | > | > | Thanks for your question! I have posted the
| > | > | > | > | announcement
| > | > | > | > | of
| > | > | > | > | the
| > | > | > | > | Styled Text Editor to the Pharo list as well because
| > | > | > | > | I
| > | > | > | > | still
| > | > | > | > | have
| > | > | > | > | not given up on the idea to port it to Squeak and
| > | > | > | > | Pharo.
| > | > | > | > | It
| > | > | > | > | is
| > | > | > | > | not
| > | > | > | > | straightforward but I consider it possible.
| > | > | > | > |
| > | > | > | > | Currently the Styled Text Editor is an external
| > | > | > | > | package
| > | > | > | > | which
| > | > | > | > | is
| > | > | > | > | loaded on top of Cuis 4.0. The API it uses is quite
| > | > | > | > | specific
| > | > | > | > | to
| > | > | > | > | Cuis
| > | > | > | > | so to port it alone is probably too much effort. What
| > | > | > | > | I
| > | > | > | > | think
| > | > | > | > | can
| > | > | > | > | be
| > | > | > | > | done is the following:
| > | > | > | > | Split Cuis into three parts,
| > | > | > | > | a) the parts which are not needed for Styled Text
| > | > | > | > | Editor,
| > | > | > | > | like
| > | > | > | > | the
| > | > | > | > | Cuis tools
| > | > | > | > | b) the parts of Cuis Morphic the Styled Text Editor
| > | > | > | > | depends
| > | > | > | > | on –
| > | > | > | > | this
| > | > | > | > | is in my opinion the most valuable part of Cuis
| > | > | > | > | because
| > | > | > | > | Juan
| > | > | > | > | spent
| > | > | > | > | years cleaning it
| > | > | > | > | c) the Smalltalk kernel below
| > | > | > | > |
| > | > | > | > | The idea is to port only part b) and the Styled Text
| > | > | > | > | Editor.
| > | > | > | > | And
| > | > | > | > | it
| > | > | > | > | has to be done automatically by a tool which creates
| > | > | > | > | packages
| > | > | > | > | for
| > | > | > | > | Squeak and Pharo, always from the latest code base.
| > | > | > | > | In
| > | > | > | > | addition
| > | > | > | > | you
| > | > | > | > | will probably need small Cuis portability packages
| > | > | > | > | done
| > | > | > | > | manually,
| > | > | > | > | one for Squeak and one for Pharo.
| > | > | > | > |
| > | > | > | > | Being able to always load the latest code base of
| > | > | > | > | Styled
| > | > | > | > | Text
| > | > | > | > | Editor
| > | > | > | > | and Cuis Morphic as an external package in Pharo is a
| > | > | > | > | prerequisite
| > | > | > | > | to look into possibilities of sharing more of the
| > | > | > | > | code.
| > | > | > | > |
| > | > | > | > | I plan to write a more detailed proposal and then to
| > | > | > | > | approach
| > | > | > | > | ESUG
| > | > | > | > | and ask for support for the funding. Any ideas for
| > | > | > | > | other
| > | > | > | > | sources
| > | > | > | > | of
| > | > | > | > | funding are highly welcome and could speed things up
| > | > | > | > | considerably,
| > | > | > | > | of course! ;-)
| > | > | > | > |
| > | > | > | > | I for one have not given up on the idea that it might
| > | > | > | > | be
| > | > | > | > | possible
| > | > | > | > | to
| > | > | > | > | develop substantial components as you called it –
| > | > | > | > | thank
| > | > | > | > | you
| > | > | > | > | for
| > | > | > | > | that
| > | > | > | > | as well – in a more Squeak-dialect-independent way.
| > | > | > | > | ;-)
| > | > | > | > |
| > | > | > | > | Finally, I would like to take the opportunity and
| > | > | > | > | kindly
| > | > | > | > | ask
| > | > | > | > | everyone
| > | > | > | > | who has not done so yet: Please check out Cuis 4.0
| > | > | > | > | and
| > | > | > | > | the
| > | > | > | > | Styled
| > | > | > | > | Text Editor and give us feedback, even if it does not
| > | > | > | > | (yet)
| > | > | > | > | run
| > | > | > | > | on
| > | > | > | > | your favourite Squeak dialect! Thank you!
| > | > | > | > |
| > | > | > | > | Peace,
| > | > | > | > | Bernhard
| > | > | > | > |
| > | > | > | > | P.S. Thanks to Göran and Janko for trying to
| > | > | > | > | establish
| > | > | > | > | different
| > | > | > | > | threads for the rather off-topic discussions that my
| > | > | > | > | announcement
| > | > | > | > | posting has caused.
| > | > | > | > |
| > | > | > | > | Am 23.04.2012 um 16:04 schrieb Göran Krampe:
| > | > | > | > | > Hi!
| > | > | > | > | >
| > | > | > | > | > On 04/23/2012 03:40 PM, Stéphane Ducasse wrote:
| > | > | > | > | >>> Just cloning it off into Pharo and forking
| > | > | > | > | >>> seems...
| > | > | > | > | >>> less
| > | > | > | > | >>> optimal.
| > | > | > | > | >>> Any ideas or thoughts?
| > | > | > | > | >>
| > | > | > | > | >> I do not get what you mean. I just want to work on
| > | > | > | > | >> our
| > | > | > | > | >> roadmap
| > | > | > | > | >> and
| > | > | > | > | >> make it getting real.
| > | > | > | > | >> It is hard enough to get some momentum and to
| > | > | > | > | >> deliver
| > | > | > | > | >> for
| > | > | > | > | >> real.
| > | > | > | > | >> So can you help us to get focused?
| > | > | > | > | >> People can do what they want. I wrote a vision
| > | > | > | > | >> document.
| > | > | > | > | >> We
| > | > | > | > | >> have a
| > | > | > | > | >> roadmap
| > | > | > | > | >> and we will do it.
| > | > | > | > | >
| > | > | > | > | > Ok, let me clarify. I was just wondering how the
| > | > | > | > | > Pharo
| > | > | > | > | > community
| > | > | > | > | > wants to handle a case where a substantial
| > | > | > | > | > component
| > | > | > | > | > (in
| > | > | > | > | > this
| > | > | > | > | > case, this new editor) is not *primarily* developed
| > | > | > | > | > in
| > | > | > | > | > Pharo
| > | > | > | > | > (in
| > | > | > | > | > this case Cuis).
| > | > | > | > | >
| > | > | > | > | > The simple route is to just copy and fork. But IMHO
| > | > | > | > | > this
| > | > | > | > | > doesn't
| > | > | > | > | > leverage the team already around this editor,
| > | > | > | > | > right? We
| > | > | > | > | > (Pharo)
| > | > | > | > | > can't just go around and forking everything and
| > | > | > | > | > maintaining
| > | > | > | > | > everything for ourselves, right?
| > | > | > | > | >
| > | > | > | > | > I just got interested in that problem - now, later
| > | > | > | > | > replies
| > | > | > | > | > indicated that it would still need a substantial
| > | > | > | > | > rewrite
| > | > | > | > | > for
| > | > | > | > | > Pharo, so perhaps the situation I am describing is
| > | > | > | > | > not
| > | > | > | > | > really
| > | > | > | > | > applicable in this case.
| > | > | > | > | >
| > | > | > | > | > regards, Göran
| > | > | > | > | >
| > | > | > | > |
| > | > | > | > |
| > | > | > | > |
| > | > | > | >
| > | > | > |
| > | > | > |
| > | > | > |
| > | > | > | --
| > | > | > | Best regards,
| > | > | > | Igor Stasenko.
| > | > | > |
| > | > | > |
| > | > | >
| > | > |
| > | > |
| > | > |
| > | > | --
| > | > | Best regards,
| > | > | Igor Stasenko.
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| > | --
| > | Best regards,
| > | Igor Stasenko.
| > |
| > |
| >
|
|
|

Reply | Threaded
Open this post in threaded view
|

Re: Tirade!

Göran Krampe
In reply to this post by Sven Van Caekenberghe
On 04/24/2012 11:25 AM, Sven Van Caekenberghe wrote:
> But then you need to write a clear spec and a non-compiler based parser.

Ok, perhaps you all understood this from my links etc, but Tirade *is* a
non-compiler based parser. It *is* safe. It only allows literals. It is
*much* faster than the Compiler. It is very small, code is simple and it
is trivial to port to ANY Smalltalk.

Now, for the other arguments - I agree, JSON is "good enough" for many
things and universally accepted in almost all camps these days. Just
don't want people to reinvent Tirade :)

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]

Stéphane Ducasse
In reply to this post by Dale Henrichs

On Apr 24, 2012, at 11:30 AM, Dale Henrichs wrote:

> Stef,
>
> ... JSON is and was a pragmatic choice... GemStone produces methods from source via a primitive call... it is what it is ... JSON is and was a pragmatic choice…

so you cannot put the array in a file and call the parser (even if this is a primitive)?
I'm confused.


>
> Dale
>
> ----- Original Message -----
> | From: "Stéphane Ducasse" <[hidden email]>
> | To: [hidden email]
> | Sent: Monday, April 23, 2012 10:28:00 PM
> | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]
> |
> |
> | On Apr 24, 2012, at 2:32 AM, Dale Henrichs wrote:
> |
> | > Igor,
> | >
> | > GemStone's Smalltalk parser/compiler is implemented in C …
> |
> | This puzzled me a lot:
> | so you cannot invoke it from Smalltalk?
> |
> | Then how do you compile code in Gemstome? Via the command line?
> |
> | As I said if this is only that we can write a parser for literal
> | array.
> | But yo should not say that you need a literal array syntax that
> | support dictionaries
> | because syntax and semantics are two different things.
> | (x 33)
> | (z 24)
> | can be binding for dictionary.
> |
> | Stef
> |
> |
> | > I told you that JSON is and was a pragmatic choice ...
> | >
> | > The seaside JSON parser is 27 methods and runs without change in
> | > GemStone ... this is all covered in the other two threads, so
> | > maybe you should spend some time reading up on the issues that
> | > have already been hashed over twice so far... Oh wait, now there
> | > are now three threads that are covering the "why JSON" question:)
> | >
> | > Dale
> | >
> | > ----- Original Message -----
> | > | From: "Igor Stasenko" <[hidden email]>
> | > | To: [hidden email]
> | > | Sent: Monday, April 23, 2012 5:21:57 PM
> | > | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN] Styled
> | > | Text Editor for Cuis 4.0 Smalltalk]
> | > |
> | > | On 24 April 2012 03:17, Dale Henrichs <[hidden email]>
> | > | wrote:
> | > | > Igor,
> | > | >
> | > | > A lot of your questions/assertions were addressed in the two
> | > | > existing threads ...
> | > | >
> | > | > Smalltalk parsers are not available in all Smalltalk dialects,
> | > | > so
> | > | > again, JSON is and was a pragmatic choice, pure and simple.
> | > | >
> | > | what? how is that? smalltalk which cannot parse smalltalk? but
> | > | can
> | > | parse JSON? ;)
> | > |
> | > | > The entire disk-based package structure has a number of warts
> | > | > of
> | > | > varying sizes and qualities, but the one thing that is true is
> | > | > that we have 5 Smalltalk dialects (with more coming) sharing
> | > | > the
> | > | > same package structure and the same version control system ...
> | > | > something that has never been true before and _that_ is the
> | > | > most
> | > | > important thing right now...
> | > | >
> | > | that's out of the question
> | > |
> | > | > Dale
> | > | >
> | > | > ----- Original Message -----
> | > | > | From: "Igor Stasenko" <[hidden email]>
> | > | > | To: [hidden email]
> | > | > | Sent: Monday, April 23, 2012 4:07:04 PM
> | > | > | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN]
> | > | > | Styled
> | > | > | Text Editor for Cuis 4.0 Smalltalk]
> | > | > |
> | > | > | On 24 April 2012 01:54, Dale Henrichs <[hidden email]>
> | > | > | wrote:
> | > | > | > Igor,
> | > | > | >
> | > | > | > The short answer is:
> | > | > | >
> | > | > | >  We could have used literal arrays, but it would have taken
> | > | > | >  more
> | > | > | >  work up
> | > | > | >  front than using the existing (portable) Seaside JSON
> | > | > | >  parser.
> | > | > | >
> | > | > | umm.. what more work? Use if existing Smalltalk parser is
> | > | > | more
> | > | > | work?
> | > | > |
> | > | > | IMO, binding to JSON format and introducing dependency is
> | > | > | more
> | > | > | like a
> | > | > | problem to me..
> | > | > |
> | > | > | but anyways, since i late on party.. i don't wanna put sticks
> | > | > | into
> | > | > | already rotating wheel..
> | > | > |
> | > | > | you made a decision, if it works for you, fine.
> | > | > |
> | > | > | P.S. I dealt with JSON when playing with SCouchDB project.. i
> | > | > | wouldn't
> | > | > | say that i adore this format.
> | > | > | but it ok.. yeah.. everyone using it. Still s-expressions is
> | > | > | IMO
> | > | > | far
> | > | > | more elegant.
> | > | > |
> | > | > |
> | > | > | >  At this point we have working implementations in 5
> | > | > | >  different
> | > | > | >  Smalltalk dialects
> | > | > | >  written to use JSON for properties files.
> | > | > | >
> | > | > | >  Cypress is designed to be flexible. FileTree the original
> | > | > | >  Cypress
> | > | > | >  implementation
> | > | > | >  reads 3 different disk-based package. We're going to stick
> | > | > | >  with
> | > | > | >  the current
> | > | > | >  implementation for the foreseeable future while we expend
> | > | > | >  our
> | > | > | >  effort on
> | > | > | >  problems for which we don't have ready-made solutions.
> | > | > | >
> | > | > | > Hannes has the correct link for the latter discussion, but
> | > | > | > the
> | > | > | > original discussion took place at the beginning of Feb[1].
> | > | > | >
> | > | > | > Dale
> | > | > | >
> | > | > | > [1]
> | > | > | > http://forum.world.st/feedback-on-using-JSON-to-specify-baselines-for-git-repository-td4356301.html
> | > | > | >
> | > | > | >
> | > | > | > ----- Original Message -----
> | > | > | > | From: "Igor Stasenko" <[hidden email]>
> | > | > | > | To: [hidden email]
> | > | > | > | Sent: Monday, April 23, 2012 2:34:54 PM
> | > | > | > | Subject: [Pharo-project] About Cypress [Was: Re: [ANN]
> | > | > | > | Styled
> | > | > | > | Text Editor for Cuis 4.0 Smalltalk]
> | > | > | > |
> | > | > | > | Hi, Dale
> | > | > | > |
> | > | > | > | it is great to see an effort in such direction.
> | > | > | > | I just wonder what .js files doing there?
> | > | > | > |
> | > | > | > | According to what i see, it is just a meta data which
> | > | > | > | holding
> | > | > | > | additional properties per entity..
> | > | > | > |
> | > | > | > | {
> | > | > | > | "category" : "Cypress-Tests",
> | > | > | > | "classinstvars" : [
> | > | > | > | ],
> | > | > | > | "classtraitcomposition" : "{}",
> | > | > | > | "classvars" : [
> | > | > | > | ],
> | > | > | > | "commentStamp" : "",
> | > | > | > | "instvars" : [
> | > | > | > | ],
> | > | > | > | "name" : "CypressPatchTest",
> | > | > | > | "pools" : [
> | > | > | > | ],
> | > | > | > | "super" : "CypressAbstractTest",
> | > | > | > | "traitcomposition" : "{}",
> | > | > | > | "type" : "normal" }
> | > | > | > |
> | > | > | > | why you cannot use a regular smalltalk literal syntax for
> | > | > | > | this
> | > | > | > | data?
> | > | > | > | What/why there is need to store this data in json format?
> | > | > | > |
> | > | > | > | On 23 April 2012 23:57, Dale Henrichs
> | > | > | > | <[hidden email]>
> | > | > | > | wrote:
> | > | > | > | > Bernhard,
> | > | > | > | >
> | > | > | > | > With regards to sharing code between dialects, I'd like
> | > | > | > | > to
> | > | > | > | > recommend that you look into porting Cypress to Cuis
> | > | > | > | > (I'm
> | > | > | > | > willing
> | > | > | > | > to help as much as I can).
> | > | > | > | >
> | > | > | > | > The Cypress project is aimed from the get go to enable
> | > | > | > | > sharing
> | > | > | > | > of
> | > | > | > | > packages between Smalltalk dialects with a recognition
> | > | > | > | > that
> | > | > | > | > possibly the most important aspect is a shared VCS
> | > | > | > | > (git/github).
> | > | > | > | >
> | > | > | > | > If you look at the current code base in Cypress, you
> | > | > | > | > will
> | > | > | > | > see a
> | > | > | > | > reference implementation written against Pharo. The
> | > | > | > | > reference
> | > | > | > | > implementation is a work in progress and the initial
> | > | > | > | > implementation was done for Amber[2].
> | > | > | > | >
> | > | > | > | > Cypress has Monticello-like packages, but other than
> | > | > | > | > taking
> | > | > | > | > a
> | > | > | > | > few
> | > | > | > | > ideas from Monticello (definitions, packages and
> | > | > | > | > snapshots
> | > | > | > | > ...
> | > | > | > | > more than a few:)) the code base is independent of
> | > | > | > | > Monticello.
> | > | > | > | > The
> | > | > | > | > fact that Cypress runs on top of Amber (sans file
> | > | > | > | > system
> | > | > | > | > access)
> | > | > | > | > speaks volumes for it's portability.
> | > | > | > | >
> | > | > | > | > To paraphrase a point from my STIC talk[3] on this
> | > | > | > | > subject:
> | > | > | > | >
> | > | > | > | >  Cypress is not intended to be the primary version
> | > | > | > | >  control
> | > | > | > | >  system for any dialect, however, if you want to share
> | > | > | > | >  code
> | > | > | > | >  between dialects you should allow your developers to
> | > | > | > | >  import
> | > | > | > | >  and export code using the Cypress package format.
> | > | > | > | >
> | > | > | > | > If you are interested, there are bits and pieces of
> | > | > | > | > code in
> | > | > | > | > a
> | > | > | > | > few
> | > | > | > | > other projects that I would want to pull into the
> | > | > | > | > Cypress
> | > | > | > | > project
> | > | > | > | > and couple other things that I'd like to move out of
> | > | > | > | > the
> | > | > | > | > Cypress
> | > | > | > | > project before tackling another port ...
> | > | > | > | >
> | > | > | > | > We can correspond via private email if you'd like to
> | > | > | > | > take
> | > | > | > | > me up
> | > | > | > | > on
> | > | > | > | > the offer of help:)
> | > | > | > | >
> | > | > | > | > Dale
> | > | > | > | >
> | > | > | > | > [1] https://github.com/CampSmalltalk/Cypress
> | > | > | > | > [2] https://github.com/CampSmalltalk/amber-cypress
> | > | > | > | > [3]
> | > | > | > | > http://portal.sliderocket.com/vmware/STIC-2012-Practical-Git-for-Smalltalk
> | > | > | > | >
> | > | > | > | > ----- Original Message -----
> | > | > | > | > | From: "Bernhard Pieber" <[hidden email]>
> | > | > | > | > | To: [hidden email]
> | > | > | > | > | Sent: Monday, April 23, 2012 9:53:35 AM
> | > | > | > | > | Subject: Re: [Pharo-project] [ANN] Styled Text Editor
> | > | > | > | > | for
> | > | > | > | > | Cuis
> | > | > | > | > | 4.0 Smalltalk
> | > | > | > | > |
> | > | > | > | > | Hi Göran,
> | > | > | > | > |
> | > | > | > | > | Thanks for your question! I have posted the
> | > | > | > | > | announcement
> | > | > | > | > | of
> | > | > | > | > | the
> | > | > | > | > | Styled Text Editor to the Pharo list as well because
> | > | > | > | > | I
> | > | > | > | > | still
> | > | > | > | > | have
> | > | > | > | > | not given up on the idea to port it to Squeak and
> | > | > | > | > | Pharo.
> | > | > | > | > | It
> | > | > | > | > | is
> | > | > | > | > | not
> | > | > | > | > | straightforward but I consider it possible.
> | > | > | > | > |
> | > | > | > | > | Currently the Styled Text Editor is an external
> | > | > | > | > | package
> | > | > | > | > | which
> | > | > | > | > | is
> | > | > | > | > | loaded on top of Cuis 4.0. The API it uses is quite
> | > | > | > | > | specific
> | > | > | > | > | to
> | > | > | > | > | Cuis
> | > | > | > | > | so to port it alone is probably too much effort. What
> | > | > | > | > | I
> | > | > | > | > | think
> | > | > | > | > | can
> | > | > | > | > | be
> | > | > | > | > | done is the following:
> | > | > | > | > | Split Cuis into three parts,
> | > | > | > | > | a) the parts which are not needed for Styled Text
> | > | > | > | > | Editor,
> | > | > | > | > | like
> | > | > | > | > | the
> | > | > | > | > | Cuis tools
> | > | > | > | > | b) the parts of Cuis Morphic the Styled Text Editor
> | > | > | > | > | depends
> | > | > | > | > | on –
> | > | > | > | > | this
> | > | > | > | > | is in my opinion the most valuable part of Cuis
> | > | > | > | > | because
> | > | > | > | > | Juan
> | > | > | > | > | spent
> | > | > | > | > | years cleaning it
> | > | > | > | > | c) the Smalltalk kernel below
> | > | > | > | > |
> | > | > | > | > | The idea is to port only part b) and the Styled Text
> | > | > | > | > | Editor.
> | > | > | > | > | And
> | > | > | > | > | it
> | > | > | > | > | has to be done automatically by a tool which creates
> | > | > | > | > | packages
> | > | > | > | > | for
> | > | > | > | > | Squeak and Pharo, always from the latest code base.
> | > | > | > | > | In
> | > | > | > | > | addition
> | > | > | > | > | you
> | > | > | > | > | will probably need small Cuis portability packages
> | > | > | > | > | done
> | > | > | > | > | manually,
> | > | > | > | > | one for Squeak and one for Pharo.
> | > | > | > | > |
> | > | > | > | > | Being able to always load the latest code base of
> | > | > | > | > | Styled
> | > | > | > | > | Text
> | > | > | > | > | Editor
> | > | > | > | > | and Cuis Morphic as an external package in Pharo is a
> | > | > | > | > | prerequisite
> | > | > | > | > | to look into possibilities of sharing more of the
> | > | > | > | > | code.
> | > | > | > | > |
> | > | > | > | > | I plan to write a more detailed proposal and then to
> | > | > | > | > | approach
> | > | > | > | > | ESUG
> | > | > | > | > | and ask for support for the funding. Any ideas for
> | > | > | > | > | other
> | > | > | > | > | sources
> | > | > | > | > | of
> | > | > | > | > | funding are highly welcome and could speed things up
> | > | > | > | > | considerably,
> | > | > | > | > | of course! ;-)
> | > | > | > | > |
> | > | > | > | > | I for one have not given up on the idea that it might
> | > | > | > | > | be
> | > | > | > | > | possible
> | > | > | > | > | to
> | > | > | > | > | develop substantial components as you called it –
> | > | > | > | > | thank
> | > | > | > | > | you
> | > | > | > | > | for
> | > | > | > | > | that
> | > | > | > | > | as well – in a more Squeak-dialect-independent way.
> | > | > | > | > | ;-)
> | > | > | > | > |
> | > | > | > | > | Finally, I would like to take the opportunity and
> | > | > | > | > | kindly
> | > | > | > | > | ask
> | > | > | > | > | everyone
> | > | > | > | > | who has not done so yet: Please check out Cuis 4.0
> | > | > | > | > | and
> | > | > | > | > | the
> | > | > | > | > | Styled
> | > | > | > | > | Text Editor and give us feedback, even if it does not
> | > | > | > | > | (yet)
> | > | > | > | > | run
> | > | > | > | > | on
> | > | > | > | > | your favourite Squeak dialect! Thank you!
> | > | > | > | > |
> | > | > | > | > | Peace,
> | > | > | > | > | Bernhard
> | > | > | > | > |
> | > | > | > | > | P.S. Thanks to Göran and Janko for trying to
> | > | > | > | > | establish
> | > | > | > | > | different
> | > | > | > | > | threads for the rather off-topic discussions that my
> | > | > | > | > | announcement
> | > | > | > | > | posting has caused.
> | > | > | > | > |
> | > | > | > | > | Am 23.04.2012 um 16:04 schrieb Göran Krampe:
> | > | > | > | > | > Hi!
> | > | > | > | > | >
> | > | > | > | > | > On 04/23/2012 03:40 PM, Stéphane Ducasse wrote:
> | > | > | > | > | >>> Just cloning it off into Pharo and forking
> | > | > | > | > | >>> seems...
> | > | > | > | > | >>> less
> | > | > | > | > | >>> optimal.
> | > | > | > | > | >>> Any ideas or thoughts?
> | > | > | > | > | >>
> | > | > | > | > | >> I do not get what you mean. I just want to work on
> | > | > | > | > | >> our
> | > | > | > | > | >> roadmap
> | > | > | > | > | >> and
> | > | > | > | > | >> make it getting real.
> | > | > | > | > | >> It is hard enough to get some momentum and to
> | > | > | > | > | >> deliver
> | > | > | > | > | >> for
> | > | > | > | > | >> real.
> | > | > | > | > | >> So can you help us to get focused?
> | > | > | > | > | >> People can do what they want. I wrote a vision
> | > | > | > | > | >> document.
> | > | > | > | > | >> We
> | > | > | > | > | >> have a
> | > | > | > | > | >> roadmap
> | > | > | > | > | >> and we will do it.
> | > | > | > | > | >
> | > | > | > | > | > Ok, let me clarify. I was just wondering how the
> | > | > | > | > | > Pharo
> | > | > | > | > | > community
> | > | > | > | > | > wants to handle a case where a substantial
> | > | > | > | > | > component
> | > | > | > | > | > (in
> | > | > | > | > | > this
> | > | > | > | > | > case, this new editor) is not *primarily* developed
> | > | > | > | > | > in
> | > | > | > | > | > Pharo
> | > | > | > | > | > (in
> | > | > | > | > | > this case Cuis).
> | > | > | > | > | >
> | > | > | > | > | > The simple route is to just copy and fork. But IMHO
> | > | > | > | > | > this
> | > | > | > | > | > doesn't
> | > | > | > | > | > leverage the team already around this editor,
> | > | > | > | > | > right? We
> | > | > | > | > | > (Pharo)
> | > | > | > | > | > can't just go around and forking everything and
> | > | > | > | > | > maintaining
> | > | > | > | > | > everything for ourselves, right?
> | > | > | > | > | >
> | > | > | > | > | > I just got interested in that problem - now, later
> | > | > | > | > | > replies
> | > | > | > | > | > indicated that it would still need a substantial
> | > | > | > | > | > rewrite
> | > | > | > | > | > for
> | > | > | > | > | > Pharo, so perhaps the situation I am describing is
> | > | > | > | > | > not
> | > | > | > | > | > really
> | > | > | > | > | > applicable in this case.
> | > | > | > | > | >
> | > | > | > | > | > regards, Göran
> | > | > | > | > | >
> | > | > | > | > |
> | > | > | > | > |
> | > | > | > | > |
> | > | > | > | >
> | > | > | > |
> | > | > | > |
> | > | > | > |
> | > | > | > | --
> | > | > | > | Best regards,
> | > | > | > | Igor Stasenko.
> | > | > | > |
> | > | > | > |
> | > | > | >
> | > | > |
> | > | > |
> | > | > |
> | > | > | --
> | > | > | Best regards,
> | > | > | Igor Stasenko.
> | > | > |
> | > | > |
> | > | >
> | > |
> | > |
> | > |
> | > | --
> | > | Best regards,
> | > | Igor Stasenko.
> | > |
> | > |
> | >
> |
> |
> |
>


Reply | Threaded
Open this post in threaded view
|

Re: Tirade! (was: Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk])

Stéphane Ducasse
In reply to this post by NorbertHartl
>>
> The two points are still the same, Stef. The lesser important point was the absence of a cross platform parser for that format. Here I understand Dale. He spawns of project after project that depend on each other. I think he is not willing to yet postpone this project only to create such a parser when there is a usable alternativ. Others might create it and convince him afterwards which isn't very difficult if I take my experience until now. That would be the easier part.
> The harder part is security. The security standpoints always divide between white lists and black lists. Meaning a white list forbids everything and allows things on a white list. Or vice versa you allow everything and put things you don't like on a black list. Having a Smalltalk format means I have two options: "Read and parse it" or "Read and evaluate it". As far as I understand Dale he sees a big problem if people just evaluate configurations which contain bogus code. It is just so easy to introduce code that borkes your system.
> While I really can understand the security concerns I personally think that having two options is better. The standard tools should just take parse route.

I will develop a literal parser and this is solved.
No security hole no JSON. Easy.


Reply | Threaded
Open this post in threaded view
|

Re: Tirade! (was: Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk])

Stéphane Ducasse
In reply to this post by Sven Van Caekenberghe
>
> Yes, you are right, they are technically mostly equivalent. (JSON has simpler primitive types, clear escapes, lists/arrays and maps/dictionaries).
>
> But the point is, there are so many formats out there, and everybody likes to make there own.
>
> If you pick JSON, the discussion ends. It is an RFC standard.
> If you pick something that looks suspiciously like some (for most people) weird programming language you will get discussions, always.
>
> Dale said so: it is a pragmatic choice.
>
> Now, given the fact that the domain here is Smalltalk anyway, there is something to say for using a Smalltalk based representation.
>
> But then you need to write a clear spec and a non-compiler based parser.

Let us do it.

> With the JSON meta data, you could envision other non-Smalltalk tools using it more easily.

Do you want to build our tools in Javascript or other languages?
Because we are talking about class definition and smalltalk meta data itself.



Reply | Threaded
Open this post in threaded view
|

Re: Tirade!

Stéphane Ducasse
In reply to this post by Göran Krampe
Where is the code?
Do you have tests?
Can we extract a parser for literal array?

Stef


> On 04/24/2012 11:25 AM, Sven Van Caekenberghe wrote:
>> But then you need to write a clear spec and a non-compiler based parser.
>
> Ok, perhaps you all understood this from my links etc, but Tirade *is* a non-compiler based parser. It *is* safe. It only allows literals. It is *much* faster than the Compiler. It is very small, code is simple and it is trivial to port to ANY Smalltalk.
>
> Now, for the other arguments - I agree, JSON is "good enough" for many things and universally accepted in almost all camps these days. Just don't want people to reinvent Tirade :)
>
> regards, Göran
>


Reply | Threaded
Open this post in threaded view
|

Re: Tirade!

Göran Krampe
On 04/24/2012 11:46 AM, Stéphane Ducasse wrote:
> Where is the code?

On SS. But it seems... down? Project is called "Tirade".

> Do you have tests?

Yes, IIRC I do. Perhaps not as many as one would like. Did you check my
articles I posted links to?

> Can we extract a parser for literal array?

Yes, should be trivial.

> Stef

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: Tirade!

Göran Krampe
On 04/24/2012 11:51 AM, Göran Krampe wrote:
> On 04/24/2012 11:46 AM, Stéphane Ducasse wrote:
>> Where is the code?
>
> On SS. But it seems... down? Project is called "Tirade".

http://www.squeaksource.com/Tirade.html

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]

Dale Henrichs
In reply to this post by Stéphane Ducasse
Stef,

There is no Parser class and there is no Compiler class. There is a primitive call that takes method source, class, methodDictionary, etc. and produces a method installed in the methodDictionary.

... JSON is and was a pragmatic choice...
 
Dale

----- Original Message -----
| From: "Stéphane Ducasse" <[hidden email]>
| To: [hidden email]
| Sent: Tuesday, April 24, 2012 2:41:24 AM
| Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]
|
|
| On Apr 24, 2012, at 11:30 AM, Dale Henrichs wrote:
|
| > Stef,
| >
| > ... JSON is and was a pragmatic choice... GemStone produces methods
| > from source via a primitive call... it is what it is ... JSON is
| > and was a pragmatic choice…
|
| so you cannot put the array in a file and call the parser (even if
| this is a primitive)?
| I'm confused.
|
|
| >
| > Dale
| >
| > ----- Original Message -----
| > | From: "Stéphane Ducasse" <[hidden email]>
| > | To: [hidden email]
| > | Sent: Monday, April 23, 2012 10:28:00 PM
| > | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN] Styled
| > | Text Editor for Cuis 4.0 Smalltalk]
| > |
| > |
| > | On Apr 24, 2012, at 2:32 AM, Dale Henrichs wrote:
| > |
| > | > Igor,
| > | >
| > | > GemStone's Smalltalk parser/compiler is implemented in C …
| > |
| > | This puzzled me a lot:
| > | so you cannot invoke it from Smalltalk?
| > |
| > | Then how do you compile code in Gemstome? Via the command line?
| > |
| > | As I said if this is only that we can write a parser for literal
| > | array.
| > | But yo should not say that you need a literal array syntax that
| > | support dictionaries
| > | because syntax and semantics are two different things.
| > | (x 33)
| > | (z 24)
| > | can be binding for dictionary.
| > |
| > | Stef
| > |
| > |
| > | > I told you that JSON is and was a pragmatic choice ...
| > | >
| > | > The seaside JSON parser is 27 methods and runs without change
| > | > in
| > | > GemStone ... this is all covered in the other two threads, so
| > | > maybe you should spend some time reading up on the issues that
| > | > have already been hashed over twice so far... Oh wait, now
| > | > there
| > | > are now three threads that are covering the "why JSON"
| > | > question:)
| > | >
| > | > Dale
| > | >
| > | > ----- Original Message -----
| > | > | From: "Igor Stasenko" <[hidden email]>
| > | > | To: [hidden email]
| > | > | Sent: Monday, April 23, 2012 5:21:57 PM
| > | > | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN]
| > | > | Styled
| > | > | Text Editor for Cuis 4.0 Smalltalk]
| > | > |
| > | > | On 24 April 2012 03:17, Dale Henrichs <[hidden email]>
| > | > | wrote:
| > | > | > Igor,
| > | > | >
| > | > | > A lot of your questions/assertions were addressed in the
| > | > | > two
| > | > | > existing threads ...
| > | > | >
| > | > | > Smalltalk parsers are not available in all Smalltalk
| > | > | > dialects,
| > | > | > so
| > | > | > again, JSON is and was a pragmatic choice, pure and simple.
| > | > | >
| > | > | what? how is that? smalltalk which cannot parse smalltalk?
| > | > | but
| > | > | can
| > | > | parse JSON? ;)
| > | > |
| > | > | > The entire disk-based package structure has a number of
| > | > | > warts
| > | > | > of
| > | > | > varying sizes and qualities, but the one thing that is true
| > | > | > is
| > | > | > that we have 5 Smalltalk dialects (with more coming)
| > | > | > sharing
| > | > | > the
| > | > | > same package structure and the same version control system
| > | > | > ...
| > | > | > something that has never been true before and _that_ is the
| > | > | > most
| > | > | > important thing right now...
| > | > | >
| > | > | that's out of the question
| > | > |
| > | > | > Dale
| > | > | >
| > | > | > ----- Original Message -----
| > | > | > | From: "Igor Stasenko" <[hidden email]>
| > | > | > | To: [hidden email]
| > | > | > | Sent: Monday, April 23, 2012 4:07:04 PM
| > | > | > | Subject: Re: [Pharo-project] About Cypress [Was: Re:
| > | > | > | [ANN]
| > | > | > | Styled
| > | > | > | Text Editor for Cuis 4.0 Smalltalk]
| > | > | > |
| > | > | > | On 24 April 2012 01:54, Dale Henrichs
| > | > | > | <[hidden email]>
| > | > | > | wrote:
| > | > | > | > Igor,
| > | > | > | >
| > | > | > | > The short answer is:
| > | > | > | >
| > | > | > | >  We could have used literal arrays, but it would have
| > | > | > | >  taken
| > | > | > | >  more
| > | > | > | >  work up
| > | > | > | >  front than using the existing (portable) Seaside JSON
| > | > | > | >  parser.
| > | > | > | >
| > | > | > | umm.. what more work? Use if existing Smalltalk parser is
| > | > | > | more
| > | > | > | work?
| > | > | > |
| > | > | > | IMO, binding to JSON format and introducing dependency is
| > | > | > | more
| > | > | > | like a
| > | > | > | problem to me..
| > | > | > |
| > | > | > | but anyways, since i late on party.. i don't wanna put
| > | > | > | sticks
| > | > | > | into
| > | > | > | already rotating wheel..
| > | > | > |
| > | > | > | you made a decision, if it works for you, fine.
| > | > | > |
| > | > | > | P.S. I dealt with JSON when playing with SCouchDB
| > | > | > | project.. i
| > | > | > | wouldn't
| > | > | > | say that i adore this format.
| > | > | > | but it ok.. yeah.. everyone using it. Still s-expressions
| > | > | > | is
| > | > | > | IMO
| > | > | > | far
| > | > | > | more elegant.
| > | > | > |
| > | > | > |
| > | > | > | >  At this point we have working implementations in 5
| > | > | > | >  different
| > | > | > | >  Smalltalk dialects
| > | > | > | >  written to use JSON for properties files.
| > | > | > | >
| > | > | > | >  Cypress is designed to be flexible. FileTree the
| > | > | > | >  original
| > | > | > | >  Cypress
| > | > | > | >  implementation
| > | > | > | >  reads 3 different disk-based package. We're going to
| > | > | > | >  stick
| > | > | > | >  with
| > | > | > | >  the current
| > | > | > | >  implementation for the foreseeable future while we
| > | > | > | >  expend
| > | > | > | >  our
| > | > | > | >  effort on
| > | > | > | >  problems for which we don't have ready-made solutions.
| > | > | > | >
| > | > | > | > Hannes has the correct link for the latter discussion,
| > | > | > | > but
| > | > | > | > the
| > | > | > | > original discussion took place at the beginning of
| > | > | > | > Feb[1].
| > | > | > | >
| > | > | > | > Dale
| > | > | > | >
| > | > | > | > [1]
| > | > | > | > http://forum.world.st/feedback-on-using-JSON-to-specify-baselines-for-git-repository-td4356301.html
| > | > | > | >
| > | > | > | >
| > | > | > | > ----- Original Message -----
| > | > | > | > | From: "Igor Stasenko" <[hidden email]>
| > | > | > | > | To: [hidden email]
| > | > | > | > | Sent: Monday, April 23, 2012 2:34:54 PM
| > | > | > | > | Subject: [Pharo-project] About Cypress [Was: Re:
| > | > | > | > | [ANN]
| > | > | > | > | Styled
| > | > | > | > | Text Editor for Cuis 4.0 Smalltalk]
| > | > | > | > |
| > | > | > | > | Hi, Dale
| > | > | > | > |
| > | > | > | > | it is great to see an effort in such direction.
| > | > | > | > | I just wonder what .js files doing there?
| > | > | > | > |
| > | > | > | > | According to what i see, it is just a meta data which
| > | > | > | > | holding
| > | > | > | > | additional properties per entity..
| > | > | > | > |
| > | > | > | > | {
| > | > | > | > | "category" : "Cypress-Tests",
| > | > | > | > | "classinstvars" : [
| > | > | > | > | ],
| > | > | > | > | "classtraitcomposition" : "{}",
| > | > | > | > | "classvars" : [
| > | > | > | > | ],
| > | > | > | > | "commentStamp" : "",
| > | > | > | > | "instvars" : [
| > | > | > | > | ],
| > | > | > | > | "name" : "CypressPatchTest",
| > | > | > | > | "pools" : [
| > | > | > | > | ],
| > | > | > | > | "super" : "CypressAbstractTest",
| > | > | > | > | "traitcomposition" : "{}",
| > | > | > | > | "type" : "normal" }
| > | > | > | > |
| > | > | > | > | why you cannot use a regular smalltalk literal syntax
| > | > | > | > | for
| > | > | > | > | this
| > | > | > | > | data?
| > | > | > | > | What/why there is need to store this data in json
| > | > | > | > | format?
| > | > | > | > |
| > | > | > | > | On 23 April 2012 23:57, Dale Henrichs
| > | > | > | > | <[hidden email]>
| > | > | > | > | wrote:
| > | > | > | > | > Bernhard,
| > | > | > | > | >
| > | > | > | > | > With regards to sharing code between dialects, I'd
| > | > | > | > | > like
| > | > | > | > | > to
| > | > | > | > | > recommend that you look into porting Cypress to
| > | > | > | > | > Cuis
| > | > | > | > | > (I'm
| > | > | > | > | > willing
| > | > | > | > | > to help as much as I can).
| > | > | > | > | >
| > | > | > | > | > The Cypress project is aimed from the get go to
| > | > | > | > | > enable
| > | > | > | > | > sharing
| > | > | > | > | > of
| > | > | > | > | > packages between Smalltalk dialects with a
| > | > | > | > | > recognition
| > | > | > | > | > that
| > | > | > | > | > possibly the most important aspect is a shared VCS
| > | > | > | > | > (git/github).
| > | > | > | > | >
| > | > | > | > | > If you look at the current code base in Cypress,
| > | > | > | > | > you
| > | > | > | > | > will
| > | > | > | > | > see a
| > | > | > | > | > reference implementation written against Pharo. The
| > | > | > | > | > reference
| > | > | > | > | > implementation is a work in progress and the
| > | > | > | > | > initial
| > | > | > | > | > implementation was done for Amber[2].
| > | > | > | > | >
| > | > | > | > | > Cypress has Monticello-like packages, but other
| > | > | > | > | > than
| > | > | > | > | > taking
| > | > | > | > | > a
| > | > | > | > | > few
| > | > | > | > | > ideas from Monticello (definitions, packages and
| > | > | > | > | > snapshots
| > | > | > | > | > ...
| > | > | > | > | > more than a few:)) the code base is independent of
| > | > | > | > | > Monticello.
| > | > | > | > | > The
| > | > | > | > | > fact that Cypress runs on top of Amber (sans file
| > | > | > | > | > system
| > | > | > | > | > access)
| > | > | > | > | > speaks volumes for it's portability.
| > | > | > | > | >
| > | > | > | > | > To paraphrase a point from my STIC talk[3] on this
| > | > | > | > | > subject:
| > | > | > | > | >
| > | > | > | > | >  Cypress is not intended to be the primary version
| > | > | > | > | >  control
| > | > | > | > | >  system for any dialect, however, if you want to
| > | > | > | > | >  share
| > | > | > | > | >  code
| > | > | > | > | >  between dialects you should allow your developers
| > | > | > | > | >  to
| > | > | > | > | >  import
| > | > | > | > | >  and export code using the Cypress package format.
| > | > | > | > | >
| > | > | > | > | > If you are interested, there are bits and pieces of
| > | > | > | > | > code in
| > | > | > | > | > a
| > | > | > | > | > few
| > | > | > | > | > other projects that I would want to pull into the
| > | > | > | > | > Cypress
| > | > | > | > | > project
| > | > | > | > | > and couple other things that I'd like to move out
| > | > | > | > | > of
| > | > | > | > | > the
| > | > | > | > | > Cypress
| > | > | > | > | > project before tackling another port ...
| > | > | > | > | >
| > | > | > | > | > We can correspond via private email if you'd like
| > | > | > | > | > to
| > | > | > | > | > take
| > | > | > | > | > me up
| > | > | > | > | > on
| > | > | > | > | > the offer of help:)
| > | > | > | > | >
| > | > | > | > | > Dale
| > | > | > | > | >
| > | > | > | > | > [1] https://github.com/CampSmalltalk/Cypress
| > | > | > | > | > [2] https://github.com/CampSmalltalk/amber-cypress
| > | > | > | > | > [3]
| > | > | > | > | > http://portal.sliderocket.com/vmware/STIC-2012-Practical-Git-for-Smalltalk
| > | > | > | > | >
| > | > | > | > | > ----- Original Message -----
| > | > | > | > | > | From: "Bernhard Pieber" <[hidden email]>
| > | > | > | > | > | To: [hidden email]
| > | > | > | > | > | Sent: Monday, April 23, 2012 9:53:35 AM
| > | > | > | > | > | Subject: Re: [Pharo-project] [ANN] Styled Text
| > | > | > | > | > | Editor
| > | > | > | > | > | for
| > | > | > | > | > | Cuis
| > | > | > | > | > | 4.0 Smalltalk
| > | > | > | > | > |
| > | > | > | > | > | Hi Göran,
| > | > | > | > | > |
| > | > | > | > | > | Thanks for your question! I have posted the
| > | > | > | > | > | announcement
| > | > | > | > | > | of
| > | > | > | > | > | the
| > | > | > | > | > | Styled Text Editor to the Pharo list as well
| > | > | > | > | > | because
| > | > | > | > | > | I
| > | > | > | > | > | still
| > | > | > | > | > | have
| > | > | > | > | > | not given up on the idea to port it to Squeak and
| > | > | > | > | > | Pharo.
| > | > | > | > | > | It
| > | > | > | > | > | is
| > | > | > | > | > | not
| > | > | > | > | > | straightforward but I consider it possible.
| > | > | > | > | > |
| > | > | > | > | > | Currently the Styled Text Editor is an external
| > | > | > | > | > | package
| > | > | > | > | > | which
| > | > | > | > | > | is
| > | > | > | > | > | loaded on top of Cuis 4.0. The API it uses is
| > | > | > | > | > | quite
| > | > | > | > | > | specific
| > | > | > | > | > | to
| > | > | > | > | > | Cuis
| > | > | > | > | > | so to port it alone is probably too much effort.
| > | > | > | > | > | What
| > | > | > | > | > | I
| > | > | > | > | > | think
| > | > | > | > | > | can
| > | > | > | > | > | be
| > | > | > | > | > | done is the following:
| > | > | > | > | > | Split Cuis into three parts,
| > | > | > | > | > | a) the parts which are not needed for Styled Text
| > | > | > | > | > | Editor,
| > | > | > | > | > | like
| > | > | > | > | > | the
| > | > | > | > | > | Cuis tools
| > | > | > | > | > | b) the parts of Cuis Morphic the Styled Text
| > | > | > | > | > | Editor
| > | > | > | > | > | depends
| > | > | > | > | > | on –
| > | > | > | > | > | this
| > | > | > | > | > | is in my opinion the most valuable part of Cuis
| > | > | > | > | > | because
| > | > | > | > | > | Juan
| > | > | > | > | > | spent
| > | > | > | > | > | years cleaning it
| > | > | > | > | > | c) the Smalltalk kernel below
| > | > | > | > | > |
| > | > | > | > | > | The idea is to port only part b) and the Styled
| > | > | > | > | > | Text
| > | > | > | > | > | Editor.
| > | > | > | > | > | And
| > | > | > | > | > | it
| > | > | > | > | > | has to be done automatically by a tool which
| > | > | > | > | > | creates
| > | > | > | > | > | packages
| > | > | > | > | > | for
| > | > | > | > | > | Squeak and Pharo, always from the latest code
| > | > | > | > | > | base.
| > | > | > | > | > | In
| > | > | > | > | > | addition
| > | > | > | > | > | you
| > | > | > | > | > | will probably need small Cuis portability
| > | > | > | > | > | packages
| > | > | > | > | > | done
| > | > | > | > | > | manually,
| > | > | > | > | > | one for Squeak and one for Pharo.
| > | > | > | > | > |
| > | > | > | > | > | Being able to always load the latest code base of
| > | > | > | > | > | Styled
| > | > | > | > | > | Text
| > | > | > | > | > | Editor
| > | > | > | > | > | and Cuis Morphic as an external package in Pharo
| > | > | > | > | > | is a
| > | > | > | > | > | prerequisite
| > | > | > | > | > | to look into possibilities of sharing more of the
| > | > | > | > | > | code.
| > | > | > | > | > |
| > | > | > | > | > | I plan to write a more detailed proposal and then
| > | > | > | > | > | to
| > | > | > | > | > | approach
| > | > | > | > | > | ESUG
| > | > | > | > | > | and ask for support for the funding. Any ideas
| > | > | > | > | > | for
| > | > | > | > | > | other
| > | > | > | > | > | sources
| > | > | > | > | > | of
| > | > | > | > | > | funding are highly welcome and could speed things
| > | > | > | > | > | up
| > | > | > | > | > | considerably,
| > | > | > | > | > | of course! ;-)
| > | > | > | > | > |
| > | > | > | > | > | I for one have not given up on the idea that it
| > | > | > | > | > | might
| > | > | > | > | > | be
| > | > | > | > | > | possible
| > | > | > | > | > | to
| > | > | > | > | > | develop substantial components as you called it –
| > | > | > | > | > | thank
| > | > | > | > | > | you
| > | > | > | > | > | for
| > | > | > | > | > | that
| > | > | > | > | > | as well – in a more Squeak-dialect-independent
| > | > | > | > | > | way.
| > | > | > | > | > | ;-)
| > | > | > | > | > |
| > | > | > | > | > | Finally, I would like to take the opportunity and
| > | > | > | > | > | kindly
| > | > | > | > | > | ask
| > | > | > | > | > | everyone
| > | > | > | > | > | who has not done so yet: Please check out Cuis
| > | > | > | > | > | 4.0
| > | > | > | > | > | and
| > | > | > | > | > | the
| > | > | > | > | > | Styled
| > | > | > | > | > | Text Editor and give us feedback, even if it does
| > | > | > | > | > | not
| > | > | > | > | > | (yet)
| > | > | > | > | > | run
| > | > | > | > | > | on
| > | > | > | > | > | your favourite Squeak dialect! Thank you!
| > | > | > | > | > |
| > | > | > | > | > | Peace,
| > | > | > | > | > | Bernhard
| > | > | > | > | > |
| > | > | > | > | > | P.S. Thanks to Göran and Janko for trying to
| > | > | > | > | > | establish
| > | > | > | > | > | different
| > | > | > | > | > | threads for the rather off-topic discussions that
| > | > | > | > | > | my
| > | > | > | > | > | announcement
| > | > | > | > | > | posting has caused.
| > | > | > | > | > |
| > | > | > | > | > | Am 23.04.2012 um 16:04 schrieb Göran Krampe:
| > | > | > | > | > | > Hi!
| > | > | > | > | > | >
| > | > | > | > | > | > On 04/23/2012 03:40 PM, Stéphane Ducasse wrote:
| > | > | > | > | > | >>> Just cloning it off into Pharo and forking
| > | > | > | > | > | >>> seems...
| > | > | > | > | > | >>> less
| > | > | > | > | > | >>> optimal.
| > | > | > | > | > | >>> Any ideas or thoughts?
| > | > | > | > | > | >>
| > | > | > | > | > | >> I do not get what you mean. I just want to
| > | > | > | > | > | >> work on
| > | > | > | > | > | >> our
| > | > | > | > | > | >> roadmap
| > | > | > | > | > | >> and
| > | > | > | > | > | >> make it getting real.
| > | > | > | > | > | >> It is hard enough to get some momentum and to
| > | > | > | > | > | >> deliver
| > | > | > | > | > | >> for
| > | > | > | > | > | >> real.
| > | > | > | > | > | >> So can you help us to get focused?
| > | > | > | > | > | >> People can do what they want. I wrote a vision
| > | > | > | > | > | >> document.
| > | > | > | > | > | >> We
| > | > | > | > | > | >> have a
| > | > | > | > | > | >> roadmap
| > | > | > | > | > | >> and we will do it.
| > | > | > | > | > | >
| > | > | > | > | > | > Ok, let me clarify. I was just wondering how
| > | > | > | > | > | > the
| > | > | > | > | > | > Pharo
| > | > | > | > | > | > community
| > | > | > | > | > | > wants to handle a case where a substantial
| > | > | > | > | > | > component
| > | > | > | > | > | > (in
| > | > | > | > | > | > this
| > | > | > | > | > | > case, this new editor) is not *primarily*
| > | > | > | > | > | > developed
| > | > | > | > | > | > in
| > | > | > | > | > | > Pharo
| > | > | > | > | > | > (in
| > | > | > | > | > | > this case Cuis).
| > | > | > | > | > | >
| > | > | > | > | > | > The simple route is to just copy and fork. But
| > | > | > | > | > | > IMHO
| > | > | > | > | > | > this
| > | > | > | > | > | > doesn't
| > | > | > | > | > | > leverage the team already around this editor,
| > | > | > | > | > | > right? We
| > | > | > | > | > | > (Pharo)
| > | > | > | > | > | > can't just go around and forking everything and
| > | > | > | > | > | > maintaining
| > | > | > | > | > | > everything for ourselves, right?
| > | > | > | > | > | >
| > | > | > | > | > | > I just got interested in that problem - now,
| > | > | > | > | > | > later
| > | > | > | > | > | > replies
| > | > | > | > | > | > indicated that it would still need a
| > | > | > | > | > | > substantial
| > | > | > | > | > | > rewrite
| > | > | > | > | > | > for
| > | > | > | > | > | > Pharo, so perhaps the situation I am describing
| > | > | > | > | > | > is
| > | > | > | > | > | > not
| > | > | > | > | > | > really
| > | > | > | > | > | > applicable in this case.
| > | > | > | > | > | >
| > | > | > | > | > | > regards, Göran
| > | > | > | > | > | >
| > | > | > | > | > |
| > | > | > | > | > |
| > | > | > | > | > |
| > | > | > | > | >
| > | > | > | > |
| > | > | > | > |
| > | > | > | > |
| > | > | > | > | --
| > | > | > | > | Best regards,
| > | > | > | > | Igor Stasenko.
| > | > | > | > |
| > | > | > | > |
| > | > | > | >
| > | > | > |
| > | > | > |
| > | > | > |
| > | > | > | --
| > | > | > | Best regards,
| > | > | > | Igor Stasenko.
| > | > | > |
| > | > | > |
| > | > | >
| > | > |
| > | > |
| > | > |
| > | > | --
| > | > | Best regards,
| > | > | Igor Stasenko.
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|

Reply | Threaded
Open this post in threaded view
|

Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]

Janko Mivšek
In reply to this post by Igor Stasenko
Hi Igor,

It is pretty clear that JSON is slowly replacing even XML elsewhere and
if I for instance have to chose between XML and JSON, I'd certainly
choose later. Our chunk format is, well, ours only. VW is using XML,
others are using anything else. Something as neutral and as simple as
JSON-based format can therefore become a bridge even between us.

JSON is now becoming defacto standard for any interoperability scenario
in cloud world, so IMO Dale did a right decision to choose it. We will
be much closer to other words with Smalltalk that way and even more by
using GitHub for code repository.

Best regards
Janko


Dne 24. 04. 2012 01:07, piše Igor Stasenko:

> On 24 April 2012 01:54, Dale Henrichs <[hidden email]> wrote:
>> Igor,
>>
>> The short answer is:
>>
>>  We could have used literal arrays, but it would have taken more work up
>>  front than using the existing (portable) Seaside JSON parser.
>>
> umm.. what more work? Use if existing Smalltalk parser is more work?
>
> IMO, binding to JSON format and introducing dependency is more like a
> problem to me..
>
> but anyways, since i late on party.. i don't wanna put sticks into
> already rotating wheel..
>
> you made a decision, if it works for you, fine.
>
> P.S. I dealt with JSON when playing with SCouchDB project.. i wouldn't
> say that i adore this format.
> but it ok.. yeah.. everyone using it. Still s-expressions is IMO far
> more elegant.
>
>
>>  At this point we have working implementations in 5 different Smalltalk dialects
>>  written to use JSON for properties files.
>>
>>  Cypress is designed to be flexible. FileTree the original Cypress implementation
>>  reads 3 different disk-based package. We're going to stick with the current
>>  implementation for the foreseeable future while we expend our effort on
>>  problems for which we don't have ready-made solutions.
>>
>> Hannes has the correct link for the latter discussion, but the original discussion took place at the beginning of Feb[1].
>>
>> Dale
>>
>> [1] http://forum.world.st/feedback-on-using-JSON-to-specify-baselines-for-git-repository-td4356301.html
>>
>>
>> ----- Original Message -----
>> | From: "Igor Stasenko" <[hidden email]>
>> | To: [hidden email]
>> | Sent: Monday, April 23, 2012 2:34:54 PM
>> | Subject: [Pharo-project] About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]
>> |
>> | Hi, Dale
>> |
>> | it is great to see an effort in such direction.
>> | I just wonder what .js files doing there?
>> |
>> | According to what i see, it is just a meta data which holding
>> | additional properties per entity..
>> |
>> | {
>> | "category" : "Cypress-Tests",
>> | "classinstvars" : [
>> | ],
>> | "classtraitcomposition" : "{}",
>> | "classvars" : [
>> | ],
>> | "commentStamp" : "",
>> | "instvars" : [
>> | ],
>> | "name" : "CypressPatchTest",
>> | "pools" : [
>> | ],
>> | "super" : "CypressAbstractTest",
>> | "traitcomposition" : "{}",
>> | "type" : "normal" }
>> |
>> | why you cannot use a regular smalltalk literal syntax for this data?
>> | What/why there is need to store this data in json format?
>> |
>> | On 23 April 2012 23:57, Dale Henrichs <[hidden email]> wrote:
>> | > Bernhard,
>> | >
>> | > With regards to sharing code between dialects, I'd like to
>> | > recommend that you look into porting Cypress to Cuis (I'm willing
>> | > to help as much as I can).
>> | >
>> | > The Cypress project is aimed from the get go to enable sharing of
>> | > packages between Smalltalk dialects with a recognition that
>> | > possibly the most important aspect is a shared VCS (git/github).
>> | >
>> | > If you look at the current code base in Cypress, you will see a
>> | > reference implementation written against Pharo. The reference
>> | > implementation is a work in progress and the initial
>> | > implementation was done for Amber[2].
>> | >
>> | > Cypress has Monticello-like packages, but other than taking a few
>> | > ideas from Monticello (definitions, packages and snapshots ...
>> | > more than a few:)) the code base is independent of Monticello. The
>> | > fact that Cypress runs on top of Amber (sans file system access)
>> | > speaks volumes for it's portability.
>> | >
>> | > To paraphrase a point from my STIC talk[3] on this subject:
>> | >
>> | >  Cypress is not intended to be the primary version control
>> | >  system for any dialect, however, if you want to share code
>> | >  between dialects you should allow your developers to import
>> | >  and export code using the Cypress package format.
>> | >
>> | > If you are interested, there are bits and pieces of code in a few
>> | > other projects that I would want to pull into the Cypress project
>> | > and couple other things that I'd like to move out of the Cypress
>> | > project before tackling another port ...
>> | >
>> | > We can correspond via private email if you'd like to take me up on
>> | > the offer of help:)
>> | >
>> | > Dale
>> | >
>> | > [1] https://github.com/CampSmalltalk/Cypress
>> | > [2] https://github.com/CampSmalltalk/amber-cypress
>> | > [3]
>> | > http://portal.sliderocket.com/vmware/STIC-2012-Practical-Git-for-Smalltalk
>> | >
>> | > ----- Original Message -----
>> | > | From: "Bernhard Pieber" <[hidden email]>
>> | > | To: [hidden email]
>> | > | Sent: Monday, April 23, 2012 9:53:35 AM
>> | > | Subject: Re: [Pharo-project] [ANN] Styled Text Editor for Cuis
>> | > | 4.0 Smalltalk
>> | > |
>> | > | Hi Göran,
>> | > |
>> | > | Thanks for your question! I have posted the announcement of the
>> | > | Styled Text Editor to the Pharo list as well because I still have
>> | > | not given up on the idea to port it to Squeak and Pharo. It is
>> | > | not
>> | > | straightforward but I consider it possible.
>> | > |
>> | > | Currently the Styled Text Editor is an external package which is
>> | > | loaded on top of Cuis 4.0. The API it uses is quite specific to
>> | > | Cuis
>> | > | so to port it alone is probably too much effort. What I think can
>> | > | be
>> | > | done is the following:
>> | > | Split Cuis into three parts,
>> | > | a) the parts which are not needed for Styled Text Editor, like
>> | > | the
>> | > | Cuis tools
>> | > | b) the parts of Cuis Morphic the Styled Text Editor depends on –
>> | > | this
>> | > | is in my opinion the most valuable part of Cuis because Juan
>> | > | spent
>> | > | years cleaning it
>> | > | c) the Smalltalk kernel below
>> | > |
>> | > | The idea is to port only part b) and the Styled Text Editor. And
>> | > | it
>> | > | has to be done automatically by a tool which creates packages for
>> | > | Squeak and Pharo, always from the latest code base. In addition
>> | > | you
>> | > | will probably need small Cuis portability packages done manually,
>> | > | one for Squeak and one for Pharo.
>> | > |
>> | > | Being able to always load the latest code base of Styled Text
>> | > | Editor
>> | > | and Cuis Morphic as an external package in Pharo is a
>> | > | prerequisite
>> | > | to look into possibilities of sharing more of the code.
>> | > |
>> | > | I plan to write a more detailed proposal and then to approach
>> | > | ESUG
>> | > | and ask for support for the funding. Any ideas for other sources
>> | > | of
>> | > | funding are highly welcome and could speed things up
>> | > | considerably,
>> | > | of course! ;-)
>> | > |
>> | > | I for one have not given up on the idea that it might be possible
>> | > | to
>> | > | develop substantial components as you called it – thank you for
>> | > | that
>> | > | as well – in a more Squeak-dialect-independent way. ;-)
>> | > |
>> | > | Finally, I would like to take the opportunity and kindly ask
>> | > | everyone
>> | > | who has not done so yet: Please check out Cuis 4.0 and the Styled
>> | > | Text Editor and give us feedback, even if it does not (yet) run
>> | > | on
>> | > | your favourite Squeak dialect! Thank you!
>> | > |
>> | > | Peace,
>> | > | Bernhard
>> | > |
>> | > | P.S. Thanks to Göran and Janko for trying to establish different
>> | > | threads for the rather off-topic discussions that my announcement
>> | > | posting has caused.
>> | > |
>> | > | Am 23.04.2012 um 16:04 schrieb Göran Krampe:
>> | > | > Hi!
>> | > | >
>> | > | > On 04/23/2012 03:40 PM, Stéphane Ducasse wrote:
>> | > | >>> Just cloning it off into Pharo and forking seems... less
>> | > | >>> optimal.
>> | > | >>> Any ideas or thoughts?
>> | > | >>
>> | > | >> I do not get what you mean. I just want to work on our roadmap
>> | > | >> and
>> | > | >> make it getting real.
>> | > | >> It is hard enough to get some momentum and to deliver for
>> | > | >> real.
>> | > | >> So can you help us to get focused?
>> | > | >> People can do what they want. I wrote a vision document. We
>> | > | >> have a
>> | > | >> roadmap
>> | > | >> and we will do it.
>> | > | >
>> | > | > Ok, let me clarify. I was just wondering how the Pharo
>> | > | > community
>> | > | > wants to handle a case where a substantial component (in this
>> | > | > case, this new editor) is not *primarily* developed in Pharo
>> | > | > (in
>> | > | > this case Cuis).
>> | > | >
>> | > | > The simple route is to just copy and fork. But IMHO this
>> | > | > doesn't
>> | > | > leverage the team already around this editor, right? We (Pharo)
>> | > | > can't just go around and forking everything and maintaining
>> | > | > everything for ourselves, right?
>> | > | >
>> | > | > I just got interested in that problem - now, later replies
>> | > | > indicated that it would still need a substantial rewrite for
>> | > | > Pharo, so perhaps the situation I am describing is not really
>> | > | > applicable in this case.
>> | > | >
>> | > | > regards, Göran
>> | > | >
>> | > |
>> | > |
>> | > |
>> | >
>> |
>> |
>> |
>> | --
>> | Best regards,
>> | Igor Stasenko.
>> |
>> |
>>
>
>
>

--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Re: Tirade!

Göran Krampe
In reply to this post by Göran Krampe
On 04/24/2012 11:52 AM, Göran Krampe wrote:
> On 04/24/2012 11:51 AM, Göran Krampe wrote:
>> On 04/24/2012 11:46 AM, Stéphane Ducasse wrote:
>>> Where is the code?
>>
>> On SS. But it seems... down? Project is called "Tirade".
>
> http://www.squeaksource.com/Tirade.html

Eh, oops. I just realized that TiradeParser uses dynamic arrays { } and
does not have current support for literal Arrays. Duh. Sorry about that,
but feel free to use the code anyways, adding #parseLiteralArray should
not be hard.

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: About Cypress [Was: Re: [ANN] Styled Text Editor for Cuis 4.0 Smalltalk]

Igor Stasenko
In reply to this post by Dale Henrichs
On 24 April 2012 11:54, Dale Henrichs <[hidden email]> wrote:
> Stef,
>
> There is no Parser class and there is no Compiler class. There is a primitive call that takes method source, class, methodDictionary, etc. and produces a method installed in the methodDictionary.
>
so you can take 1st literal from such method and you done. or you
cannot access method's literals?
it of course not as simple as parsing the source, but if you cannot
avoid compilation..

> ... JSON is and was a pragmatic choice...
>
well, i did not realized that GemStone have no own parser/compiler
written in smalltalk.

> Dale
>
> ----- Original Message -----
> | From: "Stéphane Ducasse" <[hidden email]>
> | To: [hidden email]
> | Sent: Tuesday, April 24, 2012 2:41:24 AM
> | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN] Styled     Text    Editor for Cuis 4.0 Smalltalk]
> |
> |
> | On Apr 24, 2012, at 11:30 AM, Dale Henrichs wrote:
> |
> | > Stef,
> | >
> | > ... JSON is and was a pragmatic choice... GemStone produces methods
> | > from source via a primitive call... it is what it is ... JSON is
> | > and was a pragmatic choice…
> |
> | so you cannot put the array in a file and call the parser (even if
> | this is a primitive)?
> | I'm confused.
> |
> |
> | >
> | > Dale
> | >
> | > ----- Original Message -----
> | > | From: "Stéphane Ducasse" <[hidden email]>
> | > | To: [hidden email]
> | > | Sent: Monday, April 23, 2012 10:28:00 PM
> | > | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN] Styled
> | > | Text      Editor for Cuis 4.0 Smalltalk]
> | > |
> | > |
> | > | On Apr 24, 2012, at 2:32 AM, Dale Henrichs wrote:
> | > |
> | > | > Igor,
> | > | >
> | > | > GemStone's Smalltalk parser/compiler is implemented in C …
> | > |
> | > | This puzzled me a lot:
> | > |   so you cannot invoke it from Smalltalk?
> | > |
> | > | Then how do you compile code in Gemstome? Via the command line?
> | > |
> | > | As I said if this is only that we can write a parser for literal
> | > | array.
> | > | But yo should not say that you need a literal array syntax that
> | > | support dictionaries
> | > | because syntax and semantics are two different things.
> | > |           (x 33)
> | > |           (z 24)
> | > | can be binding for dictionary.
> | > |
> | > | Stef
> | > |
> | > |
> | > | > I told you that JSON is and was a pragmatic choice ...
> | > | >
> | > | > The seaside JSON parser is 27 methods and runs without change
> | > | > in
> | > | > GemStone ... this is all covered in the other two threads, so
> | > | > maybe you should spend some time reading up on the issues that
> | > | > have already been hashed over twice so far... Oh wait, now
> | > | > there
> | > | > are now three threads that are covering the "why JSON"
> | > | > question:)
> | > | >
> | > | > Dale
> | > | >
> | > | > ----- Original Message -----
> | > | > | From: "Igor Stasenko" <[hidden email]>
> | > | > | To: [hidden email]
> | > | > | Sent: Monday, April 23, 2012 5:21:57 PM
> | > | > | Subject: Re: [Pharo-project] About Cypress [Was: Re: [ANN]
> | > | > | Styled
> | > | > | Text Editor for Cuis 4.0 Smalltalk]
> | > | > |
> | > | > | On 24 April 2012 03:17, Dale Henrichs <[hidden email]>
> | > | > | wrote:
> | > | > | > Igor,
> | > | > | >
> | > | > | > A lot of your questions/assertions were addressed in the
> | > | > | > two
> | > | > | > existing threads ...
> | > | > | >
> | > | > | > Smalltalk parsers are not available in all Smalltalk
> | > | > | > dialects,
> | > | > | > so
> | > | > | > again, JSON is and was a pragmatic choice, pure and simple.
> | > | > | >
> | > | > | what? how is that? smalltalk which cannot parse smalltalk?
> | > | > | but
> | > | > | can
> | > | > | parse JSON? ;)
> | > | > |
> | > | > | > The entire disk-based package structure has a number of
> | > | > | > warts
> | > | > | > of
> | > | > | > varying sizes and qualities, but the one thing that is true
> | > | > | > is
> | > | > | > that we have 5 Smalltalk dialects (with more coming)
> | > | > | > sharing
> | > | > | > the
> | > | > | > same package structure and the same version control system
> | > | > | > ...
> | > | > | > something that has never been true before and _that_ is the
> | > | > | > most
> | > | > | > important thing right now...
> | > | > | >
> | > | > | that's out of the question
> | > | > |
> | > | > | > Dale
> | > | > | >
> | > | > | > ----- Original Message -----
> | > | > | > | From: "Igor Stasenko" <[hidden email]>
> | > | > | > | To: [hidden email]
> | > | > | > | Sent: Monday, April 23, 2012 4:07:04 PM
> | > | > | > | Subject: Re: [Pharo-project] About Cypress [Was: Re:
> | > | > | > | [ANN]
> | > | > | > | Styled
> | > | > | > | Text Editor for Cuis 4.0 Smalltalk]
> | > | > | > |
> | > | > | > | On 24 April 2012 01:54, Dale Henrichs
> | > | > | > | <[hidden email]>
> | > | > | > | wrote:
> | > | > | > | > Igor,
> | > | > | > | >
> | > | > | > | > The short answer is:
> | > | > | > | >
> | > | > | > | >  We could have used literal arrays, but it would have
> | > | > | > | >  taken
> | > | > | > | >  more
> | > | > | > | >  work up
> | > | > | > | >  front than using the existing (portable) Seaside JSON
> | > | > | > | >  parser.
> | > | > | > | >
> | > | > | > | umm.. what more work? Use if existing Smalltalk parser is
> | > | > | > | more
> | > | > | > | work?
> | > | > | > |
> | > | > | > | IMO, binding to JSON format and introducing dependency is
> | > | > | > | more
> | > | > | > | like a
> | > | > | > | problem to me..
> | > | > | > |
> | > | > | > | but anyways, since i late on party.. i don't wanna put
> | > | > | > | sticks
> | > | > | > | into
> | > | > | > | already rotating wheel..
> | > | > | > |
> | > | > | > | you made a decision, if it works for you, fine.
> | > | > | > |
> | > | > | > | P.S. I dealt with JSON when playing with SCouchDB
> | > | > | > | project.. i
> | > | > | > | wouldn't
> | > | > | > | say that i adore this format.
> | > | > | > | but it ok.. yeah.. everyone using it. Still s-expressions
> | > | > | > | is
> | > | > | > | IMO
> | > | > | > | far
> | > | > | > | more elegant.
> | > | > | > |
> | > | > | > |
> | > | > | > | >  At this point we have working implementations in 5
> | > | > | > | >  different
> | > | > | > | >  Smalltalk dialects
> | > | > | > | >  written to use JSON for properties files.
> | > | > | > | >
> | > | > | > | >  Cypress is designed to be flexible. FileTree the
> | > | > | > | >  original
> | > | > | > | >  Cypress
> | > | > | > | >  implementation
> | > | > | > | >  reads 3 different disk-based package. We're going to
> | > | > | > | >  stick
> | > | > | > | >  with
> | > | > | > | >  the current
> | > | > | > | >  implementation for the foreseeable future while we
> | > | > | > | >  expend
> | > | > | > | >  our
> | > | > | > | >  effort on
> | > | > | > | >  problems for which we don't have ready-made solutions.
> | > | > | > | >
> | > | > | > | > Hannes has the correct link for the latter discussion,
> | > | > | > | > but
> | > | > | > | > the
> | > | > | > | > original discussion took place at the beginning of
> | > | > | > | > Feb[1].
> | > | > | > | >
> | > | > | > | > Dale
> | > | > | > | >
> | > | > | > | > [1]
> | > | > | > | > http://forum.world.st/feedback-on-using-JSON-to-specify-baselines-for-git-repository-td4356301.html
> | > | > | > | >
> | > | > | > | >
> | > | > | > | > ----- Original Message -----
> | > | > | > | > | From: "Igor Stasenko" <[hidden email]>
> | > | > | > | > | To: [hidden email]
> | > | > | > | > | Sent: Monday, April 23, 2012 2:34:54 PM
> | > | > | > | > | Subject: [Pharo-project] About Cypress [Was: Re:
> | > | > | > | > | [ANN]
> | > | > | > | > | Styled
> | > | > | > | > | Text Editor for Cuis 4.0 Smalltalk]
> | > | > | > | > |
> | > | > | > | > | Hi, Dale
> | > | > | > | > |
> | > | > | > | > | it is great to see an effort in such direction.
> | > | > | > | > | I just wonder what .js files doing there?
> | > | > | > | > |
> | > | > | > | > | According to what i see, it is just a meta data which
> | > | > | > | > | holding
> | > | > | > | > | additional properties per entity..
> | > | > | > | > |
> | > | > | > | > | {
> | > | > | > | > | "category" : "Cypress-Tests",
> | > | > | > | > | "classinstvars" : [
> | > | > | > | > | ],
> | > | > | > | > | "classtraitcomposition" : "{}",
> | > | > | > | > | "classvars" : [
> | > | > | > | > | ],
> | > | > | > | > | "commentStamp" : "",
> | > | > | > | > | "instvars" : [
> | > | > | > | > | ],
> | > | > | > | > | "name" : "CypressPatchTest",
> | > | > | > | > | "pools" : [
> | > | > | > | > | ],
> | > | > | > | > | "super" : "CypressAbstractTest",
> | > | > | > | > | "traitcomposition" : "{}",
> | > | > | > | > | "type" : "normal" }
> | > | > | > | > |
> | > | > | > | > | why you cannot use a regular smalltalk literal syntax
> | > | > | > | > | for
> | > | > | > | > | this
> | > | > | > | > | data?
> | > | > | > | > | What/why there is need to store this data in json
> | > | > | > | > | format?
> | > | > | > | > |
> | > | > | > | > | On 23 April 2012 23:57, Dale Henrichs
> | > | > | > | > | <[hidden email]>
> | > | > | > | > | wrote:
> | > | > | > | > | > Bernhard,
> | > | > | > | > | >
> | > | > | > | > | > With regards to sharing code between dialects, I'd
> | > | > | > | > | > like
> | > | > | > | > | > to
> | > | > | > | > | > recommend that you look into porting Cypress to
> | > | > | > | > | > Cuis
> | > | > | > | > | > (I'm
> | > | > | > | > | > willing
> | > | > | > | > | > to help as much as I can).
> | > | > | > | > | >
> | > | > | > | > | > The Cypress project is aimed from the get go to
> | > | > | > | > | > enable
> | > | > | > | > | > sharing
> | > | > | > | > | > of
> | > | > | > | > | > packages between Smalltalk dialects with a
> | > | > | > | > | > recognition
> | > | > | > | > | > that
> | > | > | > | > | > possibly the most important aspect is a shared VCS
> | > | > | > | > | > (git/github).
> | > | > | > | > | >
> | > | > | > | > | > If you look at the current code base in Cypress,
> | > | > | > | > | > you
> | > | > | > | > | > will
> | > | > | > | > | > see a
> | > | > | > | > | > reference implementation written against Pharo. The
> | > | > | > | > | > reference
> | > | > | > | > | > implementation is a work in progress and the
> | > | > | > | > | > initial
> | > | > | > | > | > implementation was done for Amber[2].
> | > | > | > | > | >
> | > | > | > | > | > Cypress has Monticello-like packages, but other
> | > | > | > | > | > than
> | > | > | > | > | > taking
> | > | > | > | > | > a
> | > | > | > | > | > few
> | > | > | > | > | > ideas from Monticello (definitions, packages and
> | > | > | > | > | > snapshots
> | > | > | > | > | > ...
> | > | > | > | > | > more than a few:)) the code base is independent of
> | > | > | > | > | > Monticello.
> | > | > | > | > | > The
> | > | > | > | > | > fact that Cypress runs on top of Amber (sans file
> | > | > | > | > | > system
> | > | > | > | > | > access)
> | > | > | > | > | > speaks volumes for it's portability.
> | > | > | > | > | >
> | > | > | > | > | > To paraphrase a point from my STIC talk[3] on this
> | > | > | > | > | > subject:
> | > | > | > | > | >
> | > | > | > | > | >  Cypress is not intended to be the primary version
> | > | > | > | > | >  control
> | > | > | > | > | >  system for any dialect, however, if you want to
> | > | > | > | > | >  share
> | > | > | > | > | >  code
> | > | > | > | > | >  between dialects you should allow your developers
> | > | > | > | > | >  to
> | > | > | > | > | >  import
> | > | > | > | > | >  and export code using the Cypress package format.
> | > | > | > | > | >
> | > | > | > | > | > If you are interested, there are bits and pieces of
> | > | > | > | > | > code in
> | > | > | > | > | > a
> | > | > | > | > | > few
> | > | > | > | > | > other projects that I would want to pull into the
> | > | > | > | > | > Cypress
> | > | > | > | > | > project
> | > | > | > | > | > and couple other things that I'd like to move out
> | > | > | > | > | > of
> | > | > | > | > | > the
> | > | > | > | > | > Cypress
> | > | > | > | > | > project before tackling another port ...
> | > | > | > | > | >
> | > | > | > | > | > We can correspond via private email if you'd like
> | > | > | > | > | > to
> | > | > | > | > | > take
> | > | > | > | > | > me up
> | > | > | > | > | > on
> | > | > | > | > | > the offer of help:)
> | > | > | > | > | >
> | > | > | > | > | > Dale
> | > | > | > | > | >
> | > | > | > | > | > [1] https://github.com/CampSmalltalk/Cypress
> | > | > | > | > | > [2] https://github.com/CampSmalltalk/amber-cypress
> | > | > | > | > | > [3]
> | > | > | > | > | > http://portal.sliderocket.com/vmware/STIC-2012-Practical-Git-for-Smalltalk
> | > | > | > | > | >
> | > | > | > | > | > ----- Original Message -----
> | > | > | > | > | > | From: "Bernhard Pieber" <[hidden email]>
> | > | > | > | > | > | To: [hidden email]
> | > | > | > | > | > | Sent: Monday, April 23, 2012 9:53:35 AM
> | > | > | > | > | > | Subject: Re: [Pharo-project] [ANN] Styled Text
> | > | > | > | > | > | Editor
> | > | > | > | > | > | for
> | > | > | > | > | > | Cuis
> | > | > | > | > | > | 4.0 Smalltalk
> | > | > | > | > | > |
> | > | > | > | > | > | Hi Göran,
> | > | > | > | > | > |
> | > | > | > | > | > | Thanks for your question! I have posted the
> | > | > | > | > | > | announcement
> | > | > | > | > | > | of
> | > | > | > | > | > | the
> | > | > | > | > | > | Styled Text Editor to the Pharo list as well
> | > | > | > | > | > | because
> | > | > | > | > | > | I
> | > | > | > | > | > | still
> | > | > | > | > | > | have
> | > | > | > | > | > | not given up on the idea to port it to Squeak and
> | > | > | > | > | > | Pharo.
> | > | > | > | > | > | It
> | > | > | > | > | > | is
> | > | > | > | > | > | not
> | > | > | > | > | > | straightforward but I consider it possible.
> | > | > | > | > | > |
> | > | > | > | > | > | Currently the Styled Text Editor is an external
> | > | > | > | > | > | package
> | > | > | > | > | > | which
> | > | > | > | > | > | is
> | > | > | > | > | > | loaded on top of Cuis 4.0. The API it uses is
> | > | > | > | > | > | quite
> | > | > | > | > | > | specific
> | > | > | > | > | > | to
> | > | > | > | > | > | Cuis
> | > | > | > | > | > | so to port it alone is probably too much effort.
> | > | > | > | > | > | What
> | > | > | > | > | > | I
> | > | > | > | > | > | think
> | > | > | > | > | > | can
> | > | > | > | > | > | be
> | > | > | > | > | > | done is the following:
> | > | > | > | > | > | Split Cuis into three parts,
> | > | > | > | > | > | a) the parts which are not needed for Styled Text
> | > | > | > | > | > | Editor,
> | > | > | > | > | > | like
> | > | > | > | > | > | the
> | > | > | > | > | > | Cuis tools
> | > | > | > | > | > | b) the parts of Cuis Morphic the Styled Text
> | > | > | > | > | > | Editor
> | > | > | > | > | > | depends
> | > | > | > | > | > | on –
> | > | > | > | > | > | this
> | > | > | > | > | > | is in my opinion the most valuable part of Cuis
> | > | > | > | > | > | because
> | > | > | > | > | > | Juan
> | > | > | > | > | > | spent
> | > | > | > | > | > | years cleaning it
> | > | > | > | > | > | c) the Smalltalk kernel below
> | > | > | > | > | > |
> | > | > | > | > | > | The idea is to port only part b) and the Styled
> | > | > | > | > | > | Text
> | > | > | > | > | > | Editor.
> | > | > | > | > | > | And
> | > | > | > | > | > | it
> | > | > | > | > | > | has to be done automatically by a tool which
> | > | > | > | > | > | creates
> | > | > | > | > | > | packages
> | > | > | > | > | > | for
> | > | > | > | > | > | Squeak and Pharo, always from the latest code
> | > | > | > | > | > | base.
> | > | > | > | > | > | In
> | > | > | > | > | > | addition
> | > | > | > | > | > | you
> | > | > | > | > | > | will probably need small Cuis portability
> | > | > | > | > | > | packages
> | > | > | > | > | > | done
> | > | > | > | > | > | manually,
> | > | > | > | > | > | one for Squeak and one for Pharo.
> | > | > | > | > | > |
> | > | > | > | > | > | Being able to always load the latest code base of
> | > | > | > | > | > | Styled
> | > | > | > | > | > | Text
> | > | > | > | > | > | Editor
> | > | > | > | > | > | and Cuis Morphic as an external package in Pharo
> | > | > | > | > | > | is a
> | > | > | > | > | > | prerequisite
> | > | > | > | > | > | to look into possibilities of sharing more of the
> | > | > | > | > | > | code.
> | > | > | > | > | > |
> | > | > | > | > | > | I plan to write a more detailed proposal and then
> | > | > | > | > | > | to
> | > | > | > | > | > | approach
> | > | > | > | > | > | ESUG
> | > | > | > | > | > | and ask for support for the funding. Any ideas
> | > | > | > | > | > | for
> | > | > | > | > | > | other
> | > | > | > | > | > | sources
> | > | > | > | > | > | of
> | > | > | > | > | > | funding are highly welcome and could speed things
> | > | > | > | > | > | up
> | > | > | > | > | > | considerably,
> | > | > | > | > | > | of course! ;-)
> | > | > | > | > | > |
> | > | > | > | > | > | I for one have not given up on the idea that it
> | > | > | > | > | > | might
> | > | > | > | > | > | be
> | > | > | > | > | > | possible
> | > | > | > | > | > | to
> | > | > | > | > | > | develop substantial components as you called it –
> | > | > | > | > | > | thank
> | > | > | > | > | > | you
> | > | > | > | > | > | for
> | > | > | > | > | > | that
> | > | > | > | > | > | as well – in a more Squeak-dialect-independent
> | > | > | > | > | > | way.
> | > | > | > | > | > | ;-)
> | > | > | > | > | > |
> | > | > | > | > | > | Finally, I would like to take the opportunity and
> | > | > | > | > | > | kindly
> | > | > | > | > | > | ask
> | > | > | > | > | > | everyone
> | > | > | > | > | > | who has not done so yet: Please check out Cuis
> | > | > | > | > | > | 4.0
> | > | > | > | > | > | and
> | > | > | > | > | > | the
> | > | > | > | > | > | Styled
> | > | > | > | > | > | Text Editor and give us feedback, even if it does
> | > | > | > | > | > | not
> | > | > | > | > | > | (yet)
> | > | > | > | > | > | run
> | > | > | > | > | > | on
> | > | > | > | > | > | your favourite Squeak dialect! Thank you!
> | > | > | > | > | > |
> | > | > | > | > | > | Peace,
> | > | > | > | > | > | Bernhard
> | > | > | > | > | > |
> | > | > | > | > | > | P.S. Thanks to Göran and Janko for trying to
> | > | > | > | > | > | establish
> | > | > | > | > | > | different
> | > | > | > | > | > | threads for the rather off-topic discussions that
> | > | > | > | > | > | my
> | > | > | > | > | > | announcement
> | > | > | > | > | > | posting has caused.
> | > | > | > | > | > |
> | > | > | > | > | > | Am 23.04.2012 um 16:04 schrieb Göran Krampe:
> | > | > | > | > | > | > Hi!
> | > | > | > | > | > | >
> | > | > | > | > | > | > On 04/23/2012 03:40 PM, Stéphane Ducasse wrote:
> | > | > | > | > | > | >>> Just cloning it off into Pharo and forking
> | > | > | > | > | > | >>> seems...
> | > | > | > | > | > | >>> less
> | > | > | > | > | > | >>> optimal.
> | > | > | > | > | > | >>> Any ideas or thoughts?
> | > | > | > | > | > | >>
> | > | > | > | > | > | >> I do not get what you mean. I just want to
> | > | > | > | > | > | >> work on
> | > | > | > | > | > | >> our
> | > | > | > | > | > | >> roadmap
> | > | > | > | > | > | >> and
> | > | > | > | > | > | >> make it getting real.
> | > | > | > | > | > | >> It is hard enough to get some momentum and to
> | > | > | > | > | > | >> deliver
> | > | > | > | > | > | >> for
> | > | > | > | > | > | >> real.
> | > | > | > | > | > | >> So can you help us to get focused?
> | > | > | > | > | > | >> People can do what they want. I wrote a vision
> | > | > | > | > | > | >> document.
> | > | > | > | > | > | >> We
> | > | > | > | > | > | >> have a
> | > | > | > | > | > | >> roadmap
> | > | > | > | > | > | >> and we will do it.
> | > | > | > | > | > | >
> | > | > | > | > | > | > Ok, let me clarify. I was just wondering how
> | > | > | > | > | > | > the
> | > | > | > | > | > | > Pharo
> | > | > | > | > | > | > community
> | > | > | > | > | > | > wants to handle a case where a substantial
> | > | > | > | > | > | > component
> | > | > | > | > | > | > (in
> | > | > | > | > | > | > this
> | > | > | > | > | > | > case, this new editor) is not *primarily*
> | > | > | > | > | > | > developed
> | > | > | > | > | > | > in
> | > | > | > | > | > | > Pharo
> | > | > | > | > | > | > (in
> | > | > | > | > | > | > this case Cuis).
> | > | > | > | > | > | >
> | > | > | > | > | > | > The simple route is to just copy and fork. But
> | > | > | > | > | > | > IMHO
> | > | > | > | > | > | > this
> | > | > | > | > | > | > doesn't
> | > | > | > | > | > | > leverage the team already around this editor,
> | > | > | > | > | > | > right? We
> | > | > | > | > | > | > (Pharo)
> | > | > | > | > | > | > can't just go around and forking everything and
> | > | > | > | > | > | > maintaining
> | > | > | > | > | > | > everything for ourselves, right?
> | > | > | > | > | > | >
> | > | > | > | > | > | > I just got interested in that problem - now,
> | > | > | > | > | > | > later
> | > | > | > | > | > | > replies
> | > | > | > | > | > | > indicated that it would still need a
> | > | > | > | > | > | > substantial
> | > | > | > | > | > | > rewrite
> | > | > | > | > | > | > for
> | > | > | > | > | > | > Pharo, so perhaps the situation I am describing
> | > | > | > | > | > | > is
> | > | > | > | > | > | > not
> | > | > | > | > | > | > really
> | > | > | > | > | > | > applicable in this case.
> | > | > | > | > | > | >
> | > | > | > | > | > | > regards, Göran
> | > | > | > | > | > | >
> | > | > | > | > | > |
> | > | > | > | > | > |
> | > | > | > | > | > |
> | > | > | > | > | >
> | > | > | > | > |
> | > | > | > | > |
> | > | > | > | > |
> | > | > | > | > | --
> | > | > | > | > | Best regards,
> | > | > | > | > | Igor Stasenko.
> | > | > | > | > |
> | > | > | > | > |
> | > | > | > | >
> | > | > | > |
> | > | > | > |
> | > | > | > |
> | > | > | > | --
> | > | > | > | Best regards,
> | > | > | > | Igor Stasenko.
> | > | > | > |
> | > | > | > |
> | > | > | >
> | > | > |
> | > | > |
> | > | > |
> | > | > | --
> | > | > | Best regards,
> | > | > | Igor Stasenko.
> | > | > |
> | > | > |
> | > | >
> | > |
> | > |
> | > |
> | >
> |
> |
> |
>



--
Best regards,
Igor Stasenko.

1234