3,877 reputation
21648
bio website connjur.uchc.edu
location Connecticut, USA
age 27
visits member for 2 years, 9 months
seen Jul 23 at 13:44

I work in a scientific computing group on the CONNJUR project, providing open-source software for NMR (Nuclear Magnetic Resonance) spectroscopy.

Check out some of my work on github:

  • NMRPyStar: an API for accessing archived NMR data files in the NMR-Star format used by the BMRB.

  • Miscue-js: validation of JSON files to deal with obnoxious and tricky interoperability issues such as number overflows and duplicate keys

Some technologies that I've used and like:

  • Python
  • git
  • Javascript
  • Haskell
  • Java
  • MySQL

Apr
5
comment What is the difference between “Syntax” and “Syntactic Sugar”
@Giorgio to rephrase my answer: syntactic sugar arises when there are multiple concrete syntaxes for a single abstract syntax term. My answer purposely avoids the thorny issues of AST transformation, AST equality, and semantics.
Apr
5
comment What is the difference between “Syntax” and “Syntactic Sugar”
@Giorgio unfortunately, I don't know enough C to confidently state whether either of those is syntactic sugar for the other, or what their abstract syntax trees would look like. Or even if C's spec actually defines an abstract syntax. :(
Apr
5
comment What is the difference between “Syntax” and “Syntactic Sugar”
There are different types of semantics, some of which are concerned with the sequence of operations (e.g. operational semantics), and some of which aren't (e.g. denotational semantics).
Apr
5
revised What is the difference between “Syntax” and “Syntactic Sugar”
perlis quote
Apr
5
answered What is the difference between “Syntax” and “Syntactic Sugar”
Apr
5
reviewed Approve suggested edit on What is the difference between a stock-hardware and a micro-coded machine in “A Critique of Common Lisp”?
Apr
4
comment What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?
No. Homoiconicity is orthogonal to concrete syntax. It's about abstract syntax, and how code is represented and evaluated. There are Lisps which are not homoiconic (I've written one myself), and non-Lisps which are homoiconic.
Apr
4
revised Performance of single-assignment ADT oriented code on modern CPUs
i'm a moron ... accidentally f***ed up the tags for no reason
Apr
4
comment Performance of single-assignment ADT oriented code on modern CPUs
I'd also like to point out that memory efficiency doesn't necessarily have to depend on compiler optimizations when using immutable structures. In this example let a = [1,2,3] in let b = 0:a in (a, b, (-1):c) sharing reduces the memory requirements, but depends on the definition of (:) and [] and not the compiler. I think? Not sure about this one.
Apr
4
revised Performance of single-assignment ADT oriented code on modern CPUs
added 4 characters in body; edited tags
Apr
4
comment What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?
@AmoghTalpallikar the only way to get good at it is to do it and look at how other top coders do it. There's no magic trick. Parentheses matching isn't a problem if you have any kind of code-aware text editor at all.
Apr
4
comment What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?
Yes, Lisps do have syntax in multiple forms: 1) numbers, strings, symbols, lists, etc.; 2) special form syntax -- such as define <symbol> <form> or lambda <parameter list> <body forms>; 3) macro syntax, both reader macros and the other kind; 4) syntax extensions such as Clojure uses, i.e. [...] for vectors, {...} for object literals, etc. So it's really false advertising to say that Lisps are syntax-free.
Apr
4
answered What are the practical benefits of LISP like syntax which Clojure uses over Java like syntax of Scala?
Apr
3
revised Map of functions vs switch statement
added 153 characters in body
Apr
3
answered Map of functions vs switch statement
Mar
29
comment Why is Option/Maybe considered a good idea and checked exceptions are not?
Also see the Either e a datatype.
Mar
29
comment Why is Option/Maybe considered a good idea and checked exceptions are not?
-1; exception explanation and example doesn't make sense; doesn't mention the common Either datatype, which is probably what the OP meant to mention; doesn't mention common boilerplate-avoidance techniques when dealing with nullable/error types such as monads and applicative functors.
Mar
26
revised What does SVN do better than Git?
minor cleanup
Mar
23
revised How can I learn to effectively write Pythonic code?
i'm an idiot ... seriously what a dumb question
Mar
23
awarded  Good Question