Skip to content
0:00 / 0:00

#smalltalk#pharo#squeak

Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram

Lambda World

10K subscribers • 16 videos on Hallway

YouTube
  • Recommended by 7 people: 2 on Hacker News, 1 on Lobsters, 3 in engineering communities and 1 curated list.
  • Presented by Aditya Siram
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

25K views7 years ago7 recommendations

Programming languagesTools and practiceFunctional programmingVim, Emacs and editors

Aditya Siram demonstrates the interactive, visual environments of Pharo and Squeak Smalltalk and argues that functional programming should adopt these ideas.

This presentation by Aditya Siram (Deech) took place at Lambda World Seattle on September 18th, 2018 at the Living Computers Museum in Washington. What FP can learn from Smalltalk I love functional programming, especially with types, my code is less buggy, easier to test, reuse, and document. But something is missing. In the quest for correctness we have denied ourselves a crucial (and fun!) aspect of programming: interactivity, visualizing, debugging and just plain playing around in your environment. This talk will dive into Pharo and Squeak, state of the art highly graphical, explorable and fully programmable Smalltalk environments focusing, not so much on Smalltalk the language, but on how well it integrates with the surrounding environment and why we should be stealing the ideas and design for functional programming. UPDATE FROM DEECH: "I said in my talk at that @pharoproject GC was simple mark-and-sweep & not great. I have been informed by the implementor that I am wrong & recent work makes latencies "sub-microsecond pauses from the scavenger with overhead well below 1%." Apologies." Follow: -twitter.com/lambda_world -twitter.com/47deg -twitter.com/deech Visit: -47deg.com/events for more details -lambda.world

Why it's here

7 people recommend this

What people say. Recommended as an accessible explanation of Smalltalk's interactive environment and its benefits for modern development.

Moments people linked to

u/deechin r/haskell • Recommends

What FP Can Learn From Smalltalk: I aimed quite a bit at typed functional programming so it maybe of interest here ...

u/bjzabaPikelet, Unnamed Binary DDLin r/ProgrammingLanguages • Recommends

Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram

GeoffWozniakon Lobsters • Recommends

What FP can learn from Smalltalk

u/tehnologiein r/functionalprogramming • Recommends

Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram

jasimon Hacker News • Recommends

On “Design Principles Behind Smalltalk (1981)”

If you're tired of hearing about the virtues of Smalltalk (like I was at one point) and ask "if it is so good, why isn't it popular?", then watch @deech's talk (Aditya Siram) - "What FP can learn from SmallTalk" - link to this video I think it is the most accessible explanation of the marvel of Smalltalk, for those who were not lucky to work with it during the late 80-90s. Also I think Ruby is the mainstream language that is closest to Smalltalk today, with the idea that everything is an object and late-binding as much as possible. One thing I can't help point out is that Smalltalk / Alan Kay's vision of interconnected objects forming a recursive computing system is not the only "true" vision of OO out…

programming-talkscurated list on GitHubRecommends

Under “Functional Programming”

What FP can learn from Smalltalk 00:43:36 by **Aditya Siram** (2018)

nsmon Hacker News • Recommends

On “On Repl-Driven Programming”

I'd also add this talk "Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram " link to this video as well as the whole series of things that Tudor Girba & co. are doing with Glamorous Toolkit link I'd still recommend folks use Pharo over GToolkit for most things, as GToolkit lacks a bunch of polish and documentation (not to say that even Pharo documentation approaches anything of the quality of the Rust and Python ecosystems).

nsmon Hacker News • Recommends

On “The Database Inside Your Codebase”

I am really glad they mentioned Smalltalk! I recently had a chance to experience Smalltalk and it was just mind blowing. Check out a video demo of the code introspection and visualization at minute 17 in link to this video

u/simonmicin r/haskell • Mentions

Moldable Development + What FP can learn from Smalltalk I have been enjoying Moldable Development, and thinking it could be a meeting point between Smalltalk and Haskell. Then youtube showed me Aditya Siram's Lambda World 2018 talk, What FP can learn from Smalltalk. Both recommended!

u/eeg_bertin r/haskell • Mentions

Collapsing Indirection in Haskell In What FP can learn from Smalltalk, Aditya Siram (@deech) talks about one of Smalltalk's most mind-blowing features: collapsing code indirection. Basically this means replacing symbols with their definitions recursively until clarity is reached. Does Haskell have anything that allows this?
14View on Reddit

u/abstractcontrolSpiralin r/ProgrammingLanguages • Mentions

On “February 2019 monthly "What are you working on?" and state of the community thread”

January was a deeply troubling month for me. * I finally accepted the fact that I am only at 1/10th of my full productivity in Spiral. It was different while it was still undergoing active development, but at this point I see this as absolutely unacceptable. * I figured out a better internal representation for closures which would speed up the compiler significantly, but I do not want to deal with the drudgery of that anymore when I could be doing RL. * I have a bunch of good ideas how to improve the language besides that - like Smalltalk's keyword arguments, but that would be even more work. * "Ah, screw it. I might have worked on Spiral for 2 years just for ML, but let me just use Pyth…

u/JohnyTexin r/ProgrammingLanguages • Mentions

On “Let's share our ideas, misery and favorite features”

Sounds a bit like Smalltalk? Maybe it’s not what you were after, but in Smalltalk the language and IDE is pretty much one and the same—you can eg call up a visual class browser that’s actually sourcing its data from a live object graph, ie not by doing static analysis. Deech has a pretty cool video about it: link to this video

emilprogvizon Hacker News • Mentions

On “It's probably time to stop recommending Clean Code (2020)”

…look. The mockup is just a web page with javascript and html canvas, so it's easy to try here: link (Not mobile friendly, best seen on desktop) There are 2 different ways to show the inlining. You can choose between them if you click the cogwheel icon. Then I learned that the Smalltalk editor Pharo already has a similar feature, demonstrated at link to this video I wish other editors would steal this idea. Microsoft, are you listening? My mock-up also shows an idea to improve code folding. When folding / collapsing a large block of code, the editor could show a quick summary of the block. The summary could be similar to a function signature, with arguments and return values.…

Supermanchoon Hacker News • Mentions

On “When are enums not a code smell?”

…Tony Hoare) has prompted the gradual backlash against switches. ( link , re: Duff's Device). Senior developers should watch the whole thing to understand how block scope and functions and classes relate. Modern development has drifted toward lots of small functions (which causes a mess because modern IDEs dont have supporting features like this: link to this video , re: gtoolkit). A switch requires you to look inside and reason about the internals of a function to understand how it will behave before exiting, as the compiler. This doesn't matter so much if you dont care about early exits (no branch prediction, etc). Either way, it's extra cognitive overhead and error prone for a small improvement in…

Supermanchoon Hacker News • Mentions

On “What's the Future of IDEs?”

To answer the question in a more practical sense than the plugging of a specific workflow and asking "Is this the future?", that the article posits: 1. Back to easy indirection resolution ( link to this video , re: gtoolkit) 2. Comments that are not inline, but can point to various blocks/parts of code and overlap (multiple comments can apply to single parts of code). 3. More support for unit testing. function call tracking ( link ). 4. Conducting behavioral studies via opt-in submission of eye tracking data. A great deal of data is flowing through IDEs and not being leveraged to improve the daily tools of developers.

tcardon Hacker News • Mentions

On “IDEs we had 30 years ago”

I think it's fair to say Smalltalk(s) have had in many aspects the most advanced IDE in existence at every moment since its introduction. Demos for a couple old versions: link Demo for Pharo: link to this video