LivingCode was: Clickable class side example and initialize methods in Pharo 4.0

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

LivingCode was: Clickable class side example and initialize methods in Pharo 4.0

kilon.alios
Dont know what you feed this monster but it took forever to load on Pharo 4 and now it gives me the error MNU receiver of "do:" is nil

Pharo 3 seems to work ok, so from what I gather this is a flow chart representation of Smalltalk language, very interesting , I like it very much. 

Are you serious about this project or its just a little experiment for you ?

Blender users have been wanting a flow based programming language for some time, I have been looking into Phratch but apparently most people prefer flow charts like yours because its what they are used to to as users inside Blender and other 3d apps. So its also an area that interests me too for example procedural creation of 3d objects which is an area that Blender lacks right now while other apps like Houdini and Softimage have again been based on flow chart languages like yours. 

The nice thing about your approach is that is inside Pharo so it does not lock down into a flow chart-only approach as most implementations do. So the user can use LiveCode to quickly create code and then use normal text code to customise and further refine. Does that make sense to you ?

I was thinking creating something similar myself but I was afraid it would be too much work. So I am definitely interested to learn how far you want to go with this . 



On Thu, Oct 23, 2014 at 9:46 PM, Sean P. DeNigris <[hidden email]> wrote:

> I guess so, although I am not really sure what I am looking at - but it
> seems very cool.


kilon.alios wrote
> What the hell is that, looks very interesting !!!!

Ha ha, yeah I guess a bit of context would help ;)

It's a prototype I've been working on that combines some of (IMHO) the best
IDE ideas of various systems. That particular one shows Self Outliners (the
Morphs on the left of the connector). By pressing $M when an outliner has
the focus, you get a "Message Menu" of Scratch-like interactive tiles for
all the messages it understands. You can click on the unary messages or type
expressions for the ones taking arguments (actually just realized that the
binary ones don't work so just keyword messages right now). When the message
is sent, a new Self Outliner open(s)InHand on the result.

It's a WIP, but if you want to play, start with:

1.
Gofer it
        smalltalkhubUser: 'SeanDeNigris' project: 'SeansPlayground';
        configurationOf: 'LivingCode';
        load. "Strangely I can not #loadDevelopment here because the
ScrollableWorldMorph package doesn't get loaded, even though it does with
the next line"
#ConfigurationOfLivingCode asClass project development load.
#SelfWorld asClass open.

2. Then in the search bar, type an evaluatable expression, e.g. "1" and
accept
3. Drop the Outliner from the hand into the Self World
4. For fun, click the world background and drag. OMG, you have an infinite
world
5. Click on the M button in the outliner and the message menu will appear
(erroneously in the World instead of the Self World).
6. Expand e.g. the "bit manipulation" protocol (assuming you started with
"1" as above)
7. Click into the text field to the right of bitAnd: and accept the text
A new Outliner of the result will appear in the hand

Other buttons on the Outliner:
B - open a nautilus on the class of the object
I - traditional inspector
S - open the test class if it exists (I call them Specification(s) in my
personal work)
E - Evaluator (very close to Self)

Also, if you click on the icons to the right of "class" and "package"
Outliner(s) will appear on those objects.

That's pretty much it for now.



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Clickable-class-side-example-and-initialize-methods-in-Pharo-4-0-tp4785865p4786275.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: LivingCode was: Clickable class side example and initialize methods in Pharo 4.0

Sean P. DeNigris
Administrator
kilon.alios wrote
Dont know what you feed this monster but it took forever to load on Pharo 4
and now it gives me the error MNU receiver of "do:" is nil
Yes I should've mentioned that I've only tested on 3.0.

kilon.alios wrote
Are you serious about this project or its just a little experiment for you ?
I'm serious. I want this to be my only development tool.

I remember how weak the old System Browser felt compared to OmniBrowser, and eagerly anticipated Nautilus. When it arrived I was in a very different place after researching the principles behind revolutionary systems SketchPad, Self, Morphic and others. So I realized that the real barrier to my expression was not the quality of the browser, but the browser concept itself. A browser, for me, is just too abstract, and keeps my mental model too far removed from "sending messages to live objects".

I've been thinking carefully and going very slowly because there are so many ideas that it's easy to get lost trying to reinvent everything at once. I don't really know the next step until I live with the system for a while in each stage. Although I think once code editing and graph layout are implemented, there will be a reasonable foundation.
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: LivingCode was: Clickable class side example and initialize methods in Pharo 4.0

kilon.alios
glad to hear that maybe i can help, i will play with it and see if i can add some features myself. Looks simple enough from a first look but obviously I will have to look deeper :)

Are you will keep this morphic based, or you thinking using spec ? 

On Fri, Oct 24, 2014 at 8:27 PM, Sean P. DeNigris <[hidden email]> wrote:
kilon.alios wrote
> Dont know what you feed this monster but it took forever to load on Pharo
> 4
> and now it gives me the error MNU receiver of "do:" is nil

Yes I should've mentioned that I've only tested on 3.0.


kilon.alios wrote
> Are you serious about this project or its just a little experiment for you
> ?

I'm serious. I want this to be my only development tool.

I remember how weak the old System Browser felt compared to OmniBrowser, and
eagerly anticipated Nautilus. When it arrived I was in a very different
place after researching the principles behind revolutionary systems
SketchPad, Self, Morphic and others. So I realized that the real barrier to
my expression was not the quality of the browser, but the browser concept
itself. A browser, for me, is just too abstract, and keeps my mental model
too far removed from "sending messages to live objects".

I've been thinking carefully and going very slowly because there are so many
ideas that it's easy to get lost trying to reinvent everything at once. I
don't really know the next step until I live with the system for a while in
each stage. Although I think once code editing and graph layout are
implemented, there will be a reasonable foundation.



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/LivingCode-was-Clickable-class-side-example-and-initialize-methods-in-Pharo-4-0-tp4786411p4786521.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: LivingCode was: Clickable class side example and initialize methods in Pharo 4.0

Thierry Goubier
In reply to this post by Sean P. DeNigris


2014-10-24 19:27 GMT+02:00 Sean P. DeNigris <[hidden email]>:
kilon.alios wrote
> Dont know what you feed this monster but it took forever to load on Pharo
> 4
> and now it gives me the error MNU receiver of "do:" is nil

Yes I should've mentioned that I've only tested on 3.0.


kilon.alios wrote
> Are you serious about this project or its just a little experiment for you
> ?

I'm serious. I want this to be my only development tool.

Then I'd be interested in what you end up with. When you focus on making something different your full time IDE, it ends up being an interesting exercise.
 
I remember how weak the old System Browser felt compared to OmniBrowser, and
eagerly anticipated Nautilus. When it arrived I was in a very different
place after researching the principles behind revolutionary systems
SketchPad, Self, Morphic and others. So I realized that the real barrier to
my expression was not the quality of the browser, but the browser concept
itself. A browser, for me, is just too abstract, and keeps my mental model
too far removed from "sending messages to live objects".

I've been using Self as my main development environment for a few years, when I was doing my PhD. The idea was great, but something in the execution was getting in the way of efficient coding (or my efficient coding, I don't remember which).

Looking at the newspeak GUI and there is something of the same nature, but I can't point out what.

I've been thinking carefully and going very slowly because there are so many
ideas that it's easy to get lost trying to reinvent everything at once. I
don't really know the next step until I live with the system for a while in
each stage. Although I think once code editing and graph layout are
implemented, there will be a reasonable foundation.

Keep working on it!

Thierry
 



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/LivingCode-was-Clickable-class-side-example-and-initialize-methods-in-Pharo-4-0-tp4786411p4786521.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.