Re: [m-users.] Best way to implement constants ?
Volker Wysk <[email protected]>
| Newsgroups | gmane.comp.lang.mercury.general |
|---|---|
| Message-ID | <[email protected]> |
Hi! Am Freitag, dem 18.08.2023 um 16:24 +0100 schrieb Sean Charles (emacstheviking): > I've tried the emacs mode many times but it just doesn't seem to work for > me, the layout always feels broken and somehow not quite right. And that's > running a clean emacs with ONLY the mercury mode as distributed... is that > the one you are using ? Yes, that's the one. The automatic layout only works well, when you have the same idea about how it should look, as the author of this mode. I've made a shortcut for inserting a newline, while circumventing the re-layout that the return key triggers: (global-set-key [C-return] (lambda () (interactive) (insert "\n"))) > > As for my Mercury projects, here they, feel free to post them wherever you > like! Got it, thanks. What about your Mercury mode for nano? Cheers, Volker > > > > mercury-library-samples.pngemacstheviking/mercury-library-samples: Some > simple working samples of the > various system suppled Mercury libraries. > github.com > > > https://github.com/emacstheviking/mercury-rinse-repeat > > > mercury-pberr.pngemacstheviking/mercury-pberr: A Mercury+Nano editor > formatter plug-in. > github.com > > > https://github.com/emacstheviking/mcnew > > The mcnew one was the first real thing I wrote for myself, I still use it. > I've tried to use mmc --make etc but not really spent enough time to make > the switch fully as a lot of my code uses external C libraries and I never > managed to figure out the lines to go in the Mmakefile etc... I have a > system that works fone for me, > > > > > On 18 Aug 2023, at 16:07, Volker Wysk <[email protected]> wrote: > > > > Hi, Sean > > > > "nano-scale" was a pun, and also the idea I had of nano. I thought it > > was called like that because nano is minimalistic. > > > > Your description is interesting. But I will stick with Emacs. > > > > I'd like to add your Mercury mode and your custom formatter hook for > > nano to the Mercury Resources List. I'd also like to add other useful > > projects of yours. I'm a little lost in the 50 projects you have on > > Github. Could you tell me the names of the projects you own, which you > > think are suitable for adding to the list? I'll do the rest. > > > > Cheers, > > Volker > > > > > > Am Freitag, dem 18.08.2023 um 15:44 +0100 schrieb Sean Charles > > (emacstheviking): > > > If by nano-scale you mean 'nano', then yes, that editor. I took a > > > snapshot and put it here, I have no ida how long it remains alive: > > > > > > > > > <37SlORCNzgln.png>nano with mercury syntax highlighting - Image on > > > Pasteboard > > > pasteboard.co > > > > > > > > > I modified the Prolog mode to work a little better with Mercury, it's > > > by no means perfect, there are some odd colouring issues when I have a > > > string containing certain escape sequences, but bearing in mind nano > > > uses simple regex filters to figure out what to colour, I am still > > > very happy with the way it works. > > > > > > I wrote a tool to use the 'formatter hook' in nano, so that, after a > > > compile, if there are errors, I just do 'Meta-F' and it inserts the > > > errors messages into the source file, as a comment, and the hook I > > > wrote (in Mercury) adjusts the errors to work with my syntax > > > highlighting, another small image: > > > > > > <Uu5jsXV8YqEX.png>Mercury with nano - Image on Pasteboard > > > pasteboard.co > > > > > > > > > > > > The custom formatter hook is here on > > > github: https://github.com/emacstheviking/mercury-pberr > > > I have some other stuff that's mercury related there, I think I've > > > troubled this list with it before?! :D > > > > > > Cheers! > > > > > > --- mercury nano configuration file, ~/.nano/mercury.nanorc --- > > > --- BEGIN --- > > > > > > ## Mercury, ported and adjusted from Prolog mode. > > > > > > syntax "mercury" "\.m$" > > > comment "%" > > > > > > ## Written in Mercury for Nano+Mercury, this will interleave > > > ## a FOO.err file when called from FOO.m via Meta-F (formatter) > > > formatter pberr nanoformatter > > > > > > # Integers and floats > > > color yellow "(^| |=)[0-9]+\.?[0-9]*" > > > > > > # Variables > > > color magenta "(^|[[:blank:]]|\(|,)[A-Z_!][a-zA-Z0- > > > 9_\.\:]*($|[[:blank:]]|,|\))" > > > > > > # Anonymous variable '_' > > > color yellow "(^|[[:blank:]]|\(|,)_($|[[:blank:]]|,|\))" > > > > > > # Functions > > > color cyan "(^|[[:blank:]])\w+\(" > > > color cyan "\(|\)|\[|\]|,|=|\\=" > > > > > > # Comments > > > color green "(^|[[:blank:]])%.*$" > > > > > > # Strings > > > color yellow "\".*\"" > > > > > > # compiler :- > > > color cyan "^:- .*$" > > > > > > # custom errors for pberr > > > color red "^%E.*$" > > > > > > # Reminders > > > color yellow > > > "(BUG|DEBUG|FIXME|IDEA|NOTE|REVIEW|TEMP|TODO|WARNING|XXX|TOFU)" > > > > > > # Spaces in front of tabs > > > color ,red " + +" > > > > > > --- END --- > > > > > > > > > > > > > > > > On 18 Aug 2023, at 14:35, Volker Wysk <[email protected]> wrote: > > > > > > > > Am Freitag, dem 18.08.2023 um 14:25 +0100 schrieb Sean Charles > > > > (emacstheviking): > > > > > LOL! I am a lapsed emacs user of 30 years... vscode stole my > > > > > affections, > > > > > saying that, I use nano exclusivly for Mercury, I've written a few > > > > > tools > > > > > to help me out, and all in all, nano is just fine! > > > > > > > > You mean that nano-scale editor? For real? Does it even have a > > > > Mercury (or > > > > Prolog) mode with syntax highlighting, like Emacs does? > > > > > > > > > > > > > > > On 18 Aug 2023, at 14:24, Mark Brown <[email protected]> > > > > > > wrote: > > > > > > > > > > > > On Fri, Aug 18, 2023 at 6:26 PM Sean Charles (emacstheviking) > > > > > > <[email protected]> wrote: > > > > > > > My question is simple this: is what I have done 'ok' or is it > > > > > > > a diabolical insult to all that as beautiful and holy in the > > > > > > > Mercury world? > > > > > > > > > > > > You mean the planet? :-P > > > > > > > > > > > > To answer your question in general, the measure of what you > > > > > > write > > > > > > depends on your intended audience. It's the same for programming > > > > > > as it > > > > > > is for other kinds of writing. Having said that, I hate it when > > > > > > I > > > > > > can't use tags in vim. > > > > > > > > > > > > Mark > > > > > > > > > > _______________________________________________ > > > > > users mailing list > > > > > [email protected] > > > > > https://lists.mercurylang.org/listinfo/users > > > > > > > > _______________________________________________ > > > > users mailing list > > > > [email protected] > > > > https://lists.mercurylang.org/listinfo/users > > > > > > > > _______________________________________________ users mailing list [email protected] https://lists.mercurylang.org/listinfo/users
mercury-library-samples.png
(image/png, 142.3 KB) - not displayed
mercury-pberr.png
(image/png, 123.4 KB) - not displayed
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE6QXGh82Ov3+2nrxp+K4ydFOsHoUFAmTfkOwACgkQ+K4ydFOs HoVrqA//UdFxnm1l/+yEjVjDd8t6N35XMd5kiOM3X8Bwm8pm/kH5MKOpAttq9WQ/ q9JxdRSRn9hm41EYZ9+PhjO6sPE8Q0QrtXp2Xt41T/Qas8NHZsc0QGfZJeyimGdA WzUahwP/2Fliu/cY/yDgmhZa8KrpC7h8HdKBn8VLODPlIptlyU0fTJ/4LYOAtYA9 uYdMEnsH3nSC0EUdpy9fWHMDUWnVQ4nIQArnilPn9WfwO8dpb8YBSzU4oo1+bDzf xiPrsU1emeUyS5paJaor15z3CBBqY8h56OPqQaM1ZR5lGHeKtd4oXvTWs4U1qOpv rTX2MYje9cM4NXxPTnIx+3SPYdX0QDfsQdCkujjiwaG4Yq8emewhwRdxWbYHenMq KUUYEOcXjG6UiNj3OnqD7M4wwLy8ui5RJh5dTx9W3qZUP+W8M/WFcq2kZDYhBuPF 31Zqj60s3HIC9UbSESxeb55a+yzu98FVYfuNr+t/oC0rOaIx8e7QJip2RFPRN6ZQ EgqZwBY8bBNg5Gh70p8Pf6EYTRH9TGB1Cy1Byr1ISn9aqx15wEvQlMFwe+PYYv12 yY3orLaqHAkYC6wcbwhMkXButOkPcEvvs2YN5cLBXCDLr9PgKrlCjeRGqoh9mHVQ H29qyKjxzHLpaDrlJXZXHkm+IRzHewrFcv7UMKEmddX+fMugRVc= =0K2U -----END PGP SIGNATURE-----