Reputation
3,335
Next privilege 5,000 Rep.
Approve tag wiki edits
Badges
12 18
Newest
 Enlightened
Impact
~253k people reached

Oct
10
comment What functionality does dynamic typing allow?
@Jed: Most dynamic languages have a small set of "primitive" types and some inductive way to introduce new values (data structures like lists). Scheme, for example, gets quite far with little more than atoms, pairs and vectors. You should be able to implement these in the same way as the rest of the given dynamic type.
Oct
9
comment What can Haskell's type system do that Java's can't and vice versa?
@JörgWMittag: My understanding is that higher-rank polymorphism concerns where you can put the forall in your types. In Haskell, a type a -> b is implicitly forall a. forall b. a -> b. With an extension, you can make these foralls explicit and move them around.
Sep
8
comment Should Git be used for documentation and project management? Should the code be in a separate repository?
@ThorbjørnRavnAndersen: Even so, unless you have a binary-specific versioning system, it's probably better to keep even binary files in Git rather than on their own.
Sep
8
comment Should Git be used for documentation and project management? Should the code be in a separate repository?
A cool option would be to use Pandoc so that most of your documentation is in Markdown, but the crucial bits can still use TeX. Since it compiles the Markdown to LaTeX, the results look the same. However, this would also let you export it to different formats and would make the source easier to read.
Aug
28
comment Emacs/Vim/Vi - do they have a place in modern software development ecosystem?
Also, for some languages, the good IDE is Emacs. I've found this particularly true for the more functional languages like OCaml, Haskell, Scala and various Lisps.
Aug
17
comment What are the benefits of prefixing function parameter names with p*?
@Darthfett: Even that sort of hungarian notation seems to be trying to implement an ad-hoc, manual type system directly in the variable names. Just use a good statically typed language and have a real type system track things like that for you automatically!
Aug
10
answered Are there any theories or books about how to debug “in general”?
Aug
9
comment A completely free and open programming language
Most people use Emacs or Vim to work with Haskell. There are external tools like ghc-mod and scion that provide IDE-like features to both Emacs and Vim. There are also EclipseFP and Leksah, but I think you're far better off with Emacs.
Aug
7
comment How do you encode Algebraic Data Types in a C#- or Java-like language?
I don't really know C#, but wouldn't you have to parametrize Empty on the list's type? That is, in Haskell [] :: [a], so I expect something like Empty<A>, the same as ConsList<A>. Then you could do something like class Empty<A> : ConsList<A>, assuming the syntax actually works that way :P.
Aug
6
comment Why the question “give five things you hate about C#” is so difficult to answer during an interview?
I think he's saying the opposite--if you think a platform is not broken in any way at all, you don't know it well enough. That is, his point is that it's fine to stick to a single platform as long as you aren't blind to its shortcomings.
Aug
6
comment Why the question “give five things you hate about C#” is so difficult to answer during an interview?
@K.Steff: "Hit-list" is a perfect name for it :). I can certainly think of far more than five problems with even my favorite platform; if you ask me about a language I don't like but have been forced to use (e.g. Java or Python) I could probably go on for hours :P.
Aug
4
comment How have languages influenced CPU design?
@NikC: I was thinking that the addu and subu instructions (the ones that don't check for overflows) were the ones that were added to make C happy. Of course, I don't really know--we only covered it vaguely in lecture and I'm certainly no expert in architecture :P.
Aug
1
comment Legitimate use for IRC bots
Lambdabot in #haskell is a great example of a good bot: it does stuff like running haskell snippets, figuring out the types of statements and even rewriting functions in point-free style. People use it there all the time.
Jul
30
answered How have languages influenced CPU design?
Jul
30
comment What are good mathematical formulas to know for programming?
@MattEllen: It lets you solve recurrence relations that can help you find the complexity of recursive algorithms. This is particularly important when writing a "divide-and-conquer" style algorithm. Roughly speaking, you can use the master theorem to get the complexity if you know the complexity of each "step" and the branching factor.
Jul
28
revised Please explain the statement that the function an+b belongs to O(n^2) and Θ(n)?
added 1103 characters in body
Jul
28
answered Please explain the statement that the function an+b belongs to O(n^2) and Θ(n)?
Jul
26
answered How much should I know before looking for an internship? (self-taught with math background)
Jul
24
comment What are the factors that have made Java a success as a programming language in enterprise computing?
@FrankShearar: While I love Haskell's syntax as a programmer, I don't think it's easy to parse at all. For example, the operator precedence can depend on what modules you've loaded and even on code you haven't parsed yet! The indentation rules also seem rather complicated to implement.
Jul
21
comment Good resources and tools for modern, heavy JavaScript development?
If you're going to compile to JavaScript from a different language anyhow, there are plenty of choices--you don't have to use Java at all! For example, we're using js_of_ocaml at work right so we can write our code in OCaml and run it on the browser.