5 ms·
I wonder what other wonderful languages I've never heard of. Really, please share!
by jaytaylor 13y ago
I wonder what other wonderful languages I've never heard of. Really, please share!
- iso-8859-1 13y agoMetaML, a language with as many levels of macros as you'd like: http://www.cs.rice.edu/~taha/publications/journal/tcs00.pdf http://www.cs.rice.edu/~taha/publications/journal/tcs00.pdf (implementation as MetaOcaml)
- zem 13y agoif you're looking for interesting systems languages, clay looks good too: http://claylabs.com/clay/ http://claylabs.com/clay/
- evincarofautumn 13y agoKitten, a statically typed, globally type-inferred, GC-less functional stack language, with opt-in layout-based syntax and an effect system to separate pure and impure operations. Disclaimer: I wrote this; it’s nowhere near complete, but not bad to play around with. We’re working toward a release in a few weeks, to include some missing language features and a new x86_64 runtime. https://github.com/evincarofautumn/kitten https://github.com/evincarofautumn/kitten http://kittenlang.org/ http://kittenlang.org/
- tomp 13y agoCan I ask you one thing: why did you decide to write a stack-based programming language? I'm really curious, as I personally see nothing good with them. The same kind of non-mathematical syntax as LISP (`1 2 +` as opposed to `+ 1 2`), without any of the goodness (code is data).
- coldtea 13y agoSeriously? Ever heard about this Forth thing?
- evincarofautumn 13y agoIn Factor, code is data. Remember, though, that there are many sources of goodness in a language. As for your actual question, I decided to write a stack-based language because: • They can be implemented very efficiently on real hardware. The stack-based VM is well established as an implementation technique for non–stack-based languages. • Like in Lisp, the simple structure makes them suitable for useful visualisations beyond the program text. Static typing creates even more cool possibilities for such analysis. • There is fertile ground for new research, and applying existing theory to these languages for the first time—particularly type and effect systems. • It’s just a lot of fun. :)
- tomp 13y agoI agree with all of those, to me is just seems like transformation into stack-based language should be made as part of the compilation process, not written down by the programmer. Maybe it's just me, I totally admit that I'm not used to thinking in concatenative languages as I've never used one, but mathematics, with named variables and control- and data-flow denoted by functions or sequential lines of operations, seems the most natural notation to read, write and think in.
- evincarofautumn 13y agoI totally understand. In fact, Kitten has named variables for that reason. You can write code that looks imperative, expressiony, or dataflowy, according to taste. Here’s a silly example: // Implicitly thread state between functions. def promptInt: ": " cat prompt readInt fromSome // Write stacky code if you want. def squareDiff: - dup * // Use locals as much as you need to. "x0" promptInt ->x0 "y0" promptInt ->y0 "x" promptInt ->x "y" promptInt ->y x0 x squareDiff ->a y0 y squareDiff ->b a b + sayInt
- InAnEmergency 13y agoYou may be interested in the Fledgling Languages List: http://fll.presidentbeef.com/ http://fll.presidentbeef.com/
- copx 13y agoSome of my relatively obscure favorites: Io: http://iolanguage.org/ http://iolanguage.org/ Dylan: http://opendylan.org/ http://opendylan.org/ Euphoria: http://www.rapideuphoria.com/ http://www.rapideuphoria.com/
- zem 13y agoi've always felt that had i discovered euphoria earlier in my programming life, i would have really liked it. these days i'd miss all the features more recent languages have borrowed from lisp and/or ml, but it would have been an awesome second or third language (after basic and c).
- copx 13y agoI discovered Euphoria back in the DOS days when it was still commercial. I agree that it seems a little dated these days but I still fondly remember it. Also it is still a great language for non-professional programmers and still has an active community there. Note the recently updated SDL2, SFML2, and Allegro bindings for example.
- doublec 13y agoFor an interesting systems programming language try ATS [1]. It's an ML style functional programming language with dependent types, linear types, macros, generics and compiles to C giving reasonable portability. [1] http://www.ats-lang.org/ http://www.ats-lang.org/
- epsylon 13y agoCheck out fogus' lists of "Perlis languages": http://blog.fogus.me/2011/08/14/perlis-languages/ http://blog.fogus.me/2011/08/14/perlis-languages/ http://blog.fogus.me/2011/10/18/programming-language-development-the-past-5-years/ http://blog.fogus.me/2011/10/18/programming-language-develop...