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.

Julia introspects: see the AST, LLVM IR, and native assembly for any function

105 pointsby astrieannaalmost 12 years ago

5 comments

habermanalmost 12 years ago
This is very cool, and a direction that I hope more toolchains will go.<p>One problem, though, is that reading trees in text format is not very easy on the eyes. In fact, this might be one of the biggest reasons that LISP is (to people like me) not very readable. Trees in graphical form are orders of magnitude easier to parse visually.<p>I&#x27;d love to see software that makes visualizing tree structures easier. At one point I had a grand plan of porting graphviz to JavaScript, with SVG as an output format so it could be easily styled with CSS.<p>I think that approaches like this will be a lot more usable (and deliver a lot more &quot;wow&quot; factor) if you can view the trees graphically.
评论 #6248103 未加载
评论 #6247848 未加载
susi22almost 12 years ago
One thing that this kind of low level &quot;interface&quot; allows is a very rapid development of coding tools. How long until we see a context-context sensitive auto completion pop up? These language features would even allow more complex hints. Language analyzers can find bugs and note them right when writing code.<p>Of course, this is nothing new and already done in a few languages. But these features will make it easier (and hence faster) for the IDE to have some awesome coding features.
评论 #6247744 未加载
评论 #6247247 未加载
评论 #6247280 未加载
stevengjalmost 12 years ago
A footnote mentions that @which is not as helpful for functions defined the REPL, because it doesn&#x27;t give a file and line number in that case. This is not the case, however, in the new IJulia notebook interface (a REPL based on the IPython notebook); there, each multiline input cell is named &quot;In[nnn]&quot; (like Mathematica) and is treated like a file, so you can type &quot;@which foo(3)&quot; and it will give &quot;foo(x) at In[22]:1&quot; if you defined foo on line 1 of input In[22].<p>Note also that, in the latest versions of the REPL (and IJulia), you can simply type &quot;? foo(3)&quot; instead of &quot;@which foo(3)&quot;.
andrewcookealmost 12 years ago
maybe this could go in the blank space under &quot;introspection&quot; in the current manual? just sayin... [edit: sorry, yes, reflection]<p>(julia is my new crush. i haven&#x27;t actually used it yet, i just keep reading the docs and thinking how awesome it all sounds).
评论 #6247140 未加载
评论 #6247463 未加载
enuptenalmost 12 years ago
I&#x27;m not implying that their expression data structure is in anyway deficient, but given that Julia is so lispy in the first place, why was a design decision made to abandon (the more readable&#x2F;familiar ?) S-expressions ? Can one of the devels give us an insight ?<p>Edit: Can someone also comment on how Julia compares to Dylan in the semantic sense ?
评论 #6247566 未加载
评论 #6247034 未加载
评论 #6247629 未加载
评论 #6247827 未加载
评论 #6247162 未加载