3,791 reputation
21647
bio website connjur.uchc.edu
location Connecticut, USA
age 27
visits member for 2 years, 8 months
seen yesterday

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

Jun
24
comment What does scannerless parsing have to do with the “Dangling Else Problem”?
@Giorgio no, it's off topic.
Jun
24
comment What does scannerless parsing have to do with the “Dangling Else Problem”?
@Giorgio that is a good question and I would love to answer it; however, it should be a separate question as it's off-topic from the OP here.
Jun
24
revised Make a flowchart to demonstrate closure behavior
added 618 characters in body
Jun
24
revised Make a flowchart to demonstrate closure behavior
added 31 characters in body
Jun
24
answered Make a flowchart to demonstrate closure behavior
Jun
24
comment What does scannerless parsing have to do with the “Dangling Else Problem”?
@Giorgio yes.
Jun
21
comment Is it a good idea to read compiler source code?
I am truly amazed that all the answers say "no, don't do it". I couldn't disagree more with those answers. In addition to reading source code, you might enjoy and benefit from reading academic papers describing parsing algorithms and compiler architecture. +1 for a good question and good luck.
Jun
21
comment Finally block for methods - is it a bad idea?
Cross-posted: stackoverflow.com/questions/17223949/…
Jun
18
comment What does scannerless parsing have to do with the “Dangling Else Problem”?
@Giorgio ... um. That example doesn't really help me. Scannerless parsers could be implemented like that, but there's much easier/safer/clearer/simpler ways of doing it. But I guess if that's the point the wikipedia page was making ...
Jun
18
comment What does scannerless parsing have to do with the “Dangling Else Problem”?
@RobertHarvey a common way to define languages is using a context-free grammar, plus a bunch of rules which disambiguate the grammar, if necessary.
Jun
18
comment What does scannerless parsing have to do with the “Dangling Else Problem”?
@Giorgio I am confused by your comment: 1) why does a scanner-less parser need a more complex grammar? The grammar is independent of the implementation. 2) heuristics? Isn't there a well-defined answer to the dangling else problem -- no guessing required?
Jun
18
asked What does scannerless parsing have to do with the “Dangling Else Problem”?
Jun
18
comment Homogeneous vs. heterogeneous AST representation
Good question. Asked on stackoverflow: here.
Jun
18
revised How can I salvage my internship?
good answer, but it's really hard to read with random bold, capitalization, and quoted patches
Jun
14
revised When is it a good time to reason about performance in Haskell?
added 2 characters in body
Jun
1
revised Disadvantages of functional intermediate form
added 89 characters in body
May
30
comment Phonetic programming language?
Do you have any evidence to back that up, or is it purely speculation?
May
24
comment What did Rich Hickey mean when he said, “All that specificity [of interfaces/classes/types] kills your reuse!”
Sorry, but after carefully rereading the article and listening to the speech, I feel forced to conclude that there's nothing more than the most incidental of similarities between the flyweight pattern and what Rich was talking about ... I would love to be convinced otherwise though! :) ... I also can't find any support for the notions that flyweight objects must be "code-less values", or that use of "code-less values" must mean one's applying the flyweight pattern ... :(
May
24
comment What did Rich Hickey mean when he said, “All that specificity [of interfaces/classes/types] kills your reuse!”
The flyweight pattern is not what Rich is talking about. As the second sentence of the article states, the purpose of the flyweight pattern is to conserve memory. Rich's approach does not seek to do that.
May
24
comment Strengthening code with possibly useless exception handling
Some people think that the "robustness principle" is crap. The article gives an example.