Today I Googled something like “julia lang compiled” for the umpteenth time in several months, and then I remembered that Nimrod existed, except it’s Nim these days, and it might make it to version 1.0 any week now. I decided to look around a bit, and I discovered that the documentation seems to have improved, and the language has gotten more fleshed out. I decided to try two small things I’ve been doing a lot of lately, SSH-ing and HTTP-getting and posting, and see what they look like in Nim.
So, the first neat thing is that you can rename your modules with the
as keyword the same way you can in Python. The next thing is that the
httpclient.get() function performs a GET request, and then returns a tuple that I’ve named
resp. The elements of this tuple can be retrieved using dot notation.
import httpclient as http var resp = http.get( "http://apple.com" ) echo( resp.body )
Calling this as
nim -r c get_example.nim will compile and run the code, returning the body of the HTML for apple.com.
System Commands, like SSH
I was also interested in running things from the command line. In this example I use a convenience function
osproc.execCmdEx() that returns the output of the command and the exit code. In Python we’d have to fool with the
import osproc var cmd = osproc.execCmdEx( "ssh remote ls" ) echo( cmd.output ) echo( cmd.exitCode )