Skip to main content

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