00:00:00 --- log: started retro/12.12.12 02:08:07 --- quit: karswell (Remote host closed the connection) 02:18:23 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 02:40:28 --- quit: karswell (Read error: Connection reset by peer) 02:50:45 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 04:49:29 --- nick: tangentsleep -> tangentstorm 05:12:05 --- quit: karswell (Remote host closed the connection) 05:22:21 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 05:55:52 [ &slice.OFFSET @ [ slice.fetch/retreat ] timesRepeat ] 'pl0.display' define 05:56:34 that takes care of being able to display the output, so all that remains is recursion which parable doesn't support yet 05:57:35 :) 05:58:00 hmm 05:58:26 isn't the y-combinator supposed to allow recursion in languages that don't support recursion? 06:00:50 actually, since redefinitions are allowed, this works: 06:00:50 [ ] 'foo' define 06:00:50 [ #1 - dup #0 > [ dup foo ] ifTrue ] 'foo' define 06:00:50 #10 foo 06:09:21 oh i see.. because it's all postfix.. huh 09:10:47 --- quit: karswell (Remote host closed the connection) 09:21:00 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 09:24:59 --- join: intothev01d (~intothev0@unaffiliated/intothev01d) joined #retro 09:41:07 --- quit: karswell (Remote host closed the connection) 09:51:21 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 10:32:54 tangentstorm: it works, because redefintions replace the original, rather than leaving it (as retro does) 10:35:55 yeah, i get it. i didn't understand what was hard about recursion until i remembered your everything is postfix rule 10:36:03 hard to call a name that hasn't been defined yet :) 10:50:34 yup. but the redefinition model takes care of that :) 11:27:27 --- join: Mat2 (~Claude@91-65-144-133-dynip.superkabel.de) joined #retro 11:27:31 hello 11:28:49 hi Mat2 11:29:03 hi crc ! 11:30:10 --- join: Jarod- (~huh@31.37.36.192) joined #retro 11:30:18 hi 11:31:13 hi Jarod 11:31:21 I read a lot of good things about Forth and I wanted to give it a try with Retro 11:31:48 nice ! 11:32:14 I'm reading "An introduction to Retro" , it says there's a binary for C implementation 11:32:21 but I can't find it 11:33:13 do you mean the retro-image file or an executable for your OS ? 11:33:55 the executable, this is how i read it : "Windows users can download a binary distribution which includes the F# (for .NET) and C implementations. These are confirmed to work on XP, Vista, and Windows 7." 11:34:46 ok, I'm using linux and compiled retro from the sources, please ask crc about the windows binarys 11:36:00 k, thanks, you mean I should text him in pv ? 11:37:05 or write him an e-mail, otherwise post in the mailing list 11:37:29 crc: here is someone who need help with retro 11:38:15 Jarod-: i've never tried to run either on windows, but Mat2 and I have written a pascal version that runs on windows :) 11:38:33 let me bundle up a binary for you 11:38:39 thanks Mat2, will do 11:39:09 hi tangentstorm 11:39:12 tangentstorm, is it more efficient that the python package ? 11:39:14 heya :) 11:39:21 Jarod-: way faster than the python version. 11:39:29 nice ^^ 11:39:54 c, go, and pascal are probably the fastest... although mat2 is working on some crazy assembly stuff that's going to be even faster :) 11:40:01 I wanted to avoid installing python 11:40:55 Jarod: The pascal version have a very fast SDL terminal emulator with support for 256 colours and independent colour attributes for each character 11:40:59 do you already have the retro distribution? 11:41:13 yes i downloaded it 11:42:33 by the way: I have found the complete source code for Lords Of Midnight inclusive the graphic engine and all shape graphics 11:42:42 whoah! nice! 11:42:48 http://www.icemark.com/downloads/ 11:42:48 they open sourced it or something? 11:43:12 I do not know, we should read the licence carefully 11:44:16 Jarod-: you'll be the first user for our sdl version for windows here, so... don't be hatin' on retro if this doesn't work :) 11:44:28 ok :) 11:47:14 bugs will be resolved if you commit them as soon as possible 11:47:58 do you have a bug tracker for the pascal version ? 11:48:19 https://github.com/sabren/b4/ 11:48:28 the source code is in ng 11:48:34 but not the sdl part 11:48:54 or... just use the retro bug tracker? 11:49:21 version with the sdl device is here: https://www.assembla.com/code/avm/git/nodes/master/metro/backport 11:50:46 for bug reports and feature requests about the SDL stuff, ask me (here or write me an e-mail) 11:51:34 for vm related bugs ask tangentstorm 11:51:53 and for retro related questions and requests ask crc 11:52:12 ok, can I use retro documentation or does b4 too different ? 11:52:38 oups sorry for my english 11:52:54 Jarod-: http://rx-core.org/retro_windows_11.5-wip.zip for windows binaries + image 11:53:15 Thanks crc :) 11:54:29 np 11:54:45 jarod: generally, if you want a feature to be implemented, that should not be the problem 11:55:21 nice.. well, i'll package this up anyway :) 11:55:33 i'm having git issues 11:57:09 beside very time-consuming requests like a web browser of course 11:59:40 something's screwy with my git install... it just hangs instead of fetching submodules 11:59:50 tangentstorm: commercial usage of the sources is not allowed and for all other usages we shall give him credit and write an e-mail to him 12:00:03 works for me 12:00:08 what's it written in? :) 12:00:41 100% IA16 assembly :) 12:00:54 great :) 12:00:57 should run under MSDOS 12:01:08 or Dosbox 12:02:28 uh, this code is not very optimizated, seems like a direct port from z80 sources 12:02:44 is it suppose to rewrite all my input ? 12:02:53 if you use --with yes 12:03:06 I don't 12:03:12 it's google code that's causing the git problem i think 12:03:34 what are you doing? 12:03:51 my screen look like that : 12:03:58 ok 11 2 + putn 12:04:00 11 12:04:02 ok 2 12:04:05 ok + 12:04:08 ok putn 13 12:04:12 ok 12:04:36 Jarod-: that is normal 12:04:52 retro's parser evaluates as input is typed, not at the end of a lne 12:04:54 *line 12:04:55 did you cut and paste? 12:05:29 what vm are you using? 12:05:52 i launched retro.exe 12:07:10 jarrod: did you type all that in and press enter, and then it did that? 12:07:11 * Mat2 implementing disassembler 12:07:18 er Jarod- .. sorry 12:07:35 --- nick: Mat2 -> Mat2-coding 12:07:46 after the first ok, I typed 11 2 + putn, then enter and it wrote everything else 12:09:24 hrm. it's really meant to execute immediately on the space bar 12:09:46 i guess that windows version buffers the whole line first 12:10:12 but yeah, that's how it works :) 12:10:55 the c version under windows doesn 12:11:06 the c version under windows doesn't set buffering mode correctly. the .net varients do IIRC 12:12:02 yeah ok the csharp version execute at space 12:12:27 the pascal version should work also ok 12:21:25 grr... i think github removed the ability to put a downloadable file on there :/ 12:21:34 i'll just put it on my website 12:23:36 http://games.tangentcode.com/retro/retro-ngaropas-sdl-win32-2012-12-12.zip 12:24:07 thanks i got it too :) 12:24:13 i included both the plain console and sdl versions... 12:24:44 the image is from retro 11.4 but they're interchangable 12:25:12 please share your thoughs, bugs and possible ideas with us ! 12:25:37 will do ^^ 12:25:40 besides mat2's sdl console, the pascal version also has an external debugger if you use -d on the command line 12:26:17 first, a cursor would be nice for the sdl version :) 12:27:12 :) 12:30:39 delete something and you will see one ! 12:30:54 yeah I saw that 12:31:28 I will include a nice cursor 12:32:25 next week you have a new version, not much work 12:32:39 :) 12:32:55 * Mat2-coding write a how-to for the SDL code 12:37:35 ok I'm starting to get the hang of it, I can't find where it says how to save and load my definitions 12:38:41 from he command-line (cmd): start retro the following way: 12:38:52 retro --with 12:39:32 where is the file with your definations 12:39:53 and it will save automatically with bye ? 12:40:20 no you must save your changes into the retro-image 12:43:41 i think "save" ? 12:43:51 images are kind of disposable 12:43:59 save, yes 12:44:08 crc has a document about how he uses it under articles on the site 12:44:23 that is the equivalent of save-system in fig forth 12:44:26 so I should make a copy of retroImage 12:44:44 that would be a good idea 12:45:02 one per project probably 12:45:14 just saved a : foo + putn ; inside 12:45:42 without backup, that would become a mess :) 12:46:28 well you can also use --with whatever.rx 12:46:33 its typical o use files for your definations and build up an image by demand 12:46:45 yeah 12:46:54 ^to (I use a bit broken Apple keyboard) 12:47:04 i use a text editor, save to an rx file, and then use --with 12:47:33 there are retro setups for emacs and vim under "etc" 12:47:49 you can always test your definations out if you let a terminal session open beside your editor window 12:48:27 another way would be to use the blockeditor (that's really forth style) from within retro 12:48:39 crc have written 12:49:32 for windows I suggest you to use notepad++ for editing 12:49:54 it's free and used by many programmers word wide 12:50:05 this is wah i use :) 12:50:07 what 12:50:11 :) 12:51:03 --- quit: karswell (Remote host closed the connection) 12:51:41 then you can use retro like every other compiler from within notepad++ et voilá: you have an IDE 12:52:04 so in test.rx, I can just type : foo dup * putn ; 12:52:20 and launch retro --with test.rx 12:52:32 because that crashed 12:52:43 which vm did it crash on? 12:53:20 ah ok, only csharp and fsharp 12:54:30 i don't know for sure but i think csharp may be unfinished. 12:55:05 i have c# express installed but i've never tried either version 12:55:32 sorry I can't help you with the NET vm too 12:56:03 the c version is ok, the sdl too 12:57:02 (I'm not even sure if this is an error from NET'S JIT compiler, but ... ok, it's a Microsoft product so this can be) 12:57:12 sdl is weird, one time, it doesn't print the definition at start, and the second time it does 12:57:43 when it doesn't, it doesn't print the first character typed either 12:58:05 I will check this out, thanks 12:58:20 tangentstorm: c# should be mostly complete, f# is complete for sure 12:59:02 ah 12:59:03 looks like a color coding issue, because when it does print the definition at start, the first character typed is green like the definition, but the second one is yellow 12:59:43 so my guess would be that the first time it's writing the definition with the background color 13:00:01 i'm not entirely clear what's up with the color changes in SDL... it goes orange -> yellow for me 13:00:10 pretty sure it's intentional :) 13:00:57 ok, I see the problem. Will fix that next week too 13:01:15 (it's an SDL internal problem) 13:01:18 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 13:03:32 Jarod: You can see my progress here: https://www.assembla.com/spaces/avm/messages 13:03:51 yes 13:03:53 I will post if one problem is fixed 13:04:00 ok 13:04:29 oops , retro doesn't catch empty stack 13:04:55 should save often 13:05:50 tangentstorm: I can invite you as team-member. this way you can circumvent your Google related problems and upload files to my space (beside direct synchronisation of our both code basis) 13:06:13 if this help you 13:06:45 * Mat2-coding finish disassembler 13:08:52 hmm, --with seems to be broken on the f#. I'll look at this in a couple of days 13:10:00 must be difficult to keep up with so much implementations 13:10:38 crc: beware that two NET variants exist: The original Microsoft one and Mono, it can be that both handle files slightly different 13:12:26 --- quit: karswell (Remote host closed the connection) 13:15:39 Mat2-coding: I have same problems under both mono and ms.net 13:15:58 Jarod-: it's managable, since things seldom change in the vm implementation 13:16:12 Jarod-: c and javascript are probably the main ones that people use. the pascal one is brand new... the others... i don't know where the people who made them ran off to 13:16:14 some (like f#) were written entirely by others, so take me more time to debug 13:17:19 Mat2-coding: sure. i also plan to have a download section at retropascal.org eventually... but i don't even have a site up yet :) 13:20:42 tangentstorm: IIRC, last time I did a survey of usage, C and Python were the most common 13:21:31 haha... I'm just going to make up random facts based on my biased opinions, an then let crc correct me :D 13:21:40 you and your actual data 13:21:40 :) 13:22:10 * Mat2-coding finished disassembler 13:22:22 pypy group and others are/were using the vm and a subset of corpse and rancid for benchmarking purposes earlier this year 13:22:31 oh interesting! 13:22:41 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 13:23:02 * Mat2-coding now on the way to finish the JIT compiler 13:23:13 i had guessed javascript because of the demo 13:23:17 and the downloads 13:23:44 and because i thought i remembered you saying you used it yourself 13:28:46 tangentstorm: I have added you as team member 13:29:10 awesome. thanks :) 13:29:58 ok I used NppExec in Notepad++ to launch retro with my rx file 13:30:05 it works with sdl 13:30:25 but with the c version, retro is launched but there is no console window 13:33:01 that's because the C version need a terminal for output. You must start cmd with retro as executive and then it *can* work, but I guess the problem under Windows will be redirection of he output stream 13:36:37 0000000000000000: mov r8, 1AAAAAAAAAAAAAAA000000000000000A: mov r9, 1BBBBBBBBBBBBBBB 13:36:37 0000000000000014: shr r9, 000000000000001F 13:36:37 0000000000000018: mov r10, 1DDDDDDDDDDDDDDD 13:36:37 0000000000000022: mov r11, 1EEEEEEEEEEEEEEE 13:37:46 yeah, the opimization works, it compiles stack based code into register based machine-code ! 13:38:37 that's much better code than LLVM will generate :) 13:38:42 Mat2-coding: not entirely sure what i'm looking at here, but it sounds cool :) 13:41:38 tangentstorm: LLVM and similar envirionments inclusive all native-code generating forth's I know compile stack based VM code into either a list of calls to primitive routines (thats subroutine threading) or into machine-code which emulates a stack (or use one) 13:42:33 this resulting in suboptimal code because stack accesses depending on much more memory accesses as register based one 13:42:58 specially for architectures like ARM, that's critical 13:43:51 i hope you're going to publish this :) 13:44:19 my compiler maps the data stack to a set of registers so the generated code is much more optimizated for most cpu's 13:44:39 (and will perform much better) 13:44:55 sure, if I'm finish 13:45:05 next best thing after a stack based cpu :) 13:47:07 the VM code sequence was:LIT #1AAAAAAAAAAAAAAA LIT #1BBBBBBBBBBBBBBB 13:47:25 SHR 13:47:38 LIT #1DDDDDDDDDDDDDDD 13:47:48 LI #1EEEEEEEEEEEEEEEE 13:47:55 or: 13:49:19 liLI, shrLI, LI 1AAAAAAAAAAAAAAAA 1BBBBBBBBBBBBBBB 1DDDDDDDDDDDDDDD 1EEEEEEEEEEEEEEE (AVM mnemonic) 13:50:51 sorry i forgo a LI instruction: 13:51:25 liLI, liShr liLI 1AAAAAAAAAAAAAAAA 1BBBBBBBBBBBBBBB 1DDDDDDDDDDDDDDD 1EEEEEEEEEEEEEEE 13:52:26 liLI, liShr liLI 1AAAAAAAAAAAAAAAA 1BBBBBBBBBBBBBBB 1F 1DDDDDDDDDDDDDDD 1EEEEEEEEEEEEEEE 13:52:38 ^that's correct 13:54:01 and hat's the generated machine code: 13:54:05 49B8AAAAAAAAAAAAAA1A49B9BBBBBBBBBBBBBB1B49C1E91F49BADDDDDDDDDDDDDD1D49BBEEEEEEEEEEEEEE1E 13:54:20 pretty 13:55:00 --- join: impomatic (~digital_w@46.208.131.194) joined #retro 13:59:26 ok guys, thanks for your help, see you soon :) 14:00:39 --- quit: Jarod- () 14:21:01 --- quit: karswell (Remote host closed the connection) 14:25:46 --- quit: impomatic (Quit: var kings=new Array(3); for (x in kings) { kings[x].origin='orient'; kings[x].bearingGift=true; kings[x].travelled='afar'; }) 14:31:18 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 14:33:05 --- join: erider (~chatzilla@unaffiliated/erider) joined #retro 14:35:28 hi erider 14:40:19 hi Mat2-coding 14:40:49 --- quit: karswell (Read error: Connection reset by peer) 14:41:18 what's new ? 14:44:29 nothing really what about you 14:48:05 I'm working on a JIT compiler 14:48:13 --- nick: Mat2-coding -> Mat2 14:48:55 good deal 14:51:05 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 14:51:18 my first try was using GNU lightning, then LLVM, but both compiles with disappointing results for stack based code 14:51:45 (beside lightning offer no optimization at all) 14:52:22 that is not friendly 14:56:37 but there have a plan for it... 15:00:54 ok 15:02:12 i is only, there have these plan though more than four years or so 15:02:21 haha 15:02:43 I guess we will see what happens 15:07:23 it seems so 15:07:51 have you ever played Lords Of Midnight ? 15:08:26 is it a game? 15:12:52 yes 15:14:25 http://www.icemark.com/tower/index.html 15:14:41 it was first published for the ZX Spectrum 15:14:48 later for PC 15:16:22 --- join: kumul (~kumul@66-50-75-241.prtc.net) joined #retro 15:17:54 I'm interested in its graphic engine 15:18:22 because we want to code some adventure game 15:18:54 I have never played it, sorry 15:20:48 its programmer have published the source code for the DOS version 15:21:26 very readable but seem to be a straight conversion from some z80 sources 15:23:07 you are converting the graphic engine into a more modern chip set :-) 15:27:17 SDL will fit 15:27:56 --- join: beretta (~beretta@cpe-107-8-120-84.columbus.res.rr.com) joined #retro 15:29:51 hi beretta 15:30:06 howdie 15:30:07 hi beretta 15:40:17 see you 15:40:19 ciao 15:40:23 --- quit: Mat2 (Quit: Verlassend) 15:40:29 bye 16:22:49 --- nick: tangentstorm -> tangentaway 16:51:48 --- quit: karswell (Remote host closed the connection) 16:56:22 --- nick: tangentaway -> tangentstorm 17:02:03 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 17:17:08 --- quit: karswell (Remote host closed the connection) 17:27:24 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 17:40:26 --- quit: karswell (Remote host closed the connection) 17:50:39 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 17:56:32 see you guys later 17:56:44 --- quit: erider (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121129162756]) 17:56:45 bye bye 19:06:13 crc: check this out: https://sites.google.com/site/cocoboot2/legs-vm 19:30:57 --- quit: tangentstorm (Quit: WeeChat 0.3.2) 20:58:13 --- quit: beretta (Read error: Connection reset by peer) 20:59:39 --- join: beretta (~beretta@cpe-107-8-120-84.columbus.res.rr.com) joined #retro 21:36:41 --- quit: intothev01d (Quit: intothev01d) 22:17:45 --- quit: kumul (Quit: WeeChat 0.3.9.2) 23:59:59 --- log: ended retro/12.12.12