Comments - vilinski/nemerle GitHub Wiki

Table of Contents

Separate pages

Notes about the proposed try .. unless construction.

Plain comments

Please enter your comment at the top of comments list.

Vim indentation file

I got bored by correcting those few cases, when cindent fails to indent code as I like (pretty the same as coding style mentioned on Hacking...). So I wrote that little script which put under ~/.vim/indent as nemerle.vim seems to do the job. However, I've never before done such thing, so it is likely to appear as quite primitive and buggy. Any improvements are welcome ;-) BTW: Vim syntax file misses partial keyword and double, long, ulong, uint types.
--kali 23:48, 3 May 2005 (CEST)

I have just fixed the syntax file according to your suggestions. Maybe you would like to maintain this indentation engine in our SVN? Please contact me privatly if so. --Malekith 08:03, 4 May 2005 (CEST)

So, the engine is in repository under nemerle.indent.vim not to conflict with syntax file. Some changes were also made - now the code seems to be less complex and it supports design by contract macros in a way that can be seen on code snippets in appropiate section of the wiki.
--kali 17:24, 4 May 2005 (CEST)

I have nearly completely rewritten indentation code. Now it is much less complex and finally handles correctly all the stuff related to matching (at least I think so ;) Perhaps one only thing that might not work yet is stuff connected with metaprogramming, as I don't have any experience with it yet and so I have no idea what needs to be done. Patches are welcome ;)
--kali 20:16, 6 May 2005 (CEST)

I threw together a very clumsy regex to highlight some operators. It's not actually useful, since it will highlight invalid sequences of operator characters, but it still looks very slightly nicer than leaving it out altogether. The following two lines belong in the nemerle.vim syntax file:

 syn match nemerleOperator "[<>!=*/%&|+-]\+"
 HiLink nemerleOperator Operator

I'm not clear on what nemerleTyArg does, but this overrides it so you can probably comment that out. --Nulhapiatov 23:03, 25 November 2008 (CET)

Comments from users

  • I'm happy to find a language so close to what I've been looking for. I believe Nemerle has a great future ahead. Seems to be a good bridge for OO/imperative style C-derived language users to dabble in functional style, and the macro facility seems like a dream come true to me, coming from a background writing C++ template metaprograms.
  • I simply prefer static typing than dynamic, time-consuming, error-prone checks and painful deaths of my programs... ;-) --Nazgul 13:05, 25 Feb 2005 (CET)
  • So how do you pronounce "Nemerle"? Does it rhyme with "M-perl"?
Actually it is not clear. We would have to ask Ursula Le Guin ;-) Most English-speaking people pronounce it like that. We, in Poland, tend to accent the last syllabe and pronounce the last e --Malekith 11:01, 1 Oct 2005 (CEST)
  • I've been watching this project for a while now and many aspects of the langauge seem nice. One langauge feature I've been giving a lot of though about is Design by Contract other kinds of compile time checks that can be done by using constraints and types of declaritive syntax. The SAL Annotations used by Microsoft, Spec#, and XC# seem to be the closest things I can find in comparison to what I'm thinking. I wonder if there is room for this type of concept in Nemerle?
Well, this is a long term plan for my PhD, so there is clearly some room for it. I cannot give any more specific comments right now, because this LONG term plan :) I was quite impressed by a Spec# presentation I saw about two years ago. This seemed like a proof that getting the compiler and the theorem prover to work together is possible. If you have some more specific ideas you can follow on the list, forum or privately. --Malekith 11:01, 1 Oct 2005 (CEST)
  • I'm glad I found this language, although all this concept of functional languages is new to me, it's not as scary as Haskell on first sight. :) However what I missed is duck-typing, as when you have to interop with some Ole component which exposes IDispatch it is really what saves my life and why I like explicit duck typing in Boo. Too bad there is no pseudo-type for lazy invokes as is 'duck' in Boo. :( --Snaury 21:06, 27 June 2006 (CEST)
    • Oh well, never mind, I just found that I can use extension methods for lazy get/set/invoke in a pretty simple way, so Nemerle rocks! :) --Snaury 12:09, 28 June 2006 (CEST)

CPAN/RubyGems equivalent for Nemerle

Is anybody working on some equivalent of CPAN/RubyGems for Nemerle ? That is - a centralized repository of source code + a portable installer. This seems to be the first question asked about any language these days, and both introduction of CPAN in 1995 and of RubyGems in 2003 were followed by a huge surge in Perl/Ruby popularity over the following few years, after years of their relative obscurity.

Nemerle has most of the cool stuff that OCaml/SML-ish languages have, some cool stuff they don't, and a much lower barrier of entry due to greater familiarity and access to a reasonable standard library. It could become at least as popular as they are, and bring some C#/Java programmers to the light side, but before it happens, such practical issues need to be addressed. Taw 07:40, 7 November 2006 (CET)


Maybe we (as in people willing to write Nemerle modules) could use code.google.com ? They provide hosting for subversion and issue tracker. I think one can put binary release files in subversion too. This query returns already two projects. Do you think more about the central repository or a way of installing pacakges and managing deps? --Malekith 19:44, 8 November 2006 (CET)

There are many ways of implementing such thing. CPAN and RubyGems differ a lot too. The point is making it easy for people to discover and install libraries written by other people. This requires at least:

  • A standard for packages (like gems). Packages can be pretty much anything (like a tarball/zip with standard metadata file(s) and content files). It doesn't really matter whether compilation is done during package build (binary packages) or during installation (source packages)
  • An installer for such packages (like /usr/bin/gem)
  • An easy way of creating such packages (like gemspec)
  • A centralized repository or a centralized index (like http://rubygems.org/)
  • A way of searching for libraries (like gem search foo)
  • A command line utility for installing packages by name (like gem install foo)
  • An easy way of uploading to the centralized repository, or adding packages to the centralized index
  • It should work under at least Linux and Windows
  • Getting people to actually use it
Things like dependency, updates, certificates etc. can be added later.

It shouldn't really be that much work, except for the "getting people to actually use it" part. Probably half of the items from the list are already out there. It might be possible to use one of existing code repositories like code.google.com for package storage/index. Subversion handles binaries just fine (it doesn't do any automatic CR handling). Taw 03:39, 12 November 2006 (CET)

Can we use this wiki's logo in the Nemerle wikipedia article?

Currently, there is an ugly comment in the talk page explaining why the wikipedia article on nemerle cannot use the Nemerle logo. Are you willing to put the logo under some Wikipedia-compatible license? Ben 18:14, 3 December 2007 (CET)

⚠️ **GitHub.com Fallback** ⚠️