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-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.