From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id MEjwN9NIDV9QGAAA0tVLHw (envelope-from ) for ; Tue, 14 Jul 2020 05:55:31 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id INKsM9NIDV8LEQAAbx9fmQ (envelope-from ) for ; Tue, 14 Jul 2020 05:55:31 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 26CB89400B7 for ; Tue, 14 Jul 2020 05:55:31 +0000 (UTC) Received: from localhost ([::1]:39678 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jvDub-00056W-EZ for larch@yhetil.org; Tue, 14 Jul 2020 01:55:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53886) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jvDto-00056O-E8 for emacs-orgmode@gnu.org; Tue, 14 Jul 2020 01:54:40 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:37707) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jvDtk-0004zz-AK for emacs-orgmode@gnu.org; Tue, 14 Jul 2020 01:54:40 -0400 Received: by mail-wr1-x430.google.com with SMTP id a6so19795017wrm.4 for ; Mon, 13 Jul 2020 22:54:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=48MLS+46V+dMV9xSUca2dF5hQq84VujYdklC4LIG1WQ=; b=RyQPoQkNkJDqmUPG5lYRUfEtxe1RksFrdHEpI6LARxRrdQ5Eo6G8bRy4Gbh7Co1k2Y kUEFh8twrgJIoqUot90FZjMQtzeKMiHi35zINp73gduuCBH9dRXnYUu9VSuMWmFhLBPU r178euZiQkjXW0Mtu9D5deCF6EvbYzHJxnoufImy1fM01VNKHSc1XFE4Rg4RluiUGzAk 8mDjoq0O6G/S22bEGTRSoTz4yc3hsS4AxM/r7icFT7q2br3gwlJWKKDT4Jnecl2gsgAM YzRl3bXV78zcMrA25D6Fb/Jalx2Eh/7WIGacUf1vIirKgVKL7E+pDe6R/wWo1VW5LHHR +P5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=48MLS+46V+dMV9xSUca2dF5hQq84VujYdklC4LIG1WQ=; b=GOcnDCR+PqOahrTFjmZLB6pvNWcD/khj30k9z+4w2JjGiL5s5ACDo9CHtvfIHziHkC sFtHSjsQPMuWfx87xwAxVtCh79o6yITqktvr2P96RKCoBiN5g86oZNz4ISiTPvNhllSI pXxo+ane9c6JuG6kAKiAfsNyW8bhH8MvHh23DknPb5sUQXgcysrFIinJ2VjOSdi1qt1x qW/kkWQ9JSMoNzBZ2l4Ngj5lrPKlhQrjnzPgUepSe/mvWRTdy91bEZtBmWgYUzCoYp4I PLQxu6ipW49fIx77pNcg17WzDq1fxiWOzPoPiWx6MjCQIiJkABp/fRwQfQ4N1oVtyb/f AOvA== X-Gm-Message-State: AOAM531ot8ubIWWOkJ9IQq0/S0ZE/AnhOZlq4GQtNR7Y+nk2G+uBT/hA sfR0puLgiWFI5AU8GY1TwKNXehyZN+yZYzv7o2M= X-Google-Smtp-Source: ABdhPJzdvuf8933ZA0tYzFDCFuOaXV28Wg+qf6yHGVaTY1EvZ8WqhYk+Td1jQnkhyl0pjvzui1Lmhw3IAMkhsrJjTfc= X-Received: by 2002:adf:ef89:: with SMTP id d9mr3403174wro.124.1594706073855; Mon, 13 Jul 2020 22:54:33 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Tom Gillespie Date: Mon, 13 Jul 2020 22:54:42 -0700 Message-ID: Subject: Re: Updates to ob-racket mode, code review request To: gmauer@gmail.com Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=tgbugs@gmail.com; helo=mail-wr1-x430.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=RyQPoQkN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: -1.71 X-TUID: eTon1CQYby1J Hi George, I took a glance at your additions, nothing jumps out as being problematic. I have been using wallyqs ob-racket (https://github.com/wallyqs/ob-racket) for about 4 years because it has support for specifying the #lang in the header, and I seem to recall that there were some other features that were lacking in all the (2? 3?) other ob-racket's that I tried. I do not think that any of the existing ob-racket implementations should be put on melpa since they do not interoperate with the recent work that Greg has done on racket-mode to support comint and multiple repls (not to mention racket-xp-mode). Which is to say, that I think that proper session support is a prerequisite for any ob-racket implementation become "the" ob-racket on melpa or elsewhere. There are also significant issues with how racket's "the top level is hopeless" attitude interacts with things like org-babel's concept of a session (which one might be able to make equivalent to a racket-mode repl). There are likely ways around this, but I suspect they will involve something like dynamic-rerequire and fiddling with namespaces to make it possible to rerequire a module into an existing session. Alternately, compiled racket modules load fast enough that running raco make on racket source blocks behind the scenes might be able to fake a session-like experience. One place to look for inspiration on this might be ob-clojure-literate which has to deal with some similar issues. Another though related to sessions is around the possibility of running racket blocks pointing to remote sessions. With lisp blocks it is possible to switch to a session running on a remote server and send the code to it that way. With the work that Greg has done for racket mode it should be possible to spin up a remote racket session or connect to one and then run the block in that session. Don't let this stop you though :) Best! Tom