IRC Log - 2025-05-21 - ##forth

Channel: ##forth
Total messages: 104
Time range: 00:02:27 - 23:26:08
Most active: vms14 (35), xentrac (26), veltas (20)
00:02:27 ##forth <vms14> sbcl should be good at performance
00:03:29 ##forth <vms14> I'm not sure of why I have lost all interest in lisp the day I saw forth
00:04:03 ##forth <vms14> at the end what interests me the most from programming is metaprogramming reflection and the bottom up approach
00:04:18 ##forth <vms14> I guess forth gives you a level of freedom that is unmatched
00:04:40 ##forth <vms14> the only rules are the ones you create yourself
00:04:58 ##forth <vms14> in lisp you live in the lisp world. it's a cool world, but will never be yours
00:05:06 ##forth <vms14> in forth you create your own world
00:06:23 ##forth <vms14> it's only you the stack the memory and the text interpreter
00:22:32 ##forth <veltas> Lispers are quite cynical, they only ever tell me about cons
00:30:54 ##forth <xentrac> haha
00:32:14 ##forth <xentrac> anthk_: if you want low-power computing you need almost the same code you need to go the absolute fastest, because every wasted instruction is wasted energy, not just wasted time
00:32:56 ##forth <xentrac> although things like 64-bit registers are an exception; going to 64 bits nearly doubles power consumption for almost no gain
00:33:52 ##forth <xentrac> also paging: hitting an MMU on every memory access is a waste of energy
00:46:51 ##forth <vms14> I guess it's not forth itself what I really like but the concatenative language concept
00:47:13 ##forth <vms14> the fact that it is so easy to read a word and evaluate it and from there I can expand in any direction
00:47:28 ##forth <xentrac> I forget, was it you that said yesterday that you tried Joy?
00:47:40 ##forth <vms14> and the core logic of the interpreter is so simple that it fits in my mind
00:47:49 ##forth <vms14> xentrac no, I never tried joy or factor
00:48:09 ##forth <vms14> ONLY FORTH
00:48:19 ##forth <vms14> ALSO PERL
00:48:54 ##forth <vms14> and forth I have yet to learn more than just the basics
00:51:02 ##forth <xentrac> heh
06:50:52 ##forth <anthk_> morning
06:50:52 ##forth <anthk_> perl is slow
06:51:10 ##forth <xentrac> aye
07:52:39 ##forth <xentrac> just as with : 1+ < ;
08:33:19 ##forth <veltas> : <= > 0= ;
08:50:27 ##forth <veltas> Found out that Peter Pan is another UK copyright exception, public domain everywhere except here where Great Ormond Street Children's Hospital have a perpetual right to collect royalties on it.
08:50:57 ##forth <veltas> Specifically written into our 1988 copyright act
08:53:20 ##forth <anthk_> the ACE had an error disabling word but I can't find it
08:53:27 ##forth <anthk_> which disables error checks
12:04:40 ##forth <xentrac> veltas: yes, : <= > 0= ; has the same problem
12:04:59 ##forth <xentrac> I know about the Peter Pan problem
12:07:41 ##forth <veltas> Well I think it's okay really, rather they have perpetual copyright than e.g. Disney
12:08:40 ##forth <veltas> My <= def was more a suggestion for how I would implement it, rather than trying to address the overhead issue
12:09:33 ##forth <veltas> My STC Forth attempts have allowed inlining short code words like > and 0= so there would be less calling overhead, but still some overhead.
12:10:52 ##forth <veltas> 0= is one of those words that inlines really nicely on many archs with a TOS register
12:10:52 ##forth <veltas> Especially if you don't use -1 as true
12:10:57 ##forth <veltas> 1+ is probably the best of such words though
12:11:15 ##forth <veltas> I can inline that to a single instruction even on Z80
12:24:47 ##forth <anthk_> INC?
12:37:35 ##forth <veltas> Yeah, on Z80 you can increment 16-bit regs in one instruction
12:56:47 ##forth <xentrac> veltas: the problem with copyright, from my point of view, is not that it benefits someone by providing them with royalties, but that it hurts everyone
12:57:14 ##forth <xentrac> by restricting what they can do with their own computers
13:31:47 ##forth <veltas> Do you agree with the FSF position?
13:32:22 ##forth <veltas> Personally I'm not particularly pro/anti from a moral standpoint, instead I just don't know what the best choice is
13:32:35 ##forth <veltas> It seems to help some companies perform but I wonder if it's all "fake money"
13:32:43 ##forth <veltas> But fake money makes the world go round
13:33:31 ##forth <veltas> So I don't really have a principled stance, I understand the arguments but don't particularly agree with any of them
13:36:17 ##forth <veltas> I have a very high opinion of free software and open source software
13:42:14 ##forth <xentrac> I have a lot in common with the FSF but I doubt I agree with them on everything
13:43:11 ##forth <xentrac> but I see copyright (in keeping with, perhaps, my US upbringing) as a system to incentivize creation and publication, rather than the enforcement of some kind of natural right like Zola
13:43:39 ##forth <xentrac> a tradeoff to promote the public interest, with benefits and drawbacks
13:44:14 ##forth <xentrac> the benefit is that copyright holders get paid in a way that creates a financial incentive to create. the drawback is that it prevents socially beneficial copying
13:44:29 ##forth <xentrac> well, and encourages legal disputes about which copying is legal
13:44:40 ##forth <xentrac> that's another drawback
13:46:01 ##forth <xentrac> in that light, paying Disney or Great Ormond Street Children's Hospital is beneficial, although the latter is probably less beneficial in that they probably aren't going to commission any new novels themselves
13:46:50 ##forth <xentrac> but preventing someone from putting Peter Pan on their laptop is harmful
14:16:33 ##forth <veltas> Peter Pan specifically or any copyrighted work?
14:16:59 ##forth <veltas> I have a lot of respect for FSF but confess I don't really 'understand' their sentiment about software rights
14:31:20 ##forth <anthk_> https://mathscitech.org/articles/prop-logic this is cool =)
14:40:00 ##forth <anthk_> instead of that logic sym, I'd use tkgate, for sure
14:46:35 ##forth <xentrac> maybe there are some copyrighted works to which having access is neutral or harmful, like Hulk Hogan's sex tape or a compellingly persuasive argument for beginning to inject heroin, but I'm comfortable asserting that access to Peter Pan is beneficial to almost everyone
14:46:48 ##forth <xentrac> therefore things that impede access to Peter Pan are harmful
14:48:32 ##forth <xentrac> the question is just whether that harm outweighs the benefit from modestly encouraging the authorship of more Peter-Pan-like works; in the pre-computer age it seems clear that the harm was almost nonexistent
14:50:54 ##forth <xentrac> the FSF basically starts from the premises that individual autonomy is highly desirable and that a software-sharing community where people can help one another (for example by sharing software enhancements) is highly desirable. everything else follows from that
17:39:53 ##forth <dzho> xentrac: could you say more about Zola and copyright? I'm somewhat aware that copyright in France has more support for the notion of the "moral rights" of an author than does US copyright.
17:42:36 ##forth <dzho> but the history of the French approach is more obscure to me than the US situation
17:44:27 ##forth <dzho> (although the US situation is fairly convoluted: Despite the Constitutional provisions for federal action on this, its expansion both in lenght-of-coverage as well as what material is covered has often been a state rather than federal thing)
17:45:19 ##forth <xentrac> I might be remembering wrong, but I thought Zola was one of the main proponents of the Berne Convention
17:52:08 ##forth <dzho> I see mention of Victor Hugo here, so maybe that's it? https://en.wikipedia.org/wiki/Berne_Convention#History
18:00:55 ##forth <xentrac> that's who I was thinking of! thanks!
21:39:54 ##forth <vms14> I think I have implemented does in some way although not sure if it's broken and the implementation is very weird
21:40:33 ##forth <vms14> I'm faking memory with an array and there is here ! +! @ create allot and variable
21:41:22 ##forth <vms14> create meh 0 , 1 , : oh does 1+ ; oh
21:42:05 ##forth <vms14> meh will push it's fake memory address (the array index) and then evalate 1+
21:43:38 ##forth <vms14> meh @ returns the 1 set by the second comma
21:44:43 ##forth <vms14> but now that I'm faking memory already I should change the dictionary for a region in that memory and have words with headers like in forth maybe
21:45:33 ##forth <vms14> the dictionary is a hash table and the interpreter threads them into a bunch of subroutines
21:48:36 ##forth <vms14> but I'm doing things in a way I dislike
22:56:41 ##forth <vms14> oh in forth you cannot do that xd because does> appends to the last created word
22:57:04 ##forth <vms14> in my case it only appends to words created by create
22:58:16 ##forth <vms14> it also works like in : oh create 0 , 1 , does> 1+ ; oh meh meh
22:59:44 ##forth <vms14> if you want to test it you can give this file to perl
22:59:45 ##forth <vms14> https://paste.c-net.org/HormonesTablets
23:00:00 ##forth <vms14> it should launch a repl without readline, I use rlwrap
23:00:24 ##forth <vms14> you can type WORDS to see what it has
23:00:46 ##forth <vms14> not much yet but do loop +loop if then else etc
23:01:28 ##forth <vms14> it can : unless postpone not postpone if ; 0 unless oh then
23:01:44 ##forth <vms14> although there is no way to mark immediate words yet
23:03:47 ##forth <vms14> +loop runs abs() on the increment value and works a bit differently from forth
23:04:23 ##forth <vms14> at the end everything is a lie xd
23:24:55 ##forth <cleobuli_> now forthBot is 50 % faster , using a hashtable for the words
23:25:15 ##forth <cleobuli_> forthBot: MICRO 3 CUBE DROP 3 CUBE DROP MICRO SWAP - .
23:25:15 ##forth <forthBot> Unknown word: CUBE
23:25:15 ##forth <forthBot> Unknown word: CUBE
23:25:16 ##forth <forthBot> 44
23:25:33 ##forth <cleobuli_> forthBot: LOAD 'ini.fth"
23:25:33 ##forth <forthBot> Error: Error: LOAD: Cannot open file ''ini.fth'
23:25:41 ##forth <cleobuli_> forthBot: LOAD "ini.fth"
23:25:41 ##forth <forthBot> File ini.fth loaded
23:25:45 ##forth <cleobuli_> forthBot: MICRO 3 CUBE DROP 3 CUBE DROP MICRO SWAP - .
23:25:45 ##forth <forthBot> 10
23:26:08 ##forth <cleobuli_> 20 micro second before