
Hi all! I am curious as to why Haskell not is homoiconic? I am interested in the reasons behind that design descision. I ask using this defintion og homiconicity: Homiconic means that "the primary representation of programs is also a data structure in a primitive type of the language itself" -- http://en.wikipedia.org/wiki/Homoiconic Examples: LISP, Rebol, Natural Languages... Thank you/Henning

Henning Sato von Rosen wrote:
I am curious as to why Haskell not is homoiconic? I am interested in the reasons behind that design descision.
I ask using this defintion og homiconicity: Homiconic means that "the primary representation of programs is also a data structure in a primitive type of the language itself" -- http://en.wikipedia.org/wiki/Homoiconic Examples: LISP, Rebol, Natural Languages...
Could you say why do you think Haskell SHOULD belong to this class? Jerzy Karczmarczuk

"Henning Sato von Rosen"
Hi all!
I am curious as to why Haskell not is homoiconic?
It very nearly is. The icon for Haskell is a lower-case lambda, but the logo for these folk http://www.ualberta.ca/~cbidwell/cmb/lambda.htm is an upper-case lambda.
Homiconic means that "the primary representation of programs is also a data structure in a primitive type of the language itself"
Oh, dear, that renders my remark above irrelevant ;-0 The main reason is that Haskell is designed as a compiled language, so the source of the programme can safely disappear at runtime. So there's no need to have a representation of it beyond the source code. -- Jón Fairbairn Jon.Fairbairn@cl.cam.ac.uk

Homiconic means that "the primary representation of programs is also a data structure in a primitive type of the language itself"
The main reason is that Haskell is designed as a compiled language, so the source of the programme can safely disappear at runtime. So there's no need to have a representation of it beyond the source code.
I'm not sure it's relevant. In syntactically scoped Lisps, the code is mostly manipulated at compile-time by macros, rather than at run-time. And indeed, Template Haskell makes Haskell pretty much "homoiconic". Stefan
participants (4)
-
Henning Sato von Rosen
-
Jerzy Karczmarczuk
-
Jón Fairbairn
-
Stefan Monnier