00:00:00 --- log: started retro/12.06.02 09:55:17 howdy 10:12:09 --- join: Kumul (~Kumul@adsl-64-237-234-175.prtc.net) joined #retro 10:50:16 * docl is reading parable source 10:51:20 I like how coffeescript uses the word "constructor" instead of something strange like __init__ for a class constructor. 11:38:29 --- join: paldepind (~simon@0x55517461.adsl.cybercity.dk) joined #retro 11:40:00 I'm a bit confused about Retro. How does it compare to Forth and Factor? 11:45:47 It is a forth-like language, but some of the syntax was changed out from what is traditional in forth 11:46:06 for example to put a number from stack to keyboard it is putn instead of . 11:49:14 it used to be much more of a traditional forth 11:49:20 Thank! I want to learn a Forth or a Forth-like language for solving small programming tasks (things like Project Euler i.e. writing algorithms solving mathematical/logical problems). 11:49:37 I'm a bit unsure about what language would be the best fit for that neeed. 11:50:20 I'll probably never write any "real-world" programs with the language. 11:51:20 retro is a good place to start :) 11:51:34 have you downloaded it and tried it out yet? 11:53:40 No. I have not. I'm still unsure. I like how Factor has elements of Lisps and supports types. But it's practical focus is irrelevant to me and I'm more attracted by Retros simplicity. 11:55:35 some hints: words ending in ' are actually dictionaries with more words in them. you can open them using "with blah'" and close them with "without" 11:55:52 have you used forth before? 11:58:00 No. It has only very recently gained my interest. I find the concatenative paradigm very appealing. 11:58:39 Is Retro as low level as Forth? Would you have to implement different types yourself? 11:59:03 yes, it lacks types 11:59:58 Ok. So it's pretty close to plain Forth? 12:00:04 yes 12:02:54 http://retroforth.org/docs/An_Introduction_to_Retro.html has a pretty good overview 12:03:32 say you have a number on the stack... you could use putc to print it as a character or putn to print it as a number. 12:03:54 getc would read a character from your keyboard and turn it into a number 12:04:37 I understand. I've experience with other stack based languages. 12:04:42 there are old-style forth words that we used to use: putc was emit, getc was key, putn was . 12:04:53 awesome 12:04:59 Is the quote feature also present in Forth? 12:05:15 yes 12:05:46 [ code here ] <- anonymous word 12:06:47 there are also combinators which I haven't learned to use too well yet but basically let you do neat things with quotes 12:13:09 Thanks for you help! I've installed it and is playing around with it ATM :) 12:13:39 cool :) 12:37:10 What is the reason for changing "if" from how it works in Forth? 12:37:18 Factor does the same thing. 12:39:09 Is it simply for purity/easier implementation or is there another reason? 13:39:31 I'm not sure. crc might have an answer. 13:53:44 It's fine. 13:53:55 I'll wait for an answer :) 14:05:27 I'll leave now. If someone know the answer to my question feel free to share. I'll be checking the IRC logs for answers. 14:05:37 --- quit: paldepind (Quit: Ex-Chat) 14:23:05 crc: why did we change the way if works? mainly to be consistent with the more advanced looping and combinators? 14:37:35 if was changed to reduce the number of special cases with regards to syntax 14:47:05 ah, that makes sense 14:56:58 parable goes further (no ahead, repeat/again, jump:, etc) 14:59:13 ne of my goals with parable is to further reduce the syntax to a consistent set: quotes, functions, and a small number of prefixes 15:03:34 nice 15:05:38 I'll some documentation and examples ready within the next week. 15:06:40 a horizontal hover-scroll for clicking on the function you want to use might be nice. 15:08:27 like this maybe: http://rascarlito.free.fr/hoverscroll/ 15:19:10 looks interesting, though not practical on a touchscreen interface 15:19:29 interesting, you can dup a string in parable. is that actually copying the string? 15:19:34 (I am planning to have multiple interfaces, for different targets) 15:19:52 no, just makes a copy of the pointer 15:20:01 maybe I should try this on my mobile phone. 15:20:54 string.duplicate makes a copy of the string 15:21:29 ah, that makes more sense. 15:21:40 on my phone, the dictionary list is annoyingly long 15:26:07 yeah it is too long on my phone too :( 15:31:35 I'll rectify this soon. The current UI is intended for use with my iPad 15:38:26 well that's interesting. I started with 2 pointers to a string on the stack and ran string.duplicate, and it gave me 4 copies on the stack. 15:40:22 that shouldn't happen. code? 15:42:35 wait, something else must be happening because `"hello world" dup string.duplicate` does not do it. 15:44:34 ah. I ran a function twice then did dup then string.duplicate (all as separate run actions) and it happens 15:46:54 there must have been something weird about the function. after refreshing and trying to recreate it the issue no longer happens. 15:51:14 which function? 15:52:06 I think it was [ "hello world" ] "test" define 15:52:29 there may have been an invoke in there 15:56:34 I should try to finish the decompiler. there may still be bugs in the compiler code that I haven't found yet 15:59:59 `#1 #2 #3 #3 [ drop ] times` leaves #1 on the stack 16:03:40 oops; this should be fixed now 16:04:15 works 16:04:50 good. stupid mistake on my part (pre decrement rather than post decrement in the index check) 16:06:59 ah, that would do it 16:07:41 is there a way to add documentation to a function after it is created? 16:09:38 not yet 16:09:44 that's coming soon 16:10:11 (as soon as I can get the backend stuff for actually saving things done) 17:33:49 --- quit: saper (Remote host closed the connection) 20:11:33 --- quit: docl (Remote host closed the connection) 22:57:54 --- part: Kumul left #retro 23:59:59 --- log: ended retro/12.06.02