TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Metacompilers Part 1 (2008)

62 pointsby peetleover 10 years ago

4 comments

walterbellover 10 years ago
More background at <a href="http://onfoodandcoding.blogspot.com/2013/02/meta-ii-early-meta-compiler.html" rel="nofollow">http:&#x2F;&#x2F;onfoodandcoding.blogspot.com&#x2F;2013&#x2F;02&#x2F;meta-ii-early-me...</a><p>Alessandro Warth&#x27;s OMeta is a modern version of ideas in Meta II, <a href="http://tinlizzie.org/ometa/" rel="nofollow">http:&#x2F;&#x2F;tinlizzie.org&#x2F;ometa&#x2F;</a><p>OMeta is used in KScript and KSworld, from Alan Kay&#x27;s Viewpoints research, <a href="http://www.vpri.org/pdf/tr2013002_KSonward.pdf" rel="nofollow">http:&#x2F;&#x2F;www.vpri.org&#x2F;pdf&#x2F;tr2013002_KSonward.pdf</a><p><i>&quot;KScript is a dynamic language based on the declarative and time-aware dataflow-style execution model of Functional Reactive Programming (FRP), extended with support for loose coupling among program elements and a high degree of program reconfigurability<p>... the KSWorld environment supports exploratory application building: a user constructs the appearance interactively with direct manipulation, then attaches and refines reactive variable definitions to achieve the desired overall behavior.&quot;</i><p>Edit: more on KSworld, <a href="http://www.vpri.org/pdf/m2013003_ksapps.pdf" rel="nofollow">http:&#x2F;&#x2F;www.vpri.org&#x2F;pdf&#x2F;m2013003_ksapps.pdf</a><p><i>&quot;The software for today’s personal computing environments has become so complex that no single person can understand an entire system: a typical desktop OS and commonly used application suite amount to over 100 million lines of code.<p>Our group’s early experiences with personal computing led us to understand that much of this complexity is “accidental”, rather than inherent ... About 10,000 lines of code were needed to build the framework, the FRP evaluator, the document model and the editor, including the implementation of the special language created for KSWorld.&quot;</i>
dkarapetyanover 10 years ago
See also peg.js: <a href="http://pegjs.majda.cz/" rel="nofollow">http:&#x2F;&#x2F;pegjs.majda.cz&#x2F;</a>. The theory of parsing and compiling has some really nice concrete applications all over the place. In general, if you want to properly model a specific domain computationally you will almost surely travel through parsers and compilers. Here&#x27;s a nice talk on the topic: <a href="http://www.infoq.com/presentations/tools-language-workbench" rel="nofollow">http:&#x2F;&#x2F;www.infoq.com&#x2F;presentations&#x2F;tools-language-workbench</a>.
评论 #8300152 未加载
FullyFunctionalover 10 years ago
&quot;As I was writing this tutorial I found myself speculating about what happened to metacompiler technology&quot;<p>I suspect that one part of the answer is that for most non-trivial examples, the parsing part is the easy part and metacompilers don&#x27;t help with the hard part (type checking&#x2F;inference, optimization, code generation, etc).<p>That said, I see terrible broken ad-hoc parsers all over the place that probably could benefit from this.
评论 #8299671 未加载
jalanbover 10 years ago
That was a nice interruption to work which was nearly starting over at <a href="https://pym.readthedocs.org/" rel="nofollow">https:&#x2F;&#x2F;pym.readthedocs.org&#x2F;</a> But I really have to write some code.<p>Saved for later: <a href="https://github.com/jalanb/pym/commit/4d5df8fd328d1c71de1a519171f380e4dcfbfb11" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jalanb&#x2F;pym&#x2F;commit&#x2F;4d5df8fd328d1c71de1a519...</a>