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

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


Am Freitag, dem 18.08.2023 um 17:03 +0100 schrieb Sean Charles
(emacstheviking):
> At last, fame and fortune! :D
> 
> Thanks Volker, that's a goodly sized page you have put together there.

This isn't the first effort at something like this. There's the "Packages"
website, which is dead now. (https://mercury-in.space/packages/). I've
incorporated it all, on a web page on its own, which is linked from the
Mercury Ressources page:

http://volker-wysk.de/mercury/mmc-get-libs.html


Cheers,
V.W.

> 
> 
> 
> > On 18 Aug 2023, at 17:02, Volker Wysk <post at volker-wysk.de> wrote:
> > 
> > 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.png>emacstheviking/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/19a830b6/attachment-0001.html>
-------------- 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/19a830b6/attachment-0001.sig>


More information about the users mailing list