Timeline for How to make a language homoiconic
Current License: CC BY-SA 3.0
18 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jan 9, 2022 at 15:48 | comment | added | Magne | @PeriataBreatta I think the benefit of homoiconicity is more psychological, related to reason-ability, than anything. Because the the programmer can see and read the code which is the data structure he would inject to whatever macro function at runtime. Instead of having to be familiar with the tree structure that the language uses to represent it internally, to be able to code the macro function correctly. Because the data and the code represent that tree structure inherently. | |
S Sep 15, 2016 at 19:08 | history | suggested | psmears | CC BY-SA 3.0 |
Improve grammar and wording
|
Sep 15, 2016 at 15:30 | review | Suggested edits | |||
S Sep 15, 2016 at 19:08 | |||||
Sep 15, 2016 at 14:22 | comment | added | Martin Berger | @PeriataBreatta You are right, but the key advantage of MP is that MP enables abstractions without run-time penalty. Thus MP resolves the tension between abstraction and performance, albeit at the cost of increasing language complexity. Is it worth it? I'd say the fact that all major PLs have MP extensions indicates that a lot of working programmers find the trade-offs MP offers useful. | |
Sep 15, 2016 at 14:09 | comment | added | Periata Breatta | I've always though homoiconicity is overrated. In any sufficiently powerful language you can always define a tree structure that mirrors the structure of the language itself, and utility functions can be written to translate to and from the source language (and/or a compiled form) as required. Yes, it's slightly easier in LISPs, but given that (a) the vast majority of programming work should not be metaprogramming and (b) LISP has sacrificed language clarity to make this possible, I don't think the tradeoff is worth it. | |
S Sep 15, 2016 at 9:37 | history | suggested | coredump | CC BY-SA 3.0 |
Fix usage of OCaml instead of Lisp
|
Sep 15, 2016 at 8:44 | vote | accept | incud | ||
Sep 15, 2016 at 8:38 | review | Suggested edits | |||
S Sep 15, 2016 at 9:37 | |||||
Sep 15, 2016 at 7:38 | comment | added | Martin Berger | @Bergi Scala has a new approach to macros: scala.meta. | |
Sep 14, 2016 at 22:25 | comment | added | Bergi | You might want to have a look at how Scala did its macros | |
Sep 14, 2016 at 20:17 | history | tweeted | twitter.com/StackCompSci/status/776152859914149888 | ||
Sep 14, 2016 at 19:18 | answer | added | svick | timeline score: 2 | |
Sep 14, 2016 at 19:17 | history | edited | incud | CC BY-SA 3.0 |
added partial answer of the question
|
Sep 14, 2016 at 18:16 | answer | added | Martin Berger | timeline score: 12 | |
Sep 14, 2016 at 17:54 | history | edited | Raphael |
edited tags
|
|
Sep 14, 2016 at 17:45 | answer | added | cody | timeline score: 7 | |
Sep 14, 2016 at 17:30 | history | edited | cody |
Added a "homoiconicity" tag
|
|
Sep 14, 2016 at 17:04 | history | asked | incud | CC BY-SA 3.0 |