[04:31:29] * MDude [MDude!~MDude@71.50.47.112] has quit (Quit: Going offline, see ya! (www.adiirc.com)). [07:16:44] * ephe_meral [ephe_meral!~amnesia@ip5f5bf7d1.dynamic.kabel-deutschland.de] has joined the channel. [07:38:21] * Sgeo [Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net] has quit (Read error: Connection reset by peer). [08:43:09] * tme5 [tme5!~tme5@185.214.220.197] has joined the channel. [08:50:04] * imode [imode!~linear@unaffiliated/imode] has quit (Ping timeout: 246 seconds). [11:02:17] * xelxebar [xelxebar!~xelxebar@gateway/tor-sasl/xelxebar] has quit (Remote host closed the connection). [11:02:50] * xelxebar [xelxebar!~xelxebar@gateway/tor-sasl/xelxebar] has joined the channel. [13:51:56] * Sgeo [Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net] has joined the channel. [14:13:20] * tgunr [tgunr!~tgunr@dsl-dhcp-conrtxxahre-72-26-19-187.consolidated.net] has quit (Ping timeout: 272 seconds). [14:14:50] * tgunr [tgunr!~tgunr@dsl-dhcp-conrtxxahre-72-26-19-187.consolidated.net] has joined the channel. [14:16:07] * MDude [MDude!~MDude@71.50.47.112] has joined the channel. [15:41:41] * FreeFull [FreeFull!~freefull@defocus/sausage-lover] has joined the channel. [16:23:00] * Sgeo [Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net] has quit (Read error: Connection reset by peer). [16:40:43] * Sgeo [Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net] has joined the channel. [16:45:31] * tme5 [tme5!~tme5@185.214.220.197] has quit (Quit: Leaving). [16:46:55] * imode [imode!~linear@unaffiliated/imode] has joined the channel. [17:17:00] are there any "mainstream" concatenative languages without syntactic nested structures? I know you can flatten out Joy and build up these structures via concatenation, but I only know an esolang that takes that further in that you can't concatenate, only compose. [17:41:04] * tgunr [tgunr!~tgunr@dsl-dhcp-conrtxxahre-72-26-19-187.consolidated.net] has quit (Ping timeout: 272 seconds). [17:42:35] * tgunr [tgunr!~tgunr@dsl-dhcp-conrtxxahre-72-26-19-187.consolidated.net] has joined the channel. [18:37:54] * ephe_meral [ephe_meral!~amnesia@ip5f5bf7d1.dynamic.kabel-deutschland.de] has quit (Ping timeout: 256 seconds). [18:44:01] * ephe_meral [ephe_meral!~amnesia@ip5f5bf7d1.dynamic.kabel-deutschland.de] has joined the channel. [18:52:18] * ephe_meral [ephe_meral!~amnesia@ip5f5bf7d1.dynamic.kabel-deutschland.de] has quit (Ping timeout: 256 seconds). [20:08:11] imode: Do you mean where the brackets to introduce a quote are also words/functions? [20:09:29] I made a language like that a long time ago: https://github.com/HackerFoo/peg [20:10:20] It led to my current language Popr: popr.dev [20:11:26] But Popr doesn't treat brackets as functions, because it delays parsing until runtime for no good reason. [20:57:35] HackerFoo: more like we don't introduce brackets at all, instead building things up incrementally via "compose"/"concat". [20:58:17] this is interesting though. [21:01:37] https://git.catseye.tc/Equipage/ [21:07:54] manipulating commands as data then executing them. I don't like the choice of primitives, but it's neat. [21:24:17] The problem with this, and stack languages in general, is that a function on stacks has too much state. [21:24:47] It's like saying CPU instructions are functions on the entire state of the machine. [21:26:06] Functional programming isn't so much about representing things as functions, because that's easy, but more about eliminating unnecessary dependencies. [21:26:32] So manipulating "the stack" makes it really hard to do that. [21:29:11] What I really needed was a concise way to describe data flow graphs, and concatenative languages are good for that. [21:30:22] https://hackerfoo.com/posts/popr-tutorial-0-dot-machines.html [21:57:20] yeah, stacks in general aren't that flexible.. I have a sketch of an equipage variant without arithmetic or pick. uses a 2-way tape that behaves like a stack when inserting/doing any operations, but allows you to shift the whole thing left and right. [21:58:30] so you can shift around to arbitrary points in the "stack", operate on them, then shift back. [22:01:36] without nested quoted values, you can encode nested structures by using relative seeks to other quoted values. [22:31:36] <^alex> in before we've reinvented tcl's `upvar` and `uplevel`