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.

Metaprogramming – Julia Language

127 pointsby susi22almost 12 years ago

6 comments

breckinlogginsalmost 12 years ago
Elixir has similar mechanisms. It's great to see language designers explore new ways of making a language homoiconic without pure s-expressions.
评论 #6214512 未加载
评论 #6212986 未加载
andrewcookealmost 12 years ago
is the environment also available? are environments first class? it talks only about expressions - the environment in which they are evaluated seems to be implicit.<p>what could you do with first class environments? could you implement logic variables and backtracking? something like oz?<p>also, i think julia is optionally typed? what&#x27;s the type system like for expressions? i saw an &#x27;Any&#x27; in the link, which looked worryingly vague.<p>[having said all that, as a &quot;scientific programmer&quot;, i am worrying more and more that this is a language i really should be using]<p>[edit: thanks for the informative replies]
评论 #6213342 未加载
评论 #6213459 未加载
terhechtealmost 12 years ago
This is a copy from a comment I did in an earlier thread a couple of weeks ago, but I think it still applies:<p>I really like Julia. I&#x27;m currently playing around with it whenever I find some spare time. I don&#x27;t see it as a competitor to R, I think it could well be something along the lines of Python or Go. It is LLVM based, and already really fast even though it is still a 0.2 and the JIT seems to have a lot of room for optimisation. Whats more, it seems to offer just the right blend of language features: - Easily include C libraries via a simple ffi [1] - It is homoiconic like Lisp and thus allows for fantastic macro facilities [2] - It has solid parallel programming support via a Coroutines implementation (Tasks) (similar to Goroutines as far as I can tell) - It is a non-pure functional language - In contrast to Go it has generics, so functional constructs like map, apply, drop, reduce, fold, partition &amp; friends are already in there (or can easily be implemented) [3] - It has optional types, so that you can assign types and the compiler will check for it and mark errors and will be able to create optimised code, but you don&#x27;t have to [4] - Running external programs is a joy [5] (Example: a=readall(`echo hello`)) The community seems to be very alive. There&#x27;s a simple web framework called &quot;Morsel&quot; and I&#x27;ve recently set it up against a couple of contenders from the web framework benchmark (cpoll-cppsp, phreeze, and some others), and even though it is still a version 0.2, the performance for the json serialization benchmark would be pretty close to Scalatra (I yet have to publish these numbers, will do so soon). I really hope that Julia will grow, as I love the choices that went into the design of the language, and it would be a shame if it would be only a replacement for R instead of something much bigger, as it is such a nice language.<p>(original: <a href="https://news.ycombinator.com/item?id=6172751" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=6172751</a>)<p>[1] <a href="http://docs.julialang.org/en/latest/manual/calling-c-and-fortran-code/" rel="nofollow">http:&#x2F;&#x2F;docs.julialang.org&#x2F;en&#x2F;latest&#x2F;manual&#x2F;calling-c-and-for...</a> [2] <a href="http://docs.julialang.org/en/latest/manual/metaprogramming/" rel="nofollow">http:&#x2F;&#x2F;docs.julialang.org&#x2F;en&#x2F;latest&#x2F;manual&#x2F;metaprogramming&#x2F;</a> [3] <a href="http://docs.julialang.org/en/latest/stdlib/base/#general-collections" rel="nofollow">http:&#x2F;&#x2F;docs.julialang.org&#x2F;en&#x2F;latest&#x2F;stdlib&#x2F;base&#x2F;#general-col...</a> [4] <a href="http://docs.julialang.org/en/latest/manual/types/" rel="nofollow">http:&#x2F;&#x2F;docs.julialang.org&#x2F;en&#x2F;latest&#x2F;manual&#x2F;types&#x2F;</a> [5] <a href="http://docs.julialang.org/en/latest/manual/running-external-programs/" rel="nofollow">http:&#x2F;&#x2F;docs.julialang.org&#x2F;en&#x2F;latest&#x2F;manual&#x2F;running-external-...</a>
评论 #6213818 未加载
评论 #6213353 未加载
pekkalmost 12 years ago
so many sigils, is Julia channeling Perl?
评论 #6213350 未加载
alokv28almost 12 years ago
Nice to see!<p>I choose Mathematica over python for a lot of scientific&#x2F;numerical computing due to how &quot;lisp-y&quot; Mathematica is.<p>I&#x27;ll be keeping a keen eye on Julia as well!
enuptenalmost 12 years ago
I love that Julia does so many things in so Lispy a way. I wish that other languages like Lush received similar amounts of attention.
评论 #6214539 未加载