[m-users.] Best way to implement constants ?

Volker Wysk post at volker-wysk.de
Sat Aug 19 02:02:14 AEST 2023


Cool, thanks. I've updated the list. Your stuff can be found here:

https://volker-wysk.de/mercury/resources.html#sean-charless-mercury-code

Cheers,
Volker


Am Freitag, dem 18.08.2023 um 16:46 +0100 schrieb Sean Charles
(emacstheviking):
> There wasn't a repo for the nano thing so I quickly created one, here it
> is:
> 
> mercury-nano-mode.pngemacstheviking/mercury-nano-mode: A simple syntax
> highlighting scheme for
> the nano editor to woork with the Mercury programming language.
> github.com
> 
> 
> 
> 
> 
> 
> > On 18 Aug 2023, at 16:40, Volker Wysk <post at volker-wysk.de> wrote:
> > 
> > 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.png>emacstheviking/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.png>emacstheviking/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 <post at volker-wysk.de> 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 <post at volker-wysk.de>
> > > > > > 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 <mark at mercurylang.org>
> > > > > > > > wrote:
> > > > > > > > 
> > > > > > > > On Fri, Aug 18, 2023 at 6:26 PM Sean Charles
> > > > > > > > (emacstheviking)
> > > > > > > > <objitsu at gmail.com> 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
> > > > > > > users at lists.mercurylang.org
> > > > > > > https://lists.mercurylang.org/listinfo/users
> > > > > > 
> > > > > > _______________________________________________
> > > > > > users mailing list
> > > > > > users at lists.mercurylang.org
> > > > > > https://lists.mercurylang.org/listinfo/users
> > > > > 
> > > > 
> > > > 
> > > 
> > 
> > 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurylang.org/archives/users/attachments/20230818/99f6a2e5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mercury-nano-mode.png
Type: image/png
Size: 150683 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/users/attachments/20230818/99f6a2e5/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.mercurylang.org/archives/users/attachments/20230818/99f6a2e5/attachment-0001.sig>


More information about the users mailing list