Re: What is Expressiveness in a Computer Language




Neelakantan Krishnaswami wrote:
In article <1150998222.352746.65520@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>, Joe
Marshall wrote:

That's the important point: I want to run broken code. I want to run
as much of the working fragments as I can, and I want a `safety net' to
prevent me from performing undefined operations, but I want the safety
net to catch me at the *last* possible moment. I'm not playing it safe
and staying where the compiler can prove I'll be ok. I'm living
dangerously and wandering near the edge where the compiler can't quite
prove that I'll fail.

Hi Joe,

How do you write programs? Specifically, how do you write and debug
higher-order programs that involve lots of combinators (eg, code
that's partially CPS-converted, or in state-passing style, and also
uses maps and folds)?

The reason I ask is that I see that there are Scheme programmers that
manage to do this successfully. However, I switched to ML because I
just couldn't get that kind of code right without having type errors
to guide me.

Since people like you and Matthias and Shriram obviously *can* write
this kind of code, I'm curious what your strategies are.

That's a hard question. It never occurred to me to remember or
document the process of creating the code. I'll try to think about it.

I've been thinking it would be really interesting to give the same
problem to two different groups of people that have different opinions
on the static/dynamic thing and see how the approaches differ. The
problem would have to be meaty enough to highlight the differences.

.



Relevant Pages

  • Re: Compiling in 32 vs 64 platform problem
    ... I use Intel Fortran compiler version 8.1. ... -|followed by linking of the different object files. ... -|go smoothly but the results obtained from the program differ from ... -|those that I get on 32 bit architecture machines. ...
    (comp.lang.fortran)
  • Re: Local Class Question
    ... > public static Foo getFooImpl(final int i) { ... The only way I can see this as working is that the compiler ... ever differ from the original. ... method is distinct from the copy in the inner class instance, however, ...
    (comp.lang.java.programmer)
  • Re: Why is C# 450% slower than C++ on nested loops ??
    ... Here is an interesting article on the optimizations of the new 2005 compiler. ... >>Sorry, above is not completely true, the C# IL may differ as I only compared ... >>(only for the loop part), the results are quite different. ... > exists because the two IL sequences are so different. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: More static type fun.
    ... The only operation that can fail is the typecase, ... Exactly how does this differ from Lisp throwing a runtime ... it's at least statically detectable: it differs from Lisp ... not have been warned by the compiler about. ...
    (comp.lang.lisp)

Loading