3 ms·
Glad to see a language taking inspiration from go. Are other targets (ie a cpython style native interpreter) being considered? I'd love to see a scripting lang
by micro_cam 12y ago
Glad to see a language taking inspiration from go. Are other targets (ie a cpython style native interpreter) being considered?
I'd love to see a scripting language with go'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/fortran numerical code wrapped with pretty operator overloading and a repl) but with go style syntax and pointers.
- davvid 12y agoThere's a wealth of numerical code in C++. Calling into C is pretty straightforward, but with C++ it's a complicated choice between Swig, sip, shiboken, BoostPython, ..., or hand-writing your language bindings to C++ code in extern "C". I'd like it if it also made it easy to tap into C++. It's probably a very complicated problem, which is why it's unsolved.
- eobrain 12y agoFuncgo can readily call Java code, so it supports numerical programming or linking in C++ code to the same extent that Java does.
- eobrain 12y agoI've no immediate plans for another target for now – there is a lot of work still to do just targeting Clojure and making sure the toolchain is easy for programmers, both server-side and client side. As regards typing, Funcgo has type inference using Clojure's type-hinting and it can use all of Clojures immutable collections as well as the standard Java mutable collections. As for operator overloading, it's not there yet, but I just I added a user story (https://github.com/eobrain/funcgo/issues/18 https://github.com/eobrain/funcgo/issues/18) to my backlog to allow function names to be operators (like in Scala). However it won't really be operator overloading because the underlying Clojure only allows overloading by arity, not by type.
- micro_cam 12y agoVery cool and thanks for the response! I'll need to experiment with this + a clojure matrix math library at some point. I'm new to the clojure ecosystem but it looks like https://github.com/mikera/core.matrix https://github.com/mikera/core.matrix could be worth trying.
- eobrain 12y agoUpdate: The new 0.4.0 release of Funcgo supports limited operator overloading: https://github.com/eobrain/funcgo/blob/master/doc/reference.md#operator-overloading https://github.com/eobrain/funcgo/blob/master/doc/reference....