00:00:00 --- log: started forth/20.11.16 00:01:49 --- quit: gravicappa (Ping timeout: 260 seconds) 00:25:37 --- join: xek joined #forth 00:44:12 --- join: mtsd joined #forth 01:05:52 --- quit: xek (Ping timeout: 260 seconds) 01:11:30 --- join: xek joined #forth 01:13:48 --- part: mtsd left #forth 01:53:11 --- quit: xek (Remote host closed the connection) 01:56:04 --- join: xek joined #forth 02:05:07 --- quit: MrMobius (Read error: Connection reset by peer) 02:06:07 --- join: MrMobius joined #forth 02:11:23 --- quit: xek (Ping timeout: 264 seconds) 02:25:48 --- join: lisbeths joined #forth 02:34:15 --- quit: lisbeths (Remote host closed the connection) 02:53:32 --- join: dave0 joined #forth 03:07:23 --- join: gravicappa joined #forth 03:44:36 --- quit: jsoft (Ping timeout: 256 seconds) 04:04:05 --- join: Gromboli joined #forth 04:36:11 --- join: xek joined #forth 04:38:48 --- join: xek_ joined #forth 04:41:22 --- quit: xek (Ping timeout: 265 seconds) 05:30:18 --- quit: MrMobius (Read error: Connection reset by peer) 05:37:15 --- quit: dave0 (Quit: dave's not here) 05:48:54 yeah, seems to be working fine using emit. I just have to be sure to use a terminal emulator that processes the color escape sequences correctly 05:49:09 minicom doesn't work, but screen does 05:55:30 --- quit: hosewiejacke (Ping timeout: 256 seconds) 06:10:42 --- join: hosewiejacke joined #forth 06:15:41 --- quit: hosewiejacke (Ping timeout: 246 seconds) 06:17:16 --- quit: gravicappa (Ping timeout: 256 seconds) 06:31:34 and picocom 06:32:01 --- quit: rixard (*.net *.split) 06:32:01 --- quit: koisoke (*.net *.split) 06:32:01 --- quit: KipIngram (*.net *.split) 06:32:08 --- join: koisoke joined #forth 06:32:27 --- join: KipIngram joined #forth 06:32:27 --- join: rixard joined #forth 06:32:49 does forth have a word already to print a string from a memory location, stopping at a null byte? Not that it sounds difficult to code... 06:32:50 --- nick: KipIngram -> Guest19679 06:34:32 lispmacs: TYPE, https://github.com/siraben/zkeme80/blob/2d67594d0b3757022782c3ca19c1ece29be1b6f0/src/forth.scm#L865 06:37:41 --- nick: Guest19679 -> KipIngram 06:37:56 --- mode: ChanServ set +v KipIngram 06:41:02 siraben: do you use tilp2 to upload to the TI-84+? 06:41:45 lispmacs: I use the TI-Connect app on Mac 06:42:05 https://education.ti.com/en/products/computer-software/ti-connect-ce-sw 06:43:16 Nixpkgs should have tilp2 merged sometime soon 06:43:21 lispmacs: what do you use? 06:43:56 I was very interested in reprogramming ti calculators for a while last year, but only wanted to use free software tools. I couldn't get tilp2 to work with my ti-92+, unfortunately, so the endeavor is currently shelved 06:44:13 Dang. Didn't work how? 06:44:25 IIRC TI-92+ processor is m68k or something 06:44:46 Yeah just checked 06:45:59 it seemed to be a problem with the USB communication. I could us tilp2 fine with my ti-89 titanium 06:46:07 but not with the ti-92+ 06:46:23 I badly wanted to use the ti-92+ instead because of the nice keyboard layout 06:46:52 Right. Looks like qwerty. 06:47:02 also, my toddler dropped my ti-89 titanium in the toilet 06:47:10 nooo 06:47:28 yeah, that was a sad day 06:47:31 OTOH after programming on my calculator with Forth I can type decently on its A-Z keyboard layout 06:47:45 there's still emulators around fortunately, but it's not like the actual hardware, yeah. 06:48:19 yeah, i wrote a tiemu package for guix a while back, but not near as much fun as working with the real hardware 06:48:52 Ah you're a Guix user, nice. 06:49:02 Guix and Nix are close cousins, heh. 06:49:54 yes, we owe much to the Nix folks. But Guix is my choice, as a Gnu project, and also with the guile focus 06:50:47 I tried Guix before Nix when I was into GNU and the free software movement, however I just couldn't get it to work on my hardware. 06:51:19 I might try again on my next laptop which hopefully would be blob-free 06:51:38 video card and wi-fi drivers would be my first guess without asking 06:51:50 Guix uses the linux-libre kernel 06:52:00 I think video was fine, wifi didn't work. 06:52:09 And at the time I didn't know how to write derivations in either Guix or Nix 06:53:14 --- join: xek__ joined #forth 06:53:22 that can be a problem for sure. I actually gave up on Wi-fi chips and just started using a TPE-1200 portable wi-fi router, running librecmc in client mode, and connect that via ethernet 06:54:05 Is the Nixpkgs equivalent in Guix strict about non-free software? 06:55:38 --- quit: xek_ (Ping timeout: 256 seconds) 06:56:28 I'm not quite sure I fully understand the question, but guix will allow you to install anything from the guix git repo you are using, and you can use as many as you want. The official guix git repo is a Gnu project and 100% free software 06:57:10 you could make your own git repo with some non-free packages. I suppose you would download blobs in the same way that the bootstrap packages do 06:57:18 not that I am recommending that :) 06:57:32 lispmacs: Ah right. Is there a community-maintained non-free repository? 06:58:37 not that I've heard of. The guix community is general hostile towards the idea, but I haven't gone looking for one. certainly it would be anything the official project would even be willing to mention exists 06:58:42 *wouldn't 06:59:03 One thing I hope Nix can learn from Guix is the minimization of the bootstrap. 06:59:40 yes, that is an exciting, energetic guix project. janneke is leading the way on that 07:00:20 Yeah I've talked to them on the #bootstrappable channel 07:00:38 They're almost able to achieve a bootstrap using stage0 07:00:41 along with the gnu hurd support, which is cool too 07:01:13 https://github.com/oriansj/talk-notes/blob/master/Current%20bootstrap%20map.pdf 07:01:31 They're close, the missing part is a Scheme interpreter in C. 07:01:42 I hope Forth could also replace the bottom parts eventually, heh. 07:03:22 I've been a diehard scheme fan, but forth has been an intriguing discovery recently 07:04:18 I'm thinking of bridging the M2-Planet and mes-cc gap with a Scheme interpreter written in a subset of Haskell (which can bootstrap from their basic C compiler), see https://github.com/siraben/compiler 07:04:35 Yeah, it was very pleasant to write a Forth in Scheme in ASM, as well. 07:05:09 As in, existing Z80 assemblers were pretty awful when it came to meta-programming and macros, so naturally Scheme would help with that 07:05:52 I can't pretend to be honest that I've ever coded anything significant in any language, but am having fun recently with Forth on Arduino, which might lead to some interesting applications 07:06:06 What Forth implementation are you using? 07:06:43 currently Arduino-FVM. it was the easiest choice as it is coded as an Arduino IDE sketch 07:06:56 Arduino is what kind of CPU again? 07:08:04 They use the Atmel AVR chips. I'm focusing on the traditional 328P microprocessor, though the mega2560 is a more powerful choice 07:08:23 the mega2560 does not have a DIP form, however 07:08:32 if you like your chips with DIP 07:08:38 Ah, AVR. 07:08:41 I'm not familiar with what DIP is 07:08:51 Could you cross-compile to AVR using Guix? 07:08:59 DIP socket, if you want to be able to push in and pull out your chip 07:09:08 I see 07:09:54 siraben: you can certainly use avrdude, gcc-avr, and the arduino-ide (with some extra work) on Guix 07:10:22 I believe I could create a guix package to compile specific other software for an AVR chip, but haven't played around with that yet 07:10:45 Right, but in Nix you could cross-compile GNU Hello for example by doing `nix-build . -A pkgs.pkgsCross.avr.hello` 07:10:46 i.e., a guix package that would compile some atmel code using avr-gcc 07:11:37 ^ that command works because there's a cross-build mechanism in Nixpkgs along with declarations of the GCC or Clang based compiler for each target 07:11:57 Ah so I think Guix might have something similar 07:13:05 sorry, you are kind of reaching a little past the limit of my current Guix packaging knowledge 07:13:23 Haha, no problem. 07:13:34 I've only written about two or three guix packages 07:14:12 Could you give an example of a simple Guix derivation? 07:15:16 I'm sorry, do you mean the package definition itself. (I believe the derivation is the output of the package definition in guix) 07:16:04 or were you looking for a command for modifying a derivation? 07:16:52 I know guix has some commands for changing a package definition with command line options, like changing the compiler used on the fly, but would have to look that up in the manual 07:18:32 The package definition itself 07:18:42 yes, standby 07:18:45 Ah yeah, I got mixed up for a second. Derivation is also the output 07:18:47 in Nix 07:21:03 https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/base.scm#n67 07:21:17 hello program package 07:21:36 Thanks. Very nice. 07:26:32 --- join: hosewiejacke joined #forth 07:30:24 --- join: MrMobius joined #forth 07:38:20 --- join: xek_ joined #forth 07:41:08 --- quit: xek__ (Ping timeout: 256 seconds) 08:14:27 --- quit: hosewiejacke (Ping timeout: 240 seconds) 08:14:52 --- join: gravicappa joined #forth 08:26:27 --- join: hosewiejacke joined #forth 08:32:23 --- quit: hosewiejacke (Ping timeout: 264 seconds) 08:41:55 --- join: hosewiejacke joined #forth 08:53:03 --- join: Zarutian_HTC joined #forth 09:27:31 --- quit: hosewiejacke (Quit: Leaving) 10:21:44 --- join: lispmacs[work] joined #forth 10:27:09 what is the easiest way to store a string in memory? I know now how to print one that is in a memory location but was wondering about copying one into a memory location 10:31:56 --- join: WickedShell joined #forth 11:42:24 --- quit: gravicappa (Ping timeout: 260 seconds) 11:43:31 --- join: gravicappa joined #forth 11:48:04 CMOVE for the characters alone, or PLACE to write them with a leading count? 11:55:15 inode: but, I mean, if the string is not already in memory. like, say, I allocate for myself 6 bytes of memory and want to put the string "hello\0" in it 12:01:26 --- quit: dys (Ping timeout: 240 seconds) 12:02:23 VARIABLE HELLO 6 ALLOT 12:02:26 S\" HELLO\0" HELLO SWAP CMOVE 12:02:35 HELLO 6 DUMP 12:02:51 --- join: dys joined #forth 12:03:30 if you really want that null-terminated string and you have a word like S\" for that purpose 12:04:50 but compare that to the dump you might get from S" HELLO" HELLO PLACE instead 12:43:07 thx 13:13:49 --- quit: crc (Read error: Connection reset by peer) 13:14:04 --- join: crc joined #forth 13:20:41 --- quit: gravicappa (Ping timeout: 260 seconds) 14:07:22 --- join: boru` joined #forth 14:07:24 --- quit: boru (Disconnected by services) 14:07:27 --- nick: boru` -> boru 14:30:14 --- quit: xek_ (Ping timeout: 246 seconds) 14:35:33 --- join: dave0 joined #forth 14:44:13 --- join: Gromboli_ joined #forth 14:56:51 --- quit: jedb (Remote host closed the connection) 14:57:05 --- join: jedb joined #forth 15:56:58 --- quit: Zarutian_HTC (Remote host closed the connection) 16:16:50 --- quit: dave0 (Quit: dave's not here) 16:52:41 --- join: Zarutian_HTC joined #forth 17:08:29 --- quit: Zarutian_HTC (Remote host closed the connection) 17:09:11 --- quit: WickedShell (Remote host closed the connection) 18:35:07 --- join: boru` joined #forth 18:35:10 --- quit: boru (Disconnected by services) 18:35:13 --- nick: boru` -> boru 18:37:18 --- join: proteusguy joined #forth 18:38:32 --- quit: Gromboli (Read error: Connection reset by peer) 18:38:32 --- quit: Gromboli_ (Read error: Connection reset by peer) 19:27:04 --- quit: lispmacs (Remote host closed the connection) 20:24:46 --- quit: sts-q (Ping timeout: 260 seconds) 20:28:24 --- join: sts-q joined #forth 20:41:38 --- join: gravicappa joined #forth 21:31:07 --- quit: tangentstorm (Ping timeout: 272 seconds) 21:33:53 --- join: tangentstorm joined #forth 22:17:36 --- quit: catern (Ping timeout: 256 seconds) 22:28:04 --- join: catern joined #forth 22:52:21 --- join: hosewiejacke joined #forth 23:00:55 --- quit: ecraven (Quit: bye) 23:01:18 --- join: ecraven joined #forth 23:27:39 --- quit: mjl (Ping timeout: 272 seconds) 23:30:22 --- join: mjl joined #forth 23:48:28 --- quit: MrMobius (Read error: Connection reset by peer) 23:59:59 --- log: ended forth/20.11.16