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.

Functional Go Programming Language

89 pointsby psibialmost 11 years ago

10 comments

scythealmost 11 years ago
&gt;Why a new language? The goal of Funcgo is to combine the readability of the Go language with the semantics of Clojure [...] Clojure is difficult to read for programmers unfamiliar with Lisp syntax.<p>So funcgo is really just Lisp without parentheses... again.
评论 #8018851 未加载
ludamadalmost 11 years ago
Personally I find the name misleading. Something like &#x27;Jo&#x27; makes more sense to me (not that I&#x27;m advocating it as a pretty name).
评论 #8018075 未加载
micro_camalmost 11 years ago
Glad to see a language taking inspiration from go. Are other targets (ie a cpython style native interpreter) being considered?<p>I&#x27;d love to see a scripting language with go&#x27;s type system (and concise syntax for declaration, type inference and built in collections) but support for operator overloading and the ability to link in external shared libraries. Basically I want python+numpy (ie external C&#x2F;fortran numerical code wrapped with pretty operator overloading and a repl) but with go style syntax and pointers.
评论 #8018436 未加载
评论 #8018858 未加载
fisher-leboalmost 11 years ago
I&#x27;ve toyed with this idea a bit (compiling a more familiar language down to Clojure).<p>This project in particular gives some of the benefits of Clojure (JVM, expressive language, immutability), but I don&#x27;t see any easy way to add new constructs to the language like macros without modifying the compiler itself. Can you modify the grammar that is fed to Instaparse at runtime?<p>That being said, the current branding and name confused me initially. I was expecting a full Go to Clojure compiler, but it appears that this is mainly a language that has similar syntax to Go which compiles to Clojure, which is still very cool, just different.
评论 #8018898 未加载
评论 #8017877 未加载
eobrainalmost 11 years ago
Funcgo author here. Thanks for all the interest and comments. I&#x27;ll respond individually to the comments.
评论 #8025852 未加载
bellerockyalmost 11 years ago
Maybe it would be cool to improve upon flex&#x2F;bison&#x2F;jison and make it easier for everyone to create or modify the programming language of their choice with platform plugins that let people connect their own programming language to the platform of their choice (JVM, .Net, straight up compiled into a binary). I&#x27;m really mostly thinking about syntax of the language really, but you could go further and customize the typing system and how scopes work and go all the way down the rabbit hole as much as you want. As long as the underlying base system is there, and it runs on the things you want it to run on, it would be fine.<p>Basically: Custom language -&gt; some intermediary form which would probably end up having some restrictions on language design -&gt; to the thing you want it to run on.
评论 #8018348 未加载
评论 #8020457 未加载
评论 #8018496 未加载
评论 #8018064 未加载
stewbrewalmost 11 years ago
Frankly, IMHO this combines the worst of two worlds: go&#x27;s non-lispy syntax and clojure&#x27;s ... dilatoriness&#x2F;slowness &amp; fragility of its tooling. I&#x27;d much prefer a clojure (or rather scheme) that compiles to go.
fantomassalmost 11 years ago
Interesting work. One question: How does the user keeps track of the source location (source map)?
评论 #8020596 未加载
pjmlpalmost 11 years ago
Go is targeted for developers happy with boring imperative programming and the team does not seem to be willing to add the required support to do otherwise.<p>Personall I rather use a proper multi-paradigm language instead of bandaid tools.<p>Congratualtions on the work, though.
评论 #8019380 未加载
dr4g0nalmost 11 years ago
They missed a trick calling it &#x27;funcgo&#x27; instead of &#x27;gofunc&#x27;; just think of the tag line:<p><pre><code> gofunc yourself</code></pre>