--- /dev/null
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Simple Rosettacode task for the detection of semordnilaps in a text file
+#
+# SEE: http://rosettacode.org/wiki/Semordnilap
+module semordnilap
+
+if args.is_empty then
+ print "Usage: ./semordnilap file"
+ exit(1)
+end
+
+var filename = args[0]
+var words = new HashSet[String]
+
+for i in filename.to_path.each_line do words.add i.trim
+
+var semordnilaps = new HashSet[String]
+var pairs = new HashMap[String, String]
+
+for i in words do
+ var revi = i.reversed
+ if i != revi and words.has(revi) and not semordnilaps.has(i) then
+ semordnilaps.add i
+ semordnilaps.add revi
+ pairs[i] = revi
+ end
+end
+
+print "Found {pairs.length} semordnilaps in {args[0]}"
+var it = pairs.iterator
+for i in [0 .. 5[ do
+ print "{it.key}: {it.item}"
+ it.next
+end