On Monday, July 6, 2015, Eliot Miranda <[email protected]> wrote:

> Hi Kjell,
>
> On Jul 6, 2015, at 6:16 AM, 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?
>
>
> The Pharo & Squeak dialects, along with most others, now have closures, so
> blocks are fully recursive.
>
>
> 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
>
>
> The compiler already inlines closures in a few key control messages such
> as ifTrue: whileTrue: and:.
>
>
> I recommend spending some time reading the code for the core execution
> classes and the compiler, and running examples  interactively to learn how
> the system works.  It's a fun process and well supported by the tools.
> Remember that the debugger includes a meta circular interpreter for
> executing the system's bytecode, and that the compiler compiles source to
> bytecode in the firm of CompiledMethod instances you can inspect, decompile
> and list their bytecode.
>
> All the questions you have above you can answer for yourself by running
> examples and using the tools to observe what happens.  This is a route to
> mastering the system; IMNERHO the best.
>
>
is there any tutorial?

how do i do this?


>
> Thank you
>
>
> Eliot (phone)
>


>
> On Saturday, November 8, 2014, Andreas Wacknitz <[email protected]
> <javascript:_e(%7B%7D,'cvml','[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