[Haskell-cafe] New type of ($) operator in GHC 8.0 is problematic

Joachim Durchholz jo at durchholz.org
Fri Feb 12 08:55:21 UTC 2016


Am 12.02.2016 um 05:17 schrieb Rustom Mody:
> On Thu, Feb 11, 2016 at 6:57 PM, Rustom Mody wrote:
>
>>
>>
>> The C version of that is described in this old paper: C in education and
>> software engineering
>> <http://blog.languager.org/2013/02/c-in-education-and-software-engineering.html>
>>
>
> Whoops pointer-indirection error :-) Sorry

Works now.

Oh, and Java relevates ease of combining third-party modules, and 
deployment automation. The key ingredient for this was Java's mere 
recommendation that namespaces be based on domain names, this allowed 
libraries to be combined without name conflicts; the other languages 
don't have this, and come with horrible linking problems that only make 
me sad.

> The original is Horrors of teaching C
> <http://www.the-magus.in/Publications/chor.pdf>
> The other link is a 20 year later retrospective: Yeah C was bad; what has
> followed is not much better

Moving horizontally means unlearning a little and learning a lot, so it 
is possible. It is what I did when I was forced to move from Pascal to 
C, and when I wanted from C to (Turbo) Pascal, then to Eiffel, in the 
end to Java, while studying other languages left and right - Prolog, 
SML, Haskell, Lisp, Alice (no particular order, not even chronologically).
Of course that's just my personal learning experience, teachers will 
need to draw their own conclusions.

Oh, and OO is inefficient. It has really bad cache locality. Game 
programmers move towards "entity systems", redistributing object 
attributes into arrays which are held together by an ID. You get the 
in-memory equivalent of a relational database with a star schema (and 
user-defined datatypes in columns, so it's a bit less primitive than one 
might think).

Sorry for spinning off-topic, if there's no interest I'll take further 
discussion to private mail.


More information about the Haskell-Cafe mailing list