What do you do when you get a bunch of files like this from a
zipfile?
I’ve blurred the messed-up file names because I’m not convinced it’s
impossible to reconstruct the Chinese names of people from them and I’d
rather err towards being paranoid about privacy. Except for the one file
name whose author’s identity I’m OK with disclosing.
Back story: I have been tasked with collecting everybody’s Chinese
assignments for this semester. I didn’t even do that part yet (I really
should); first the girl who handled last semester’s assignments had to
pass on the files she collected to me, and I unzipped the attachment to
reveal these file names.
So, what have I been doing with programming recently?
Scala is an amazing
multiparadigm programming language that runs on the Java Virtual Machine
and interoperates with Java. I learned about it last time reading random
articles on Twitter.
When I say “amazing” I mean “This is a language in which my code
gives me nerdgasms every time I read it.” Wheeee.
Okay, it’s not perfect. People say it’s too academic. It has a
notoriously complicated type system (which is
Turing-Complete
at compile time). Its documentation is a bit patchy too. For a
serious introduction, the Scala website has plenty of links under
documentation, and a tour
of features. Somebody wrote
another tour that
explains things a bit more. So here, instead of introducing it
seriously, I’m just going to screw with its features.
Example of freedom. Scala lets names consist of symbols, and treats
one-parameter methods and infix operators exactly the same. The full
tokenization rules are a bit detailed and I put them at the bottom of
this post for the interested. This lets you create classes with
arithmetic and domain-specific languages easily, but it also creates
some silly opportunities: