Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    vyzo
    @vyzo
    it gets hairy with deep macrology however
    dogatkeyboard
    @dogatkeyboard
    i would like to interact with one of racket's SMT libraries like https://emina.github.io/rosette/
    just want to use something that has z3 or cvc4/5 from gerbil
    Hayden Jones
    @wrq
    python has good z3 bindings, probably the easiest to pipe from through cffi
    Drew Crampsie
    @drewc
    FFI to a C library is a lot easier than trying to re-implement Racket enough to run a #lang built on/in Racket that has access to all of Racket itself. Rosette is not a library, it's a programming language.
    jdoe0000000
    @jdoe0000000
    I'm having trouble compiling this piece of code:
    (guard
      (exn
        (#t (display 1)))
      (raise 1))
    It runs fine with gxi, but I'm getting this error when I try to compile it with gxc:
    *** ERROR IN gx#core-expand-ref% -- Syntax Error
    *** ERROR IN "test.ss"@1.2
    --- Syntax Error: Reference to unbound identifier
    ... form:   (%#ref guard)
    ... detail: guard at "test.ss"@1.2
    The exact command I used was gxc -exe test.ss -o test.
    Is this a bug, or did I just do something wrong?
    vyzo
    @vyzo
    guard is an r7rs form, you need to use the r7rs prelude
    Drew Crampsie
    @drewc
    drewc@guyix ~/me/src/gerbil$ cat > foo.ss <<EOF
    > (import :scheme/base)
    (guard
      (exn
        (#t (display 1)))
      (raise 1))
    > EOF
    drewc@guyix ~/me/src/gerbil$ gxc foo.ss 
    drewc@guyix ~/me/src/gerbil$ gxi
    Gerbil v0.17-275-g7014e282 on Gambit v4.9.4-4-g7b2062fb
    > (import :foo)
    1>
    ;; guard has rather insane semantics of jumping back when there is no else clause lol
    I'd prefer to use try/catch personally. I suppose I'll never be an Rn schemer :)
    Jaime Fournier
    @ober
    got the package builders for deb, ubuntu, redhat working. So we can generate these packages from docker.
    Drew Crampsie
    @drewc
    @ober Is it that "easy" these days, you can use Docker to generate distro packages? It actually makes sense but I have never thought of it that way. Cool!
    I think the lack of "normal" .deb's or .rpm's does indeed inhibit our uptake and my attempts, though working, were a real PITA for me. Using Docker is a great approach that I've never thought of. Perhaps I hate docking and prefer sailing but everyone is different :)
    1 reply
    vyzo
    @vyzo
    ah really cool
    we could even genarate them in CI in principle
    nouun
    @nouun
    Hey, is there an example project which uses C libraries in Gerbil? Or alternatively a native way to interact with bluetooth?
    Marc-André Bélanger
    @belmarca
    @nouun look at the stdlib db bindings
    JOST GRANT
    @jostgrant:matrix.org
    [m]
    Kinda like the ideal for cross-distro development imo; at least right now
    And then 'all you need' is like a mini-guide that's like 5-6 commands, (half of that is to install distrobox and enter a container and the other half is how to build a makepkg) and boom, then just need to make sure like the Aur package is maintained / up to date
    Something like:
    curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh 
    distrobox-create --name gerbil-dev --image archlinux:latest
    sudo pacman -S base-devel git gcc
    git clone https://aur.archlinux.org/gerbil-scheme
    cd gerbil-scheme
    makepkg -si
    JOST GRANT
    @jostgrant:matrix.org
    [m]
    (edited because accidentally copied the uninstall script path not install lool)
    But yeah, pretty dang easy. And think it solves this problem as much as reasonably is possible for cmd-line bound programs
    Well it also 'solves' gui too, but I'm somewhat partial to flatpaks on that end.
    amirouche @amirouche waves hello and try to scroll back.
    vyzo
    @vyzo
    :wave:
    Marc-André Bélanger
    @belmarca
    :wave:
    :mouse2:
    vyzo
    @vyzo
    hey guys, I want to setup some github automation to build binary distribution packages for various linuxes
    wr should make a single package, incl. a gambit, and install in /opt/gerbil
    thr workflow would kick on mater pushes, that is every time we merge a pr
    any volunteers to help?
    we can also limit the workflow on release/nightly tags
    bottom line, i think we would really benefit with CI prebuilt binaries
    François-René Rideau
    @fare
    nice
    Jaime Fournier
    @ober
    @vyzo yes. I've got a multi-distro dockerfile
    vyzo
    @vyzo
    yes, we can build docker conainers as well
    but i want a tarball that works out of the box in any distro
    Jaime Fournier
    @ober
    sure.
    glibc linkage could create incompat issues right?
    we could also use a pkgsrc root of /opt to install the very minimal items required to get gerbil-scheme bootstrapped and compiled
    vyzo
    @vyzo
    yeah indeed
    i want /opt rooted packaging
    but yeah, glibc could be an issue
    François-René Rideau
    @fare
    @ober What are alternative libc's these days, and wouldn't users of an alternative one "just" recompile Gerbil anyway?
    vyzo
    @vyzo
    i guess thats a good point