Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Magnus Therning
    @magthe
    I found what I think is a rather good example of refactoring to FCIS. The original is in Python and I attempted a version in Haskell: https://gitlab.com/magus/sync-fcis-refactor
    What do you think about it? Maybe it couybe used in a meetup, a group exercise, ...
    Or maybe someone wants to contribute a version in another language? Clojure? OCaml? F#? Why not JavaScript or C#?
    jolod
    @jolod
    Tiny poll: do you use qualified or unqualified imports in Haskell? (In most languages "import all" statements are shunned, but they are common practice in Haskell. Personally I generally import types and operators unqualified, and qualify everything else.)
    Veit Heller
    @hellerve
    personally i qualify everything until it becomes ridiculous. if i import more than, say, 10 things, then i either import qualifiedly, or just import it all directly (though i don’t really like that all that much tbh)
    jolod
    @jolod
    @hellerve When does it become ridiculous to qualify? :-)
    Magnus Therning
    @magthe

    Organising the imports in Haskell sometimes feels rather silly.

    Stuff like this

    import Data.Conduit ((.|))
    import qualified Data.Conduit as C

    is a bit laughable, but feels necessary.

    Veit Heller
    @hellerve
    @jolod sorry, unclear language: when it becomes ridiculous to list the individual functions to import (which is a different qualification than importing using qualified)
    jolod
    @jolod
    Have any of you found import Mod as Foo (x,y) or import qualified Mod as Foo (x,y) useful (in real code)?
    Veit Heller
    @hellerve
    i cant say ive used it very much
    jolod
    @jolod
    I've never used it. :-)
    Magnus Therning
    @magthe
    @jolod you mean using both named import and limit what functions to import? No, never used that. Also never used import Mod as Foo except (x,y).
    Marco Z
    @ocramz
    :wave:
    Magnus Therning
    @magthe
    Hi @ocramz
    jolod
    @jolod
    @magthe So the idea is to refactor these snippets to FCIS?
    Magnus Therning
    @magthe
    Yes, that's the idea.
    Marco Z
    @ocramz
    hullo again! been missing for a while, how are you all doing?
    Magnus Therning
    @magthe
    Doing well, but there's been very little meetup goodness in my life lately.
    Erik Svedäng
    @eriksvedang
    @ocramz all good, though I don’t live in Gbg at the moment... How are you?
    Magnus Therning
    @magthe
    So, a bit tired, but rather happy with the FCIS refactoring exercise we ran today :)
    Magnus Therning
    @magthe
    Carp just popped up in a discussion on funprog@zulip 👍
    Erik Svedäng
    @eriksvedang
    nice :)
    Magnus Therning
    @magthe
    Time for a meeting soon?
    Jean-Louis Giordano
    @Jell
    we should! I wouldn't mind finally doing an Idris presentation, that would make me refresh my knowledge :p I also have some nice callcc fun in ruby to share (inspired by @magthe! :p ). I also had some go generics thing but tbh I kinda forgot about it now already. And we have advent of code coming up? Perhaps something around that?
    jolod
    @jolod
    Oh oh oh! Remote group programming on AoC!!!
    Jean-Louis Giordano
    @Jell
    yeah that could be something!
    jolod
    @jolod
    Also, would love an Idris presentation.
    But splitting up into groups of 4 and work on a AoC problem, and then join the main room and talk about the solutions. Would be super great.
    Erik Svedäng
    @eriksvedang
    Yeah!
    Jean-Louis Giordano
    @Jell
    you think Zoom would work out? are there some good tools for impromptu pair-programming?
    I've used tmate but then kind requires a terminal editor
    I've heard good things about remote pairing function of VS Code but haven't really tried it
    jolod
    @jolod
    I have been group programming regularly since last sprin. We have just used screen sharing and commit when handing over, circulating who is typing.
    Magnus Therning
    @magthe
    I have the impression zoom has improved the "breakout feature". The agile meetup did a session where we were randomly divided into groups and then the organiser could push us out into group discussions for 5 min after which we were pulled back in again.
    It might be worth checking if there's anything else they've added.
    Magnus Therning
    @magthe
    Re. your callcc rumination, @Jell , I was pondering the joy of having several short presentations of mind bending solutions to small problems. Use of callcc would be one, fix point another, and maybe clever use of laziness in Haskell.
    jolod
    @jolod
    In a talk, I saw a clever (?) Haskell solution to fizzbuzz that avoided the repeated checks you typically have. @magthe
    Magnus Therning
    @magthe
    👍
    I saw a clever solution to "replace every number in a list with the max" in a single pass by passing the passing the maximum before it's available. Laziness put to good use.
    jolod
    @jolod
    I'm up for both, AoC and "cleverness".
    Maybe AoC first. If we schedule it now, we can pick a day in the first week, and work on that days problem. Then it's new to everyone, and those problems tend to be fairly easy.
    Jean-Louis Giordano
    @Jell
    but let's do that! maybe on 2nd or 3rd of december? that would give us a few days of AoC without being a friday
    or the week after if we want more material
    or we could just do a weekly thing?
    I believe the inly annoying thing with breakout rooms is that the host needs to manually assign people to rooms, but that should be manageable anyway right if we're not too many?
    Magnus Therning
    @magthe
    @Jell it seems to have been improved so participants can now be assigned to break-out rooms automatically/randomly. I'd say it's worth a quick experiment to see how it works :)
    jolod
    @jolod
    @Jell How about the third then? Good warm up, and then we can schedule something for the next week as well.
    Jean-Louis Giordano
    @Jell
    let's go for it!