Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sorry about that :) Time zones...I strongly prefer Lisping and Forthing after midnight, too much noise on all levels during days.


Yep, I live in the EU but I am in Cambodia now and I love three languages the most; Lisp, Forth and APL. So you know what to do to make me cry and have eternal enlightenment...

Edit; I use Lisp in the form of Clojure daily as well as Forth for embedded. When writing embedded code, instead of assembly (check my profile, the stuff we use definitely has no room for Node but often not even C) I usually port a Forth if one is not available, at least for testing but usually it is good for production too.


You must be my long lost twin ;) I went from Basic, Assembly and then C to Lisp, Forth and then APL, well J [0], but then some APl (Dyalog). I have decided to do all of my work in either Lisp, Forth or J.

I sometimes have to code in Python (there's always Hylang!), but all of my personal interest stuff is in the other three. I am currently going through the 4th edition of "Fractals, Visualizations and J", which is a great introduction to the J language and graphics.

I am trying to make a livecoding (toplap.org) environment in J similar to oK, but more musical and with webgl shaders [1,2].

I'm convinced the proliferation of using GPUs, distributed processing, and multi-core CPUs are all a good fit for a true array or vector-based language like APL, J, and K. I get more of a functional high on J than in Haskell, and feel like I am writing Math equations after memorizing the 'words' of J, more like operators (nouns, adverbs, conjunctions, verbs, etc...)

Shen is a great mix of Lisp and a typed (optional), lazy (optional) language with great pattern matching that has been implemented on a lot major programming platforms (Python, Ruby, JavaScript, Scheme, Haskell, Common Lisp, Clojure, JVM, and Emacs Lisp) because it runs atop a small set of 46 primitives called KLambda similar to the original Lisp 1.5. If you implement KLambda, and pass the tests, in a given PL, you can then run any Shen program on that platform [3].

  [0]  jsoftware.com
  [1]  https://github.com/JohnEarnest/ok
  [2]  http://johnearnest.github.io/ok/index.html
  [3]  http://www.shenlanguage.org/


I love Shen. Check the mailinglist (Google) you can see my name there months ago. I have my own implementation of KLambda and Shen which is faster than any of those on the site, I sponsored the open source license and bought and read both his books. However when Mark decided to make it closed again kind of for professionals and when I found his mindset is too different from OSS I stopped working on it. I am still sorry because I really like Shen. I might revisit that when I have more time because it is very nicely done. Not OSS for a programming language really does not work for me. I mailed and talked how to make money with OSS (I do...) and that a language bar Mathematica, Matlab, K/Q and Labview cannot be closed and paid. And to be one of those you need a niche and first mover clients. I had a first mover client to pay for OSS dev and libs but it never happened. So Clojure. Pun intended.


Yes, I bought the books too, and I am not using Shen Professional, but Shen on Emacs Lisp by Deech brought me back into the fold. I just can't stand the stack traces in Clojure, although I like the language. Shen is like Haskell, Lisp, and Prolog all rolled into one, and satisfies my need for a truly universal language to program in. Now it's just more libraries for me!


What resources would you recommend for getting started with Forth?


This is a more interesting question that it might seem. For a Sunday afternoon read, please take a look to Jonesforth [1] for an implementation of a basic Forth for Linux/32 bits. It's written in literate style and it reads like a nice book.

If you are not that interested in the implementation of the compiler (and if so you might be missing the ultimate point of Forth), Starting Forth [2] is a classic resource.

Edit: formatting

[1] https://github.com/AlexandreAbreu/jonesforth

[2] https://www.forth.com/starting-forth/


I have a reasonably portable pure-ANSI-C Forth here in about 2.5kloc:

https://github.com/EtchedPixels/FUZIX/blob/master/Applicatio...

It's not well commented, but it should be easy enough to read. It passes the basic ANS Forth test suite.

The C file is also an exciting self-modifying shell script with embedded awk and Forth parts.


Charles Moore Thinking Forth is excellent if you want to work with resource limited systems.


The author of Thinking Forth is Leo Brodie.

From Chuck Moore, the father of Forth, "1X Forth" ( http://www.ultratechnology.com/1xforth.htm ) is worth reading before and after Thinking Forth.


You are absolutely right. Got my authors mixed up. Both are great reads.


Heh. I like you. One of my many language projects is an array-oriented Forth-like language. I've iterated on the idea several times, I think it's really great. Unfortunately, I have yet to capture the beautiful simplicity and elegance of Forth or APL in any of my projects.

Prolog is another one of my favorites, you should check that out.


Back in the day (early 90s) there was something called ASYST which was indeed a array-based Forth on steroids. It had a nice library and could make plots interactively. It was not elegant ;)


Second Prolog, I have a feeling the same kind of fusing can be accomplished as with Forth. I've seen a couple of attempts, the most recent being in Clojure; but none of them hit the sweet spot for me. Logic by itself doesn't really help any one; but fused to a swiss army chain saw, it's very useful.


I did my degree at UvA which is the home of SWI Prolog and I studied AI. But now you really upset my sore brain ;) I am going to say Mercury and then step away.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: