why use forth when you can use fifth? All hail Eris!
Name:
Anonymous2014-04-13 11:01
Concatenative languages force you to anally deform your brain into the shape of a stack. Besides that, they don't offer any advantages. Having formal parameters in functions is a big win, and concatenative languages lose because of that.
I toyed around with gforth a little bit and I even bought one of these chips chuck moore made in 2011 (ga144).
But then I realized the only people who are using forth are the ones who are using their own implementation. Worse the stupid chip has basically no ram and apart from a few CODECs it doesn't offer any benefit over a similary priced FPGA.
At the very worst the IDE is insufferable so bad that if I ever get back to it I'd probably roll my own. But then I probably don't, ever.
>>14,15 It is on the next level of weirdness. Lisp with statically expanded macros is the first level. Lisp with dynamically expanded macros is next. Then with forth you have the same power, but now the parse tree is constructed at evaluation time and can change dynamically. It's truly bizarre, especially when you take advantage of this.
Doing everything on your own is a sign of high intellect. Computing should never of been an industry nor should the concept of industry ever exist. Capitalism is essentially the death of all meaning in earthly creations.
Grammar should never of been ever have existed either...
Name:
Anonymous2014-05-11 10:08
>>25 Well, at least you are doing your part against grammar.
Name:
Anonymous2014-06-03 22:44
A typical FORTH word definition begins with a comment showing the state of the stack before and after the execution of the word: \ Duplicates x on the stack : dup ( x -- x x ) definition-goes-here ;
\ Stores n at address addr : ! ( n addr -- ) definition-goes-here ;
Does anyone know if the top of the stack is supposed to be on the left or the right (eg which of n or addr is supposed to be on the top)? For some reason, every goddamned tutorial I've read acts like this is obvious and never says so explicitly. I can think of good reasons for both: Left-to-right looks more like a function declaration in other language, while right-to-left matches the way that stacks are usually displays when printing (bottom-most element on the left, top-most on the right).
Name:
Anonymous2014-06-03 23:06
>>27 Fuck, now I see this (over duplicates the second item from the top of the stack): : over ( n1 n2 -- n1 n2 n1 ) ;
So it is read right to left, but numbered left to right? What kind of bullshit is that?
Name:
Anonymous2014-06-04 0:39
Why learn forth instead of factor?
Name:
Anonymous2014-06-04 2:53
Stack comments are left to right, like everything else in forth.
Name:
Anonymous2014-06-04 3:30
So there is no type system, all the data are implicit, and you have to anally deform your thinking into a stack? What kind of bullshit is that?
The order of stack elements is implementation dependent. I mean the order of before -> after. Technically though, most operators that use 2 or more objects from the stack work on them in first-in order.