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

1d
comment Is there a real advantage to dynamic languages?
@Den that's pretty flippantly dismissive. Of course, you are welcome to your own opinion, but can you support your claim that it's not relevant in practice? (And let's set aside the issues of syntax, paradigms, and patterns; those are red herrings and/or slippery slope)
1d
comment Is there a real advantage to dynamic languages?
@Den no problem. What I mean is that if you write the same (meaning same behavior, semantics) program in different languages, you'll have to write it differently because of characteristics of the language. The same thing goes if you write the same program in different static type systems. So, coarsely, coupling to the static type system here would be the degree to which your code reflects characteristics of the type system (as opposed to characteristics of the problem and its solution).
Jul
7
comment Is there a real advantage to dynamic languages?
@Giorgio 1) no, I did not write that "it is an advantage that ...". Furthermore, in the second paragraph I was referring to the implementation of the language, not to code written using the language. 1a) that's not what Den wrote, 1b) Den did not present any evidence to back up the claim, if claim it was. 2) Not relevant to the OP or to my answer.
Jul
7
comment Is there a real advantage to dynamic languages?
@Den 1) good question, however, I feel that it's outside the scope of the OP and of my answer. 2) I mean coupling in this sense; briefly, different type systems impose different (incompatible) constraints on code written in that language. Sorry, I can't answer the last question -- I don't understand what's special about micro-services in this regard.
Jul
3
comment Is there a real advantage to dynamic languages?
"Therefore, type systems are a net win" -- this was not shown in the post. "Others see [to] quite differently. They dislike being told by a compiler what to do. They dislike the extra up-front effort to decide on the type declaration and to type it" -- horribly biased mischaracterization. The structure of the post also seems to imply that these "others" do not see the value of type systems -- which, again, was not shown in the post.
Jul
3
comment Is there a real advantage to dynamic languages?
@Doval I see -- thanks for clarifying. This may be a major point of disagreement between us: I do not accept the premise that type annotations are the only (or even most important) contributor to syntactic inconvenience (without justification, of course :) ). Therefore, from my POV, type inference by itself does not necessarily solve the syntactic convenience issue. (Of course, we may simply have different definitions of 'syntactic convenience'.) It should also be noted that type systems have to be carefully designed to enable type inference; for instance, subtyping does not play nicely.
Jul
3
comment Is there a real advantage to dynamic languages?
@Doval are you saying that 'type annotations' are the sole cause of 'syntactic inconvenience'?
Jul
3
comment Is there a real advantage to dynamic languages?
To revisit 1): you stated "even without reflection, you can achieve the same effect in just about any statically-typed language, syntactic convenience aside." So this argument relies on 'syntactic convenience' not being important, no? But then you claim that syntactic convenience is important? So doesn't that nullify your statement?
Jul
3
comment Is there a real advantage to dynamic languages?
And of course, that's leaving aside the issue of whether there even are two such languages.
Jul
3
comment Is there a real advantage to dynamic languages?
@Doval please stop moving the goalposts. I am questioning the statement in your original post "But type inference allows you to write code that's just as concise in statically-typed languages, by relieving you of having to explicitly write the types of every variable.", in which you did not state "given two languages with equivalent syntax and features, one dynamically-typed and the other with full type inference". If that's part of the argument, then it belongs in the post.
Jul
3
comment Is there a real advantage to dynamic languages?
@Doval nice try, but I haven't made a claim. You, however, have -- without justification.
Jul
3
comment Is there a real advantage to dynamic languages?
Unjustified assumptions: 1) "[...] you can achieve the same effect in just about any statically-typed language, syntactic convenience aside [...]" -- assuming that 'syntactic convenience' is not a concern of language designers and users; 2) "[...] a good statically-typed language [...]" -- assuming that a good statically-typed language exists, and that everybody is perfectly free to use it; 3) "[...] type inference allows you to write code that's just as concise [...]".
Jul
3
comment Is there a real advantage to dynamic languages?
You forgot to attribute your source for the first paragraph -- existentialtype.wordpress.com/2011/03/19/…
Jun
30
comment extensible effects in purescript
@Simon gotcha -- just edited too!
Jun
30
comment extensible effects in purescript
@Simon ah, I think I just got it. I initially didn't get what you meant by "label" ... I'll edit the answer when I get a chance.
Jun
30
comment extensible effects in purescript
@Simon maybe you could clarify the OP? I'm still not sure what exactly it's asking, and I'd be happy to remove or edit my answer if you wouldn't mind improving the OP.
Jun
10
comment Is there an imperative language with a Haskell-like type system?
1) what is perfect about it? compared to e.g. agda? 2) history of type classes; 3) type inference & subtyping, also here; 4) effects systems -- i.e. do effects have to be explicit? in the type? etc.
May
29
comment What is a real-world use case of using a Chomsky Type-I (context-sensitive) grammar
@HonzaBrabec you're right -- I implicitly assumed that arbitrary tag names are allowed. I should have explicitly stated that assumption. Thank you for pointing that out!
May
21
comment What is the responsibility or benefit of a Tokenizer?
What if your tokens can't be described with a regular grammar? Also, a huge difference between a "lexer" and a "parser" is the latter's stack, allowing it to for example, correctly parse arbitrarily-deep nested parentheses -- ((()())(((())))).
May
21
comment What is the responsibility or benefit of a Tokenizer?
-1. This is a fallacious appeal to common sense, and raises more questions than it answers. Why is that the first step? Why does it need to be separated from the rest of parsing? What's so important about tokens? What if your language doesn't have have "words" in the same sense as C? What if your "tokens" can't be parsed with a regular grammar, but require context-free or context-sensitive? How can you think about what the document means if you've tokenized it, but not assembled it into a parse tree?