From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 4Js8LgxN1WJbGwEAbAwnHQ (envelope-from ) for ; Mon, 18 Jul 2022 14:07:40 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id oDEKLgxN1WLAUAAA9RJhRA (envelope-from ) for ; Mon, 18 Jul 2022 14:07:40 +0200 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 A8BEB327E6 for ; Mon, 18 Jul 2022 14:07:39 +0200 (CEST) Received: from localhost ([::1]:40338 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oDPXF-0000Oy-TA for larch@yhetil.org; Mon, 18 Jul 2022 08:07:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDPSB-000466-48 for emacs-orgmode@gnu.org; Mon, 18 Jul 2022 08:02:27 -0400 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:48291) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oDPS4-0007Q1-Vm for emacs-orgmode@gnu.org; Mon, 18 Jul 2022 08:02:22 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id BC485320069B; Mon, 18 Jul 2022 08:02:12 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Mon, 18 Jul 2022 08:02:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ypei.org; h=cc :content-type:date:date:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t= 1658145732; x=1658232132; bh=v24M8ye+rPON3ok+Y2IXzgIaCsJn3Qab1jz OIsuOQ1g=; b=OfjedlYYAmlJ2Y79AdEe1W7P04U1VLdMymSQKVCd/P/5JbupVEw ZaYpAWnyqwu2/LAnF7qhnUSMgqZhsv9+etHSH4n8VkvtFDVT5U+WqKYEk2diGCfb Vpv6/F/2aEZI62uZ2u/SDfoFFWgudlgNNNhbJ+MBnTQtKIj031Z6+eLFqi67wVEa RgfKr0oskfTyCgXJQKMakvv5VQvilHWMFs7M/fEvhz1ZthcxNCdW7yvvQDeKUpmI CiouhapRuQXh7GVLBO5vd9+Bf+x3auAa6PHgz6vVzZvCBmEMDWZCGD+T8yJNSo4q s+gioxLM9xnjs10vIWzY2+etgQMX20wXOaA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1658145732; x= 1658232132; bh=v24M8ye+rPON3ok+Y2IXzgIaCsJn3Qab1jzOIsuOQ1g=; b=z vlOMfSAfTE8dFs6OOdvczm953jQ8r1LMsCYSeR9KrSGWnJWgfW9Zawl61U4xNh/n DzGlTBVNuyGCljlfKAzEN0U2KenoRVn8NopAssBVfm3pA4wS2QXmX4naJE7z7eMv Qd67Sljkp5wcfPArxLAh2hulrjbfCvZiQ+8W6Jgs1BzYTavLBOjYHGapEGv23C4T Ga8HzLLNqzzl00YuKVj0jNAspDaWWSXIuO7m9ezB0038K5gmj9PL4go8ogj/f1cV qVvuyChNB72j7cYzPIWXyZ5yJK/NFNktJLc2NaaHyqE9BuBU2MYFAd3ppuEr52+Y czRTEPCMEst0S+6DjZe1w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudekkedggeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkfgfgggtsehttdertddtredtnecuhfhrohhmpegjuhgthhgvnhcu rfgvihcuoehiugeshihpvghirdhorhhgqeenucggtffrrghtthgvrhhnpedvuddtgeevfe duudegfeduudeliedtffeludefieevjeejveevtedvueeugeehkeenucffohhmrghinhep hihpvghirdhmvgdphihpvghirdhorhhgpdhrvggrughmvgdrohhrghenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehiugeshihpvghirdhorhhg X-ME-Proxy: Feedback-ID: i51b146f9:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 18 Jul 2022 08:02:10 -0400 (EDT) From: Yuchen Pei To: emacs-orgmode mailing list , haskell-cafe Subject: An org backend to Haddock Date: Mon, 18 Jul 2022 22:02:06 +1000 Message-ID: <87k08azl1d.fsf@ypei.me> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=64.147.123.24; envelope-from=id@ypei.org; helo=wout1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1658146060; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=v24M8ye+rPON3ok+Y2IXzgIaCsJn3Qab1jzOIsuOQ1g=; b=K5nUJ/kW1VjY5EGMnV11JuQudbIaMHYxuWQHLWfTrn1n8W86Xi5v8hiuvNNSJWMC27FMCH OCUpEKk09STd/RFCqxQxqF0nliMTNmZBoDscAlyWsbaBsp+jtM8i1R3oJUhPmmb8q2TXIH 26/X3mQqwbHfHZCvYSJ+Wt9GAiiz0J5DcGu2Qm5QAYf9mnKCHot6NMchS3gaLC2we7lbkZ HEiuR5V2sawt2SDS0uQ/xv9xM5X/Owi+f8aBzx0U2AIVcv4iRfFJc/TLMVVEqRQyuzuyQt v4N2q4QFbFg3ZVj6JOrKa3y2mTPR5G/V62i3FqSxVsIaQMo8P3n78EEAUC/MRw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1658146060; a=rsa-sha256; cv=none; b=WwsV17mP2tbQcswAhP4VkVt4sBwbh0fi6Mr/g1x0N48N96gEP2xPYJydWC+7xdQVfEHNa6 dHdjmWkxdnPGSHo+YRVKhw6LL8urTGVlqXYZyxdXut2FOGDdIetCUMWjwnJ6kwnd4zS/9x L6anIyuc6E87AiTfUiX8YLsCi5bRLYLkM5zccbGS6qiX+kajmYSgLNPZl+BZz3EYHa0lpS nHMYjpFTYhVOY+3hDC07B0sulwgGmGQTyoob5JIKtN3zzM2gAld1tuWoXJRx9rMxsmyb9e SP1M6IWmzGFYWGfGFNYnUsIc08zcc2FbV4IlxJO9aDjaADbMJ7u45QIViyI1zA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=ypei.org header.s=fm1 header.b=OfjedlYY; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b="z vlOMfS"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 1.17 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=ypei.org header.s=fm1 header.b=OfjedlYY; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b="z vlOMfS"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: A8BEB327E6 X-Spam-Score: 1.17 X-Migadu-Scanner: scn1.migadu.com X-TUID: Bvfz1RR2thgk Hello, I decided to write an Org backend to Haddock[1], so that haskell library documentation can be generated in org mode markup. Compared to the existing backends (html, latex and hoogle), the org format allows utilising features like the infinite levels of heading hierarchy, flexible folding / unfolding, cross-package linking, jumping to any declaration with org-goto and the endless potentials of emacs customisation. It seems to me most information and haskell language features one can find on displayed on hackage are supported by the org backend and included in the output org files, though there are still some rough edges and unsupported language features (like infix declarations and linear types) which I aim to fix. Some example output can be found at [2] (I will need to rename the "assets" part of the url as it is not accurate), including base[4], ghc-prim[5] and ghc-lib-parser[6] (I use it for reference of the GHC API as it is easier to build than GHC). For more information, check out the README file[3]. Given this is not the official version of haddock and my changes are in haddock-api, I'm calling it haddorg-api, for lack of a better name / approach. I'll be happy to contribute my changes upstream if a different license covering my contribution (AGPLv3+) is accepted. Let me know what you think. [1] https://g.ypei.me/haddock.git/tree/haddock-api [2] https://ypei.org/assets/haddorg-output/ [3] https://g.ypei.me/haddock.git/tree/haddock-api/README.org [4] https://ypei.org/assets/haddorg-output/base-4.16.1.0.org.gz [5] https://ypei.org/assets/haddorg-output/ghc-prim-0.8.0.org.gz [6] https://ypei.org/assets/haddorg-output/ghc-lib-parser-9.2.2.20220307.org.gz Best, Yuchen -- PGP Key: 47F9 D050 1E11 8879 9040 4941 2126 7E93 EF86 DFD0