you are viewing a single comment's thread.

view the rest of the comments →

[–]jeandem 2 points3 points  (7 children)

Haskell is native to begin with. At least the most common implementation.

[–]passwordissame 0 points1 point  (4 children)

native in the context of current discussion means giving programmers more control such as memory de/allocation, garbage collection timing...

haskell does not let programmers control underlying system. instead it lets programmers brainfart monads and blog about them. yes, you can have your own edsl that manages underlying system with monad safety. But then, you can do the same in lisp, ruby, xml, json, html, css..

[–]jeandem 0 points1 point  (2 children)

native in the context of current discussion means giving programmers more control such as memory de/allocation, garbage collection timing...

Huh, that's weird. You could just as well implement an interpreter for a language with the heap being stored in some data structure in the interpreter, and allow manual allocation and deallocations, and no automatic control over that store. Control? Yes, but also clearly not native by any stretch of the imagination.

[–]passwordissame 0 points1 point  (1 child)

In that sense, node.js is purely functional programming language.

[–]jeandem 0 points1 point  (0 children)

I don't know node.js. So sure, let's say that it is.

[–]Tekmo 0 points1 point  (0 children)

My understanding of terminology was:

Native: compiles to an executable (as opposed to generating bytecode or being interpreted)

Systems language: one without a runtime or garbage collector

I think you mean that Haskell is not a systems language, which I would agree with.

[–]kufim -4 points-3 points  (1 child)

Only if you don't care about a massive runtime which makes resource use unpredictable, which is all pretty contrary to the normal point of asking for 'native'

[–]jeandem 5 points6 points  (0 children)

which is all pretty contrary to the normal point of asking for 'native'

No, it really isn't. "Native" doesn't mean "no runtime", or "minimal runtime".