[00:36:42] * johnnymacs [johnnymacs!~user@2601:601:8300:963:b10c:7e0b:fe05:73ec] has joined the channel. [00:36:55] The guys in #forth keep banning me over and over I guess I'll hang out here. [02:14:46] What are they banning you for? [02:24:14] I dunno [02:24:16] Ask them [02:24:22] I am a little silly sometimes but never out of turn. [02:24:53] One time I told a guy "I sware on me mom I'll jab u right in the gabber m8" but that's a meme. I thought they would understand I wasn't being serious. [02:25:13] I think forth guys are often just very eliteist and get angry at people who don't know low level things or assembler. [02:26:45] u havin a giggle m8? [02:27:02] u avin >.> [02:27:06] fk [02:27:07] u avin a giggle m8 [02:27:22] i can't even remember to idle here most of the time [02:28:06] I don't really like the stack part of forth. I think it's brilliant but I am willing to make things slower to remove swap drop rot etc [02:28:25] What I like about forth is that there is no boilerplate and you can fire off functions one after the other just by naming them and adding a space [02:28:25] i fixed the bug on macOS that was breaking the ui! someone at apple decided to remove the call to opengl context ``update`` right before deprecating opengl [02:28:47] well done [02:30:16] yes, i like that about forth too [02:33:13] It is very similar to currying in haskell only I would call it mutable currying. [02:33:42] My goal is to sort of abstract the stack away from forth. I don't meant to say forth is bad. I prefer to use the stack myself. However my research is about making programming languages easier to use. [02:34:13] My idea is a language were all one ever does is fire off functions and nothing else. Probably not an original idea. I realize that swap is just a forth function but that's how I see things being if it is possible to do. [02:35:37] have you looked at factor much? specifically things like bi, 2bi, bi* [02:47:11] PoprC doesn't use a stack other than the C stack for calls, and even then it does very aggressive inlining. [02:47:32] This probably isn't what you're talking about, but still. [02:51:46] I think the solution is to avoid shuffling arguments by writing combinators for common patterns, and a strong static type system to catch errors. [02:57:02] the problem in factor is the combinators end up taking on all the stack shuffling and being complicated [02:58:27] Factor is like the common lisp of forth. It's pretty good. [03:00:13] banned. [03:00:55] jk. what's the future for lisp/scheme look like? [03:00:55] Does anybody know the filesize of a factor compiler and repl? [03:04:30] http://factorcode.org/ [03:04:42] download .98 and check [03:05:05] mine are the wrong sizes [03:06:04] That's pretty good compared to common lisp. I'm impressed. [03:06:12] And this doesn't include the graphical ide correct? [03:07:33] I personally would use it without the graphical ide because I use everything inside of emacs. [03:07:37] the factor.image is 100MB which includes the ui and the compiler. the vm is 388kb which is just primitives and some platform specific code [03:07:53] Yeah the ui is probably pretty good for new programmers. It's like dracket [03:08:29] Yeah around 40 megs is pretty good. Though forth fits in about 500 k. [03:08:57] Do you know what the performance is like speed-wise compared to forth? [03:12:52] I once saw in a blog post that Factor is comparable in speed to SBCL (common lisp) for most things [03:13:09] yeah last I looked there was only one video abotu factor from the creator of it. [03:13:21] Basically alot of the code from sbcl maps directly to factor in it's design. It's very clever that way. [03:16:45] so ls -l /bin/sbcl for me is 310552 [03:16:48] I think that's in K [03:17:03] so about three hundred megabytes [03:17:21] By the way, Factor ships with a mode for emacs that's sort of like SLIME -- it's called FUEL [03:17:27] That's a pretty drastic filesize decrease for roughly the same code and speed [03:17:59] Factor works fine for me in emacs [03:18:04] how do you do a 2 2 + [03:18:47] What do you mean? [03:19:26] 2 2 + RETURN => 2: 2 \n 2: 2 \n factor: '+' is not a valid positive integer \n [03:20:07] There's something mega-wrong there [03:20:21] I just opened up factor in ansi-term [03:20:25] I did sudo apt-get install factor though [03:20:28] that may be a different program [03:20:37] Oh, factor is an integer factoring program [03:20:44] oh lol [03:20:46] Factor doesn't have a repo [03:20:50] lolwutm8 [03:20:54] hold on let me wget the binary [03:23:43] Keep in mind Factor has some dependencies you may need to install: https://concatenative.org/wiki/view/Factor/Requirements [03:23:54] They might just be for the gui though [03:23:57] aww dang do I have to compile dis [03:24:03] No [03:24:26] yeah it works fine in emacs wat u talkin about [03:24:29] dont need no mode [03:24:34] no way no how [03:25:26] Suit yourself. :) Being able to C-c C-e u in order to update your USING: is pretty nice, for instance [03:26:18] johnnymacs: git clone git@github.com:factor/factor && cd factor && ./build.sh update # done [03:29:00] `ls -l` lists file sizes in bytes. You can use `ls -lh`. So that's about 310k for SBCL. [03:29:24] * johnnymacs [johnnymacs!~user@2601:601:8300:963:b10c:7e0b:fe05:73ec] has quit (Ping timeout: 252 seconds). [03:31:50] Hard to believe, though. I'm already up to 442k, without anywhere near the functionality of SBCL. Maybe most of the code is dynamically linked. [03:33:27] * johnnymacs [johnnymacs!~user@2601:601:8300:963:b10c:7e0b:fe05:73ec] has joined the channel. [03:33:31] my network went wonky [03:35:36] erg: are you the person who wrote the inverse vocabulary in Factor? [03:36:02] I have not written any code in factor except 2 2 + [03:36:05] oh wait [03:36:10] nvm I thought you were saying erg like a sound [03:36:49] Krenium: no, i think dan wrote it? [03:38:18] Ah, thanks. I've been having trouble trying to convert something from a match-cond to a switch [03:38:33] Just for the fun of it, really [03:40:30] * Sgeo [Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net] has quit (Ping timeout: 268 seconds). [03:44:43] how to quit factor [03:45:18] i wish i knew [03:46:05] as in how to exit the thing [03:46:44] exit seems to work for me [03:46:57] give it a code too. 0 exit [04:02:32] * FreeFull [FreeFull!~freefull@defocus/sausage-lover] has quit. [04:04:46] * Sgeo [Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net] has joined the channel. [04:09:36] y u no factor on arm [04:09:41] pls into factor on phone [04:10:43] factor .78 works on WindowsCE [04:12:49] that sounds like microsoft witchcraft and trickery [04:14:07] it is going to take over post-2007 [04:17:37] erg: wat? [04:17:49] you mean windows phone is goin to take over in the market after 2007? [04:19:57] it was cool before the iphone came out [04:20:39] I really like windows tablets but the battery life still sucks until probably the next two versions of windows [04:20:47] windows phones however were decent [04:20:58] I think windows phones were actually the best example of live tiles [04:21:04] the apps just werent there though [04:28:45] Windows tablets are pretty great rn though if you are just using a browser and some office apps. They have some windows tablets that have a sim slot and an sd card slot and can dual boot android and windows. those are pretty neat. And these little tablets have forced ms to make windows 10 alot smaller filesize and ram-wise. [04:31:27] I think part of the reason for forth being so much smaller is the absolute desire for minimalism. For example in forth the :help message in factor would be considered bloatware [04:31:54] IS there like a factor core or a factor runtime? [04:42:22] there is core/ which is enough to load the compiler in basis/ [04:43:45] the runtime has tagged objects and a gc (and some other stuff) [04:46:15] how usable is core and its filesize [04:54:19] I assume it's like forth core where the core barely does anything. [05:47:09] * Sgeo [Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net] has quit (Read error: Connection reset by peer). [05:47:27] * johnnymacs [johnnymacs!~user@2601:601:8300:963:b10c:7e0b:fe05:73ec] has quit (Ping timeout: 268 seconds). [05:47:38] * Sgeo [Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net] has joined the channel. [05:52:40] * Sgeo_ [Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net] has joined the channel. [05:55:51] * Sgeo [Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net] has quit (Ping timeout: 244 seconds). [06:47:58] * proteusguy [proteusguy!~proteus-g@119-46-178-3.static.asianet.co.th] has joined the channel. [06:54:00] * proteusguy [proteusguy!~proteus-g@119-46-178-3.static.asianet.co.th] has quit (Ping timeout: 246 seconds). [07:10:44] * proteusguy [proteusguy!~proteus-g@119-46-178-3.static.asianet.co.th] has joined the channel. [07:11:02] * niklasl [niklasl!~niklasl@c83-253-14-109.bredband.comhem.se] has quit (Quit: Nettalk6 - www.ntalk.de). [07:13:48] * niklasl [niklasl!~niklasl@c83-253-14-109.bredband.comhem.se] has joined the channel. [10:19:13] * proteusguy [proteusguy!~proteus-g@119-46-178-3.static.asianet.co.th] has quit (Ping timeout: 246 seconds). [10:51:35] * pierpal [pierpal!~pierpal@95.239.223.85] has joined the channel. [12:30:44] * pierpal [pierpal!~pierpal@95.239.223.85] has quit (Read error: Connection reset by peer). [14:21:27] * pierpal [pierpal!~pierpal@95.239.223.85] has joined the channel. [14:34:48] * pierpal [pierpal!~pierpal@95.239.223.85] has quit (Quit: Poof). [14:35:07] * pierpal [pierpal!~pierpal@95.239.223.85] has joined the channel. [15:28:07] * Sgeo_ [Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net] has quit (Ping timeout: 240 seconds). [15:37:24] * nowhere_man [nowhere_man!~pierre@2a01:e35:2eb3:4350:e450:14c0:75f:802d] has quit (Ping timeout: 252 seconds). [15:37:52] * pierpal [pierpal!~pierpal@95.239.223.85] has quit (Read error: Connection reset by peer). [16:48:00] * lonjil [lonjil!~quassel@2a02:418:6050:ed15:ed15:ed15:e741:32d6] has quit (Ping timeout: 252 seconds). [17:22:19] * lonjil [lonjil!~quassel@2a02:418:6050:ed15:ed15:ed15:e741:32d6] has joined the channel. [18:30:10] * FreeFull [FreeFull!~freefull@defocus/sausage-lover] has joined the channel. [19:20:32] * josh5tone [josh5tone!~user@ip68-227-131-71.br.br.cox.net] has joined the channel. [20:12:00] * pierpal [pierpal!~pierpal@95.239.223.85] has joined the channel. [20:45:02] * nowhere_man [nowhere_man!~pierre@2a01:e35:2eb3:4350:e450:14c0:75f:802d] has joined the channel. [22:50:35] * johnnymacs [johnnymacs!~user@c-73-221-174-12.hsd1.wa.comcast.net] has joined the channel. [22:57:48] * johnnymacs [johnnymacs!~user@c-73-221-174-12.hsd1.wa.comcast.net] has quit (Remote host closed the connection). [23:06:56] * Sgeo_ [Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net] has joined the channel. [23:29:40] * johnnymacs [johnnymacs!~user@c-73-221-174-12.hsd1.wa.comcast.net] has joined the channel. [23:29:50] I have an interesting proposal [23:30:03] factor has full macros right? [23:37:52] * johnnymacs` [johnnymacs`!~user@c-73-221-174-12.hsd1.wa.comcast.net] has joined the channel. [23:38:01] * johnnymacs [johnnymacs!~user@c-73-221-174-12.hsd1.wa.comcast.net] has quit (Ping timeout: 250 seconds). [23:39:08] * johnnymacs` is now known as johnnymacs