Naremir - A new word generator program

A forum for all topics related to constructed languages
Post Reply
User avatar
Posts: 7186
Joined: 05 Sep 2010 18:48

Naremir - A new word generator program

Post by Micamo » 13 Sep 2010 15:19

Download here!

I made naremir as most word-generation tools I searched for were either long gone from the face of the internet or simply were far too inflexible to be very useful for me. It's really just a piece of Haskell I whipped up in about 20 minutes, but it works wonderfully.

To use naremir, open the command prompt, cd to whatever folder naremir is in, and use naremir $(NAME_PART) #

Where $(NAME_PART) is the name of the file you want to use without the extension (To use the quenya.txt example provided just type quenya, etc.) and # is the number of words to be generated. Naremir also strips out

duplicates so in practice you'll get a little less than the number entered. The output will be in $(NAME_PART)out.txt, making the same substitution.

To make your own naremir definitions, remember the following syntax:


Any character from ASCII can be used with the exceptions of [],. Unicode support is not built into Haskell, so enabling it in Naremir would take a bit of extra work that, frankly, I don't really have any interest in doing as I mostly use cxs for personal stuff. If it's that important to you add it yourself.

(By the way, you may wonder why I used [] instead of =. It's because cxs uses = to mark syllabic consonants.)

[ and ] require a single character (and ONLY a single character) before, and a list of things to insert separated by commas afterward. [ is used for phoneme category definitions, while ] is used for cluster definitions. Use [ to list out your consonants and vowels and then use ] to define some potentially very complicated rules for combining them.

Finally, lines without [ or ] are morpheme definitions. Morpheme definitions can take categories, clusters, or even constants. You have a lot of freedom with this so feel free to structure the output in the way that'd be most useful to you.

To make "optional" parts, just make blank inter-comma sections, like ,,,, (3 blanks. You need at least 2 in a row to make a blank). Simulating phoneme frequency can be done by repeating parts multiple times. I'm currently trying to think of a better way to do this but it works for now. If anyone has any ideas, lemme know.

I've included the following example definitions to play around with or use to get the feel for how the syntax


Agyonnar, my current main conlang. (By the way, did you know Naremir means "word maker?")
Simple, a very simple phonology I made as a basic example. Also includes some output.
Na'vi, from the movie Avatar (does not respect Phoneme frequency! I'd include this information if I had it, but as it stands the words it spits out won't sound very Na'vi-like.)
Quenya, from Tolkien. (Also does not respect Phoneme Frequency. Information on the legal clusters comes from Ardalambion. Those more versed in this stuff are welcome to make improvements.)
Italiano, a natlang (Does not respect orthography or frequency!)
Wtflang, from my Silly Conlangs thread.

I've also included a copy of this post in the Zip as "readme.txt."

Feel free to download, hate, complain, and send death threats.
My pronouns are <xie> [ʒiː] / <xer> [ʒɚ]

My shitty twitter

Post Reply