Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    junkerjoe
    @junkerjoe
    I think we'd be just fine with a IRC channel. If python can do it, we can too.
    Joshua S. Grant
    @jsgrant
    @junkerjoe We're at a point where Discord has more active users than I'm sure #python ever had on Freenode, if we're making an argument regarding leaning into network-effect ... like 40k users online right now in their Discord Server. :^P
    And by no means am I suggesting Discord as a serious alternative.
    Drew Crampsie
    @drewc
    I happen to use Discord for most of my "work" arrangements these days, as well as a lot of play channels. It's very nice to have a platform that's made to go beyond just text. Screen-sharing is a wonderful thing for pair-programming and, given that I have not been in an office in about 8 years, not a bad meeting spot either! :)
    Joshua S. Grant
    @jsgrant
    I really hope that Matrix / Element move closer to this model; They've been making strives but it's shocking how many opensource communities have moved near all-in on Discord. I remember when the Mozilla IRC server got shutdown and there was debate for months on where Rust would go and it ended up being Discord. Can't blame them, the actual platform is pretty solid but it's weird given the espoused views of Mozilla. lol
    Drew Crampsie
    @drewc
    And, just to advocate a certain daemon here ... We are not a large community and should not be spread out in multiple chat rooms for support. At the same time, if we do choose something else besides gitter, and Matrix and/or Bitlbee is not enough to attract IRC users to our development and support channels, that is, in and of itself, a good reason to choose a non-irc platform ;)
    Joshua S. Grant
    @jsgrant
    Well tbf Gitter is basically slowly migrating to Matrix on the backend anyways afaict. lol
    Drew Crampsie
    @drewc
    I do somewhat miss IRC and usenet, but I also somewhat miss dial-up and BBS'ing yet do not advocate that we move (AKA digress) to anything related to them. I am totally upset that there are many many may different chat/voice/video apps and platforms these days, and the Anarchist in me is somewhat perturbed by the dominance of entities in the 1% wreaking havok on our very ability to communicate and forcing us to spread out, BUT, none of that applies to Gerbil in the least. :P
    vyzo
    @vyzo
    yeah, just to throw my $.02 -- initially we only had an irc channel
    but it eventually became apparent that we need a persistent discourse channel
    so we set up gitter
    and slowly migrated off irc
    sad to hear that freenode is dying
    Joshua S. Grant
    @jsgrant
    I think it's fair to say it's "dead"; Past dying. The nuking of the whole network a few days ago was actually something I never expected and don't think you can recover from that... pretty much every notable project I'm aware of has already moved to Libera.chat afiact
    I think Gitter is fine; It's backend moving to Matrix has me a lot more hopeful about it existing in the long-term
    jsgrant @jsgrant also forces himself to go to bed ... nearly 2:30am here and need to be up at 7. o/
    François-René Rideau
    @fare
    Looks like some recent Gambit change may have broken Gerbil:
    >>> compiling gerbil core
    *** WARNING -- Variable "macro-readtable-brace-keyword-set!" used in module "gx-gambc1" is undefined
    *** WARNING -- Variable "macro-readtable-bracket-keyword-set!" used in module "gx-gambc1" is undefined
    build.sh: line 107: 12092 Segmentation fault      (core dumped) "${GERBIL_STAGE0}/bin/gxi" "${GERBIL_BUILD}/build1.ss"
    I see a macro-readtable-bracket-handler-set! and a macro-readtable-brace-handler-set! but no macro-readtable-brace-keyword-set!, etc.
    I also see
    commit 589da61f7c1e6342fc220260a02a547bc942a792
    Author: Marc Feeley <feeley@iro.umontreal.ca>
    Date:   Wed Jun 16 14:25:25 2021 -0400
    
        Read the form [1 2 3] as (|[...]| 1 2 3) and the form {1 2 3} as (|{...}| 1 2 3)
    François-René Rideau
    @fare
    Of course, if we want to keep supporting the Gambit release as well as the latest version, we're in for some cond-expand hell.
    Marc-André Bélanger
    @belmarca
    @fare I actually thought about that yesterday
    Drew Crampsie
    @drewc
    Yikes, that's a fun patch. Though I very much agree with the |{...}|idea, it indeed totally breaks our @method expander. sigh.
    Marc-André Bélanger
    @belmarca
    for the moment keep using the previous commit but I don't think it'll be too hard to repair
    you need a macro to handle |{...}| and |[...]|
    that's in gx-gambc1.scm?
    Marc-André Bélanger
    @belmarca
    @fare @drewc I don't have time now but I'll take a look tonight.
    Jaime Fournier
    @ober
    yeah we should have a documented flag day for those sorts of commits
    topic it here or so
    Marc-André Bélanger
    @belmarca
    @ober what do you mean?
    Jaime Fournier
    @ober
    something like gambit/misc/checkout-latest-good-commit
    Marc-André Bélanger
    @belmarca
    right. last working commit should be c0753ff127baefebd00193a135f48f18c59c496a
    Jaime Fournier
    @ober
    Just making it obvious the last commit that worked for gerbil. Since new folks may try track head on both, and hit this bug.
    How do we communicate that?
    Marc-André Bélanger
    @belmarca
    issues on github :laughing: there's one already.
    Jaime Fournier
    @ober
    Yeay, and that could scare off new members
    Marc-André Bélanger
    @belmarca
    I'm not sure I follow. What's a "flag day"?
    Jaime Fournier
    @ober
    A flag day, as used in system administration, is a change which requires a complete restart or conversion of a sizable body of software or data. The change is large and expensive, and—in the event of failure—similarly difficult and expensive to reverse.
    Marc-André Bélanger
    @belmarca
    right, wasn't familiar with the idiom
    open up the latest gambit and do:
    > (define-macro (|[...]| . rest) `(list ,@rest))
    > (define l [1 2 3])
    > l
    (1 2 3)
    > (list? l)
    #t
    Jaime Fournier
    @ober
    I'm familiar with the commit
    @belmarca anyway to topic that commit?
    Marc-André Bélanger
    @belmarca
    in gitter? I don't know. For the moment I've put the commit in the github issue that was opened.
    Jaime Fournier
    @ober
    :thumbsup:
    Marc-André Bélanger
    @belmarca
    @ober are you running the latest gambit?
    @vyzo I can't follow https://github.com/vyzo/gerbil/blob/master/doc/guide/bootstrap.md, getting errors
    *** ERROR IN gx#stx-map1 -- Syntax Error
    *** ERROR IN "../../../Documents/Programmation/gerbil/bin/gxc"@63.5
    --- Syntax Error: Bad syntax; illegal pattern
    ... form:   (match rest
                       ([arg . rest]
                        (case arg
                          (("-h" "-help" "--help") (print-usage!) (exit 0))
                          (("-d")
                           (match rest
                                  ([dir . rest] (set! outdir dir) (lp rest))
                                  (else (print-usage!) (exit 1))))
                          (("-S") (set! invoke-gsc #f) (lp rest))
                          (("-s") (set! keep-scm #t) (lp rest))
                          (("-static") (set! static #t) (lp rest))
                          (("-g") (set! keep-scm #t) (set! debug #t) (lp rest))
                          (("-genv") (set! debug 'env) (lp rest))
                          (("-genv/phi") (set! debug 'env/phi) (lp rest))
                          (("-gsrc") (set! debug 'src) (lp rest))
                          (("-gsrc/phi") (set! debug 'src/phi) (lp rest))
                          (("-v") (set! verbose #t) (lp rest))
                          (("-O") (set! optimize #t) (lp rest))
                          (("-no-ssxi") (set! generate-ssxi #f) (lp rest))
                          (("-exe") (set! compile-exe #t) (lp rest))
                          (("-o")
                           (match rest
                                  ([file . rest] (set! outfile file) (lp rest))))
                          (("-include-gambit-sharp")
                           (add-gsc-option!
                            (if (gerbil-runtime-smp?)
                                '("-e"
                                  "(define-cond-expand-feature|enable-smp|)"
                                  "-e"
                                  "(include \"~~lib/_gambit#.scm\")")
                                '("-e" "(include \"~~lib/_gambit#.scm\")")))
                           (lp rest))
                          (("-prelude")
                           (match rest
                                  ([opt . rest]
                                   (add-gsc-option! ["-prelude" opt])
                                   (lp rest))
                                  (else (print-usage!) (exit 1))))
                          (("-cc-options")
                           (match rest
                                  ([opt . rest]
                                   (add-gsc-option! ["-cc-options" opt])
                                   (lp rest))
                                  (else (print-usage!) (exit 1))))
                          (("-ld-options")
                           (match rest
                                  ([opt . rest]
                                   (add-gsc-option! ["-ld-options" opt])
                                   (lp rest))
                                  (else (print-usage!) (exit 1))))
                          (("-gsc-flag")
                           (match rest
                                  ([opt . rest] (add-gsc-option! [opt]) (lp rest))
                                  (else (print-usage!) (exit 1))))
                          (("-gsc-option")
                           (match rest
                                  ([opt arg . rest]
                                   (add-gsc-option! [opt arg])
                                   (lp rest))
                                  (else (print-usage!) (exit 1))))
                          (else
                           (if (and (not (string-empty? arg))
                                    (eq? (string-ref arg 0) #\-))
                               (error "Unexpected option" arg)
                               (values compile-exe (make-opts) (cons arg rest))))))
                       (else (values compile-exe (make-opts) rest)))
    ... detail: [arg . rest] at "../../../Documents/Programmation/gerbil/bin/gxc"@64.8
    ... detail: [arg . rest] at "../../../Documents/Programmation/gerbil/bin/gxc"@64.8
    Marc-André Bélanger
    @belmarca
    I'll rebuild gambit@c0753ff127baefebd00193a135f48f18c59c496a and build a fresh gerbil to make sure my env is not polluted
    Jaime Fournier
    @ober
    @belmarca I track head yes. and hit this bug. but was not sure the cause as a few options with gambit head cause segfaults as well.
    Marc-André Bélanger
    @belmarca
    I digged a little but can't figure out just where to put the macro definitions.
    Marc-André Bélanger
    @belmarca
    @vyzo I have some time to debug this if you wish.
    Marc-André Bélanger
    @belmarca
    The error comes from parse-error, an internal procedure to parse-match-pattern which is called by generate-match*. After some poking around I can see that it's dropping right through parse1 as defined in parse-match-pattern, so it's not even recognized
    --- Syntax Error: Bad syntax; illegal pattern
    ... form:   (match* (rest1 rest2)
                        (([x1 . rest1] [x2 . rest2]) (f x1 x2) (lp rest1 rest2))
                        (else (void)))
    ... detail: [x1 . rest1] at "srfi/1.ss"@100.9
    ... detail: [x1 . rest1] at "srfi/1.ss"@100.9