is there anybody
On Monday, July 6, 2015, Eliot Miranda <eliot.miranda@gmail.com> wrote:Hi��Kjell,Thank you for the detailed reply AndreasAre there any Smalltalk packages implementing��Category Theory basedfunctional programming constructs��for function composition��likefunctors , applicatives , monads , arrows , etc ?Do people have opinions about whether or not��these plus immutable data structures would be good for managing statein Smalltalk like they do it in Haskell etc? ��i know that monads are not builtinto Haskell but are implemented as addons via Haskell packages.My Haskell friend said all you need to do functional programming isfirst class functionswhich 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 stackeffect 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 thesein Smalltalk and i wonder if it would be��theoretically��possible��to speed them up by inlining them via the Smalltalk compilerThe 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 <a.wacknitz@gmx.de> wrote:Why do you expect that? Many people here are using Smalltalk for years.Am 07.11.2014 um 16:51 schrieb Kjell Godo <squeaklist@gmail.com>:This is off topic.I tried to post it as a top level thread but I have become unknown.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 thepostmaster 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 Haskellersstate isthe evil trinity��ofsatan the anti christ and the false prophetall 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 possiblemust 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 saysvery.So i wonder if any of you fellowSmalltalkershave 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 expectto 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 thebest 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: combinethe best characteristics. In my eyes all of them failed because what always have been created is Frankenstein���s monster. When you combineparadigms 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.RegardsAndreasPS: 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 abouthow to deal with state concurrently.ThanksKjell E God��((((((((((��Maybe Smalltalk should be called Statewalkas in yak��it up fuzz ball. ))))))))))