i cannot seem to find this generator package on SmalltalkHub

and i wonder where it could be

On Monday, July 6, 2015, Kjell Godo <[email protected]> wrote:

> Object Orientation
>
> seems to freak out most Haskell programmers.
>
> They are opposed to it.   They have never tried Smalltalk.
>
> They see OOP as bad practice in the languages they have seen it in
>
> and say it promotes chaotic program behaviour and unmaintainable software
>
> that is brittle and full of costly bugs.    They have never tried
> Smalltalk and some
>
> are a bit bewildered when i say Smalltalk is usually very stable.
>
>
>
> i just wonder if
>
> functional state management
>
> would make Smalltalk development
>
> faster and less Chaotic
>
> and how you could marry OOP and functional
>
> and if you did then how would you do it
>
>
>
> how can the concepts of    functional and OOP    be combined
>
>
>
> is my question
>
>
>
> what are all the concepts and how can they be combined
>
>
>
>
> because i do think that perhaps Smalltalk development is slowed down
>
> and made more Chaotic and unmaintainable by mutable data in Objects
>
>
>
> so in order to correct this in my opinion
>
> the first step
>
> would be to create immutable Objects
>
>
>
> my Generator package i published for Pharo
>
> is perhaps an example of how immutable sequences can be done in Smalltalk
>
> but the basic idea is that
>
> you create new Objects that link into the pieces of old ones
>
> instead of mutating the old ones
>
> no instance variables can be rebound once they have been bound
>
>
>
>
> ok so this boggles the mind a bit
>
> but they swear by it in Haskell
>
> so
>
> what exactly are the Haskellers talking about?
>
> and can it be applied to Smalltalk to Smalltalk's benefit?
>
>
>
>
>
> On Monday, July 6, 2015, Kjell Godo <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>
>> Thank you for the detailed reply Andreas
>>
>>
>>
>> Are there any Smalltalk packages implementing
>>
>> Category Theory based
>>
>> functional programming constructs
>>
>> for function composition like
>>
>> functors , applicatives , monads , arrows , etc ?
>>
>>
>>
>> Do people have opinions about whether or not
>>
>> these plus immutable data structures would be good for managing state
>>
>> in Smalltalk like they do it in Haskell etc?  i know that monads are not
>> built
>>
>> into Haskell but are implemented as addons via Haskell packages.
>>
>> My Haskell friend said all you need to do functional programming is
>>
>> first class functions
>>
>> which Smalltalk Block contexts almost are except they lack their own
>> stack?
>>
>> if you wrap a Block in a Function Object do you then get the stack
>>
>> effect so you can essentially call the Block recursively?
>>
>>
>>
>> i have been wondering about taking a crack at implementing these
>>
>> in Smalltalk and i wonder if it would be
>>
>> theoretically possible
>>
>> to speed them up by inlining them via the Smalltalk compiler
>>
>>
>> Thank you
>>
>>
>>
>> On Saturday, November 8, 2014, Andreas Wacknitz <[email protected]>
>> wrote:
>>
>>>
>>> Am 07.11.2014 um 16:51 schrieb Kjell Godo <[email protected]>:
>>>
>>> This is off topic.
>>>
>>> I tried to post it as a top level thread but I have become unknown.
>>>
>>> Why do you expect that? Many people here are using Smalltalk for years.
>>> Just because you have been silent for some time doesn’t mean everybody
>>> will forget about you :)
>>>
>>>
>>> I don't know if you want this crap in here but I have decided not to
>>> wait for the
>>>
>>> postmaster to get back to me on the subject of becoming known.  Feel
>>> free.
>>>
>>>
>>>
>>>
>>>
>>> ( Original-SUBJECT:     "( picoVerse-:( what about state , is state
>>> really evil? ) )"       )
>>>
>>>
>>>
>>>
>>>
>>>
>>> I am a Smalltalker.
>>>
>>> But in the past few months i have been running with the Haskellers.
>>>
>>> The Haskellers hate state.
>>>
>>> This seemed strange at first because as a Smalltalker i love(d) state.
>>> State iswas my friend.
>>>
>>> 90% of my life as a Smalltalker is state wrangling.  I am a state
>>> herder.
>>>
>>> The debugger is my staff I use to whack the state.  And TestCase is my
>>> sheep dog.
>>>
>>> But to the Haskellers
>>>
>>> state is
>>>
>>> the evil trinity
>>>
>>> of
>>>
>>> satan the anti christ and the false prophet
>>>
>>> all rolled into one.
>>>
>>> State is the true dev incarnation of the total catastrophe of
>>> development Armageddon.
>>>
>>> Blood up to the bridles for hundreds of miles.  Dogs and cats living
>>> together.  Mass hysteria.
>>>
>>> They say.
>>>
>>> I'm not sure i quite get it yet but they keep preaching on this one
>>> point most of all.
>>>
>>> State is evil.
>>>
>>> You must keep all state in a Monad.  As many methods/functions m as
>>> possible
>>>
>>> must be 100% dependent on the input parameters ONLY.
>>>
>>> No hidden instance variables affecting the return value of m are allowed.
>>>
>>> The only effect m can have is to return a value.
>>>
>>> If all this is true then m is pure.
>>>
>>> And pure is good.   Pure is very good.  And the wind says
>>>
>>> very.
>>>
>>> So i wonder if any of you fellow
>>>
>>> Smalltalkers
>>>
>>> have thought about this at all.
>>>
>>> First, there are no good definitions of what is an object oriented
>>> language and what is a functional language.
>>> Thus, languages like C++, C#, Java are being considered object oriented.
>>> But their object orientation is not the same like Smalltalk’s.
>>> The same problem exists in the functional language world: Some consider
>>> LISP being functional, some deny that.
>>>
>>> Second, for some years I am constantly seeking for „the best“ language
>>> to solve my problems in. Alas I wasn’t successful yet and don’t expect
>>> to be successful in the future. Every programming paradigm has its
>>> strengths and weaknesses when it comes to real world problems.
>>> So in my eyes it is best to know the different programming paradigms and
>>> its representative languages in order to be able to choose the
>>> best fitting language for your problem at hand.
>>>
>>> Third, there have been many attempts to create multi-paradigm languages
>>> (like C++, C#, Java, Scala, …). The idea behind is simple: combine
>>> the best characteristics. In my eyes all of them failed because what
>>> always have been created is Frankenstein’s monster. When you combine
>>> paradigms you will may get some advantages of all but sure you will get
>>> a lot of additional complexity.
>>>
>>> Fourth, it has been said many times before: What makes Smalltalk so nice
>>> is not only the language. It’s the whole system: the language, duck typing,
>>> the image (object world), the tools, the VM, the simplicity, the
>>> elegance, … And last but not least the communities around.
>>>
>>> Regards
>>> Andreas
>>>
>>> PS: If you are interested in functional programming and don’t like
>>> static typing you should have a look at Clojure. It has some nice ideas
>>> about
>>> how to deal with state concurrently.
>>>
>>>
>>>
>>> Thanks
>>>
>>> Kjell E Godø
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> (((((((((( Maybe Smalltalk should be called Statewalk
>>>
>>> as in yak it up fuzz ball. ))))))))))
>>>
>>>
>>>

Reply via email to