←2020-12-18 2020-12-19 2020-12-20→ ↑2020 ↑all
00:53:34 <Lykaina> echidna reference: http://thor.lesidhetree.com/sara/echidna/arduino/cmdop6b-arduino.pdf (only has 256 bytes of accessable memory)
00:53:56 <Lykaina> echidna example: http://thor.lesidhetree.com/sara/echidna/arduino/helloworld.txt
00:54:11 <Lykaina> i modified it for Serial
00:54:22 <Lykaina> instead of lcd
01:50:31 -!- Lord_of_Life_ has joined.
01:53:10 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
01:53:20 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
01:53:30 <Lykaina> https://wiki.forth-ev.de/doku.php/projects:430eforth:start#arduino_uno_und_arduino_nano
01:53:46 <Lykaina> it's been done
01:54:37 <kmc> nice
01:55:15 <kmc> Lykaina: does your echidna have digital IO too or only analog read?
01:56:45 <Lykaina> i haven't implemented digital read yet
01:57:18 <Lykaina> and the url is for someone else's project that i'm playing with
01:57:38 <Lykaina> forth for the arduino
01:59:18 <kmc> yes
02:25:32 -!- uplime has quit (Ping timeout: 260 seconds).
02:26:07 -!- uplime has joined.
02:35:29 <Lykaina> kmc: the echidna is currently in an "Arduino Leonardo R3" with an Ethernet/SD Shield
02:36:11 <kmc> oh cool
02:37:02 <kmc> i haven't played with any of the ethernet stuff
02:37:19 <kmc> most of my embedded projects recently have been with ESP8266 and using wifi
02:37:37 <kmc> I made a mushroom spawn incubator, a dual-probe pasteurization thermometer and an automated plant growing chamber
02:37:59 <Lykaina> eforth_328 is on an "Arduino Uno R3" clone
02:39:36 <Lykaina> well, the eforth_328 sketch
02:42:20 <Lykaina> how does one type hello world in a FORTH shell?
02:49:22 <shachaf> whoa, stacking a log on top of another log
02:50:48 <b_jonas> Lykaina: you go to http://rosettacode.org/wiki/Rosetta_Code , it ha a lot of example programs in lots of languages, it's bound to have a hello world in Forth,
02:50:54 <b_jonas> and then you type that in and hope it works
02:51:21 <b_jonas> Lykaina: http://rosettacode.org/wiki/Forth
02:51:43 <b_jonas> http://rosettacode.org/wiki/Hello_world/Text#Forth
02:57:52 <Lykaina> ceForth_328 is not stable
03:02:56 <Lykaina> echidna only has 256 bytes of memory. ugh
03:03:28 <imode> why only 256 bytes?
03:03:41 <Lykaina> space
03:03:59 <Lykaina> it has to do with indirect addressing
03:05:11 <Lykaina> has to be a value 2^n, where n is whole and n is the amount of bits in a unit
03:05:33 <Lykaina> course
03:05:47 <imode> so why not 2^16.
03:06:08 <Lykaina> on an arduino?
03:06:49 <Lykaina> 65536*2 > 2048
03:07:07 <imode> where'd you get 2048 from.
03:07:10 <Lykaina> arduino uno has max mem of 2048
03:07:13 <imode> and why are you multiplying that by 2.
03:07:37 <Lykaina> arduino leo has max mem of 2536
03:07:55 <imode> okay.. so why not have (2048 - interpreter-overhead) bytes available.
03:07:55 <Lykaina> arduino mega2560 has max mem of 8192
03:08:29 <imode> you can very easily indirectly address every one of those by taking two bytes as a 16 bit pointer.
03:08:32 <Lykaina> because of how echidna works
03:08:41 <imode> okay but you made it work like that. :P
03:08:50 <Lykaina> brb
03:11:06 <imode> you could also very easily use a constant offset from 256.
03:16:32 <kmc> in AVR the registers are mapped as the first 32 bytes of RAM
03:22:22 <Lykaina> i'm adding 512 bytes of "extended memory" to it.
03:22:52 <shachaf> int-e: Wow, this puzzle was sneaky. You had to interact with the other island in a tricky way.
03:24:46 <shachaf> So now I've unfogged all the islands around the flamingo, but I still haven't gotten to that one.
03:24:51 <shachaf> Also I found another snowman, also unreachable.
03:35:25 <kmc> i wonder if it would be fun to build an 80s style microcomputer "from scratch" one day
03:40:43 <kmc> maybe a Galaksija
03:44:37 <Lykaina> echidna reference: http://thor.lesidhetree.com/sara/echidna/arduino/cmdop6c-arduino.pdf (256 bytes of main memory, 512 bytes of extended memory)
03:46:25 <Lykaina> happy now?
03:47:07 <Lykaina> can't increase the arrays any more
03:50:53 <Lykaina> kmc: they still sell 8051s
03:55:21 <kmc> yes
03:55:38 <kmc> people are still designing new chips with 8051 ISA
03:56:09 <kmc> you can get an 8051 with PCIe Gen 3 and USB 3.1 support
03:56:10 <kmc> https://twitter.com/whitequark/status/1285255728333303811
03:59:20 <Lykaina> does the 8051 have the opcodes to handle those?
03:59:23 <kmc> > MCS-51 based microcontrollers have been adapted to extreme environments. Examples for high-temperature variants are the Tekmos TK8H51 family for −40 °C to +250 °C[7] or the Honeywell HT83C51 for −55 °C to +225 °C (with operation for up to 1 year at +300 °C).
03:59:25 <lambdabot> <hint>:1:259: error:
03:59:25 <lambdabot> <hint>:1:259: error:
03:59:26 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
03:59:51 <kmc> Lykaina: I would assume they are memory-mapped peripherals, and therefore need no special opcodes
04:00:13 <Lykaina> point taken
04:01:59 <Lykaina> arduinos have such small ram
04:02:06 <kmc> and in that application (a NVMe to USB 3.0 bridge, which btw I own and have used) I would guess that the two peripherals transfer data directly between them, bypassing the CPU core
04:03:00 <kmc> so the core can be something pretty slow and simple, just to handle all the protocol negotiation nonsense on both ends
04:03:25 <Lykaina> arduino uno is atmega328
04:04:40 <kmc> yeah
04:05:09 <Lykaina> what chips do they use on the space station?
04:05:39 <imode> probably radiation hardened x86 stuff.
04:05:47 <kmc> if you want something more powerful look at the "blue pill" generic STM32 boards
04:06:37 <kmc> has a 32-bit Cortex-M3 (STM32F103C8) with 72 MHz and 64 KB of RAM
04:06:45 <kmc> and costs only a few dollars
04:07:09 <kmc> also has native USB support and other neat stuff the ATmega328 doesn't
04:07:20 <kmc> and you can program them from the Arduino IDE once appropriately set up
04:08:14 <Lykaina> arduino due?
04:09:55 <kmc> i'm talking about this kind of deal https://www.aliexpress.com/item/32525208361.html?spm=a2g0o.productlist.0.0.b90e4c10u0JKMx&algo_pvid=337d38c5-6038-4692-b4eb-498501756316&algo_expid=337d38c5-6038-4692-b4eb-498501756316-0&btsid=0bb0623d16083509557698562e97c5&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
04:10:27 <kmc> it's a no brand china thing
04:11:15 <kmc> you'll want a ST-Link to program them, at least to get the USB bootloader on them
04:11:22 <kmc> but a knockoff ST-Link is also only a few dollars
04:12:02 <kmc> https://predictabledesigns.com/introduction-stm32-blue-pill-stm32duino/
04:37:01 <Lykaina> considering getting a arduino due clone with holiday money
04:37:55 <Lykaina> it has a cortex-m3
04:38:35 <Lykaina> and 96k of memory
04:40:05 <Lykaina> (64 + 32)
04:51:22 <kmc> how much money?
04:52:36 <kmc> I have a STM32F4 Discovery board, as well
04:52:46 <kmc> it's not hardware-compatible with Arduino shields
04:52:54 <kmc> but I believe you can program it from the IDE https://github.com/ChrisMicro/Arduino_STM32F4_Discovery
04:53:35 <kmc> and it has some cool things on board
04:53:50 <kmc> and it includes the ST-Link too
04:54:23 <kmc> you can do real debugging thru that
04:54:35 <kmc> single step code, investigate memory from a gdb process running on your dev machine
04:56:17 <kmc> that's pretty neat
04:56:24 <kmc> and was very useful when i was trying to get rust code to run on it
04:56:36 <kmc> a mix of C and Rust actually
04:56:53 <kmc> I had Rust code calling into libsodium (a C library) which was calling back into Rust code which was invoking the hardware RNG
04:57:05 <kmc> and investigating crashes that occured before any of that code ran, before even main ran
04:57:14 <kmc> which i eventually tracked down to a bad linker script
04:57:34 <Lykaina> 20ish
04:57:47 <Lykaina> usd
04:57:50 <kmc> that's not bad
04:59:22 <Lykaina> i ordered something only for a chip i didn't have by accident
04:59:29 <Lykaina> oops
04:59:49 <Lykaina> successfully cancelled the order
05:00:46 <Lykaina> now, if it was for the chip i have...it would havemade it a lot easier to use
05:00:57 <kmc> the only thing that really annoys me about the STM32F4 Discovery
05:01:21 <kmc> is that they use micro-USB for the MCU's USB port, but mini-USB for the ST-Link programmer port
05:01:24 <kmc> like whyyyy
05:01:43 <Lykaina> lol sorry
05:02:52 <kmc> at this point i'm always annoyed when I encounter mini-USB but especially both on the same device!!
05:04:40 <Lykaina> considering creating code for echidna for ethernet
05:05:17 <Lykaina> cause i'm using an ethernet shield for sdcard
05:06:46 <kmc> seems neat
05:06:55 <kmc> you could write an IRC bot and have it connect here!!
05:08:11 <Lykaina> not sure if echidna is powerful enough
05:08:31 <Lykaina> i had a bot account
05:09:51 <Lykaina> must have gotten reaped due to inactivity
05:10:59 <kmc> IRC is a pretty simple protocol
05:11:19 <kmc> do you have any particular design goals with echidna?
05:11:37 <Lykaina> lay eggs
05:11:48 <kmc> :O
05:11:54 <Lykaina> i mean, no
05:12:15 <Lykaina> monotreme joke
05:12:49 <kmc> I got it :)
05:13:58 <Lykaina> i can finally type plain text code onto the sd card
05:14:20 <Lykaina> first version of echidna to do that
05:14:23 <zzo38> IRC is good, it even is designed it can work even without any specialized software, and even it does (although using IRC software works better, so that you can do auto-pong and other stuff)
05:15:32 <Lykaina> yeah, i'll have to have it checking for ping every second
05:15:51 <kmc> Lykaina: oh, was it a compiled bytecode before?
05:15:57 <Lykaina> yes
05:16:12 <Lykaina> parsed
05:19:09 <Lykaina> sub,cmd[,flag1arg1[,flag2arg2[,flag3arg3[,flag4arg4]]]];
05:19:17 <Lykaina> ^ now
05:20:23 <Lykaina> instead of loops, it has "repeat sub" conditionals
05:21:55 <Lykaina> currently, max of 255 subs and recursion of 32
05:22:22 <Lykaina> or maybe 31
05:24:29 <Lykaina> it takes each sub+command+args and converts it into a 10-byte array
05:25:12 <Lykaina> and passes that around
05:25:38 <Lykaina> to the command executing code
05:27:44 <Lykaina> conditional gosub, redo sub, and return from sub commands
05:28:11 <Lykaina> can be used to form loops
05:30:49 <Lykaina> i also have copy/store, swap, simple 8-bit uint math, runtime in ms, delay in ms, and random
05:32:29 <Lykaina> also, the ability to measure analog inputs, serial in and out, and extended memory get and put.
05:33:29 <Lykaina> "m" args refer to memory addresses, direct or indirect
05:33:59 <Lykaina> "p" args refer to memory addresses, direct or indirect, and also literals
05:34:36 <Lykaina> kmc: what did i miss that is needed?
05:37:47 <Lykaina> (anyone may answer)
05:38:01 <kmc> what's redo sub?
05:38:30 <Lykaina> loops to the start of the sub
05:39:42 <Lykaina> if mem[0] == mem[1] then continue execution at beginning of sub
05:40:02 <Lykaina> as an example
05:40:44 <Lykaina> the conditions i use are: equal, less than, and not equal
05:41:11 <Lykaina> greater than can be formed from less than
05:42:46 <Lykaina> memory is in unsigned 8-bit integers
05:44:10 <Lykaina> crap, i don't have "carry add" and "borrow sub"
05:44:51 <Lykaina> or "absolute sub"
05:46:55 <Lykaina> and division is integer division
05:49:13 <Lykaina> wait a sec...multiplication is mod 256?
05:50:19 <Lykaina> i get the feeling i'm realizing problems on my own
05:55:45 <Lykaina> the subtraction used is mod 256
05:56:49 <Lykaina> (a + 255 - b) % 256
05:57:52 <Lykaina> or whatever it is
05:58:20 <Lykaina> oh, yeah
05:58:37 <Lykaina> (256 + a - b) % 256
06:00:18 <Lykaina> so that 4-5=255
06:01:57 <int-e> shachaf: there's a bit of that on the path to victory
06:02:13 <int-e> ^8ball do we like CFGs?
06:02:13 <fungot> No.
06:02:40 <shachaf> Not a fan of control flow graphs, huh?
06:05:30 <int-e> shachaf: have you seen today's AoC problem?
06:05:44 <shachaf> I did see it.
06:05:47 <int-e> I guess you have and are messing with me.
06:05:53 <int-e> As usual.
06:06:52 <shachaf> Oh no.
06:07:04 <shachaf> I just enjoy the ambiguity of this acronym.
06:07:39 <shachaf> I don't know what part 2 is, though.
06:08:29 <int-e> it adds cycles to the grammar
06:08:54 <shachaf> Ah, the first one has no cycles? Makes sense.
06:09:11 <int-e> (which made almost no difference to me)
06:09:34 <shachaf> Do you need backtracking for this problem?
06:09:51 <int-e> I don't know
06:15:11 <int-e> it's only a two letter alphabet so presumably one character lookahead isn't enough
06:54:05 <Lykaina> great...have to redo the math ops
07:02:57 <esowiki> [[Talk:Analogia]] https://esolangs.org/w/index.php?diff=79500&oldid=59719 * Quintopia * (+272) is this an error?
07:11:15 -!- arseniiv has joined.
07:32:34 -!- rain1 has joined.
07:33:22 -!- Axton has joined.
07:33:46 -!- Axton has left ("WeeChat 1.9.1").
07:41:23 <int-e> . o O ( Both DuckDuckGo and Bing seem to autocorrect "difficulty lever" to "difficulty level" *without asking*. Google does not. *sigh* )
07:42:02 <imode> which behavior is correct.
07:42:05 <int-e> (Google makes a suggestion which is, of course, reasonable. It wasn't a typo.)
07:42:31 <imode> yeah, asking is always the best option.
07:43:11 <int-e> I'm reading a paper by EA on dynamic difficulty adjustment and they use the term, so I was wondering whether the term is used elsewhere.
07:43:46 <int-e> Their use is borderline nefarious: "First, adjusting [the difficulty] lever should make the game easier or harder. Second, adjusting this lever should be invisible to players [...]."
07:44:43 <imode> sounds more like marketing than a design term.
07:46:21 <int-e> The nefarious aspect is the invisibilty of the adjustment.
07:46:51 <imode> it seems transparent to me. "including results for..."
07:47:04 <int-e> And no, this isn't marketing, this is behavorial modeling (basically they estimate dropout rates) and difficulty adjustment based on that.
07:48:54 <int-e> imode: Including "difficulty level" results makes the results useless... they outnumber the relevant results by orders of magnitude.
07:49:30 <imode> yeaaah good point.
07:50:10 <int-e> And neither Bing nor DuckDuckGo actually tell me that...
07:50:30 <int-e> ...maybe due to disabled Javascript?
07:50:49 <int-e> Note that I included the quotes in the search query.
07:51:07 <imode> nah I get the same shit on JS.
07:51:31 <shachaf> OK, I guess I should figure out how the shunting yard algorithm works sometime.
07:52:30 <int-e> that name...
07:52:53 <imode> does it look like an operator? throw it on the stack. else throw it on an output queue.
07:53:00 <int-e> "a method for parsing mathematical expressions specified in infix notation"
07:53:00 <imode> no more things? concatenate stack with queue.
07:53:41 <shachaf> I think what I should do is just try to do precedence parsing without recursion and see what I end up with.
07:54:45 <int-e> a name for something fairly trivial (though potentially quite error-prone)
07:55:03 <int-e> it's closely related to your favorite precedence climbing
07:55:46 <int-e> (which manages to use the runtime stack for the operator stack)
07:56:45 <b_jonas> int-e: if you are searching for the episode with the dial knob for the difficulty setting, it's https://powerpuffgirls.fandom.com/wiki/Bubblevicious
07:57:50 <int-e> b_jonas: where the fuck did that come from
07:58:34 <imode> that is a reference that I did not expect.
07:59:49 <shachaf> Right, that's the point.
08:00:15 <shachaf> I was at 365 islands today when I stopped.
08:00:19 <shachaf> Oh no.
08:00:26 <shachaf> I think I sent that message right at midnight.
08:01:21 <b_jonas> int-e: what do you mean come from?
08:05:33 <int-e> b_jonas: Well, as far as I'm concerned you made up a whole new context for what I was looking for and thereby distorted it way beyond recognition.
08:08:40 <b_jonas> quite likely, but that's what "diffculty lever" reminds me
08:09:04 <shachaf> b_jonas: How many islands do you have in A Monster's Expedition?
08:10:07 <int-e> shachaf: are you still climbing rocks?
08:10:22 <shachaf> I don't remember where the frontier was.
08:10:28 <b_jonas> shachaf: what? I don't play that game
08:10:41 <shachaf> There was an island with a bench and no trees.
08:10:53 <shachaf> That I got to from an island with three trees.
08:11:04 <int-e> Right, that bench one did have me puzzled for a bit.
08:11:43 <int-e> In fact I think I proclaimed that I was stuck... when I was there.
08:11:47 <shachaf> The three trees on the other island are pretty awkwardly positioned.
08:12:09 <int-e> Then solved it very quickly in the beginning of the next session.
08:12:12 <shachaf> I'm sort of wondering whether I have to do something and then repeat the whole path that led me to that island.
08:12:23 <shachaf> But hopefully not since that'd be annoying.
08:12:36 <shachaf> I had an experience like that with another puzzle.
08:12:42 <int-e> As I recall it... no. But I'm not 100% sure :)
08:42:14 <int-e> "game retention prediction model" --- just rolls off your tongue doesn't it
09:07:26 -!- rain1 has quit (Quit: WeeChat 2.9).
09:37:50 -!- rain1 has joined.
09:39:28 -!- Sgeo has quit (Read error: Connection reset by peer).
11:23:16 -!- sprocklem has quit (Ping timeout: 268 seconds).
11:41:56 -!- imode has quit (Quit: Batsharks are people too!).
12:00:56 -!- rain1 has quit (Quit: WeeChat 2.9).
13:28:39 -!- delta23 has joined.
13:56:56 <esowiki> [[Quantum Dimensions]] M https://esolangs.org/w/index.php?diff=79501&oldid=59465 * PythonshellDebugwindow * (+21) /* Example programs */ Formatting, link
14:00:46 <esowiki> [[Alphabetti spaghetti]] M https://esolangs.org/w/index.php?diff=79502&oldid=74479 * PythonshellDebugwindow * (+25) /* Interpreter */ Wayback (O Wayback Machine, whatever would we do without thee...)
14:54:49 -!- Arcorann_ has quit (Ping timeout: 264 seconds).
15:06:36 -!- Frater_EST has joined.
15:16:01 -!- rain1 has joined.
15:17:29 <esowiki> [[Lazy evaluation]] M https://esolangs.org/w/index.php?diff=79503&oldid=68870 * PythonshellDebugwindow * (+1) 10
15:19:02 <esowiki> [[Infinity]] M https://esolangs.org/w/index.php?diff=79504&oldid=23206 * PythonshellDebugwindow * (+49) Aidepikiw
15:22:44 <fizzie> I cobbled together part 1 in a vaguely CYK-ish way, except (since it was cycle-free) "rulewise" rather than "lengthwise" (if that makes sense), and ended up having to special-case the part 2 rules. Might rewrite that to something prettier later on.
15:28:41 <int-e> I followed the principle that CYK is basically just memoization :P
15:50:30 <int-e> And then I managed to make it so inefficient that it took almost 2 minutes to run to completion for a single input.
16:36:41 -!- TheLie has joined.
16:59:16 -!- LegionMammal978 has joined.
16:59:45 <fizzie> int-e: Heh. Well, turns out there are only 2097152 strings total in the language of my part 1, and it's faster to just enumerate them all than do what I initially did.
17:00:17 <LegionMammal978> int-e: What do you generally optimize for when writing AoC solutions? I just took the quick and easy route and used regexes.
17:01:29 <LegionMammal978> For part 2, I was getting some headaches since the regex engine I used doesn't support balancing groups, but I found that hardcoding the first 20 expansions worked perfectly fine.
17:04:00 -!- TheLie has quit (Remote host closed the connection).
17:06:17 -!- aaaaaa has joined.
17:07:04 <aaaaaa> Hi all
17:07:11 <aaaaaa> Reading here https://esolangs.org/wiki/Combinatory_logic
17:07:16 <aaaaaa> "Each combinator is like a function or lambda abstraction, but without any free variables."
17:07:29 <aaaaaa> It's like a C function with no access to global variables? Only to arguments, right?
17:10:15 <LegionMammal978> They are similar, but a combinator does not have a notion of argument type and cannot have any side-effects.
17:11:12 <aaaaaa> LegionMammal978: OK, so combinator is like a function in pure PL (Haskell?) with no local variables and data types?
17:12:25 <LegionMammal978> aaaaaa: That would be roughly correct.
17:12:49 <kmc> the free variables of a lambda term are the variables which are not bound by the lambda as arguments, but are inherited from the environment where the lambda was evaluated
17:13:03 <aaaaaa> OIC, thank you all
17:13:17 <kmc> also called 'captures'
17:14:04 <kmc> they don't exist in combinatory logic because variables don't exist really
17:14:11 <kmc> all you have is a small set of pre-defined lambda terms
17:14:14 <kmc> which have no captures
17:14:33 <aaaaaa> Yeah, a program is like a tree of combinator functions, right?
17:14:38 <kmc> yeah
17:15:03 <kmc> a tree where the leaves are your predefined combinators (S, K, I, whatever) and the interior nodes are function application
17:15:17 <LegionMammal978> kmc: So as I understand it, the main difference between combinatory logic and lambda calculus is that you can't partially evaluate a multiple-argument combinator. Is that correct?
17:15:33 <kmc> i mean, the main difference is that there is no lambda in combinatory logic
17:15:39 <kmc> you can't define your own functions, at all
17:15:49 <kmc> you can only apply these few pre-existing functions to each other
17:16:02 -!- pr0gr3sR has quit (Remote host closed the connection).
17:16:11 <LegionMammal978> True, but any lambda expression has an equivalent combinator expression, does it not?
17:16:15 <kmc> yes
17:16:48 <kmc> SK combinatory logic is turing complete, every program in any language has an equivalent SK combinator expression
17:16:57 <kmc> (for the right definition of "equivalent")
17:17:21 <kmc> i'm not sure what you meant by partially evaluate
17:17:24 <kmc> did you mean partial application?
17:17:41 <LegionMammal978> That is, how in lambda calculus all multiple-argument functions must be curried.
17:17:57 <kmc> well there are no multiple-argument functions
17:18:04 <kmc> you fake it by currying
17:18:42 <LegionMammal978> Yes, and combinatory logic does have multiple-argument combinators that don't need to be faked.
17:18:46 <kmc> yeah
17:18:49 <kmc> I see what you mean now
17:19:08 <kmc> though I think it would be fine to define those in a curried way
17:19:40 <kmc> like if you assign the obvious curried semantics to a partially applied term like (S K), I don't think it breaks anything
17:19:43 <kmc> but i don't know
17:20:43 <LegionMammal978> I recall writing a beta-reduction algorithm with De Bruijn indices, and the main annoyance is knowing how to slide around all of the free variables when you make a substitution.
17:20:56 <LegionMammal978> Combinatory logic avoids this by not having any variables at all.
17:21:22 <aaaaaa> Would you recommend learning Unlambda? Or there is another eso PL of that type which will suits better for a noob?
17:22:18 <aaaaaa> Or maybe Tom Stuart's book
17:22:19 <aaaaaa> ...
17:22:24 <LegionMammal978> aaaaaa: I think it's somewhat useful for understanding how combinatory logic is used to write programs, but it's otherwise pretty frustrating.
17:23:32 <LegionMammal978> (Of course, Unlambda is somewhat special in that it has a builtin call/cc instruction.)
17:29:27 <int-e> LegionMammal978: I try to keep things simple, but what is simple depends so much on what you're familiar with that there's no such thing as ab objectively simple solution
17:29:55 <int-e> I didn't even consider regular expressions because this was a context-free grammar :P
17:30:17 <int-e> also I didn't expect the unfolding to fit into reasonable space, but apparently it does
17:31:16 <int-e> I aimed for something resembling an abstract version of CYK.
17:31:57 <int-e> (write a function that checks whether a string is accepted by a certain rule, then memoize it so it doesn't blow up exponentially)
17:32:09 <LegionMammal978> int-e: That makes sense. I just noticed that the definitions already used pipes and concatenations and figured that a regex engine could probably parse it.
17:32:32 <int-e> | are standard EBNF
17:32:43 <LegionMammal978> Now that I think about it, though, you probably don't even need to expand it all, if you have a regex implementation with named capture groups.
17:59:32 -!- LegionMammal978 has quit (Remote host closed the connection).
18:03:32 -!- Frater_EST has quit (Read error: Connection reset by peer).
18:24:32 <Lykaina> echidna reference: http://thor.lesidhetree.com/sara/echidna/arduino/cmdop6d-arduino.pdf (256 bytes of main memory, 512 bytes of extended memory)
18:47:53 <Lykaina> (or 4096 byte of extended mem on the mega)
18:59:57 -!- Sgeo has joined.
19:00:27 <Lykaina> hi sgeo
19:00:52 <Sgeo> Hi Lykaina
19:01:09 <Sgeo> `olist 1222
19:01:10 <HackEso> olist https://www.giantitp.com/comics/oots1222.html: shachaf oerjan Sgeo FireFly boily nortti b_jonas
19:01:27 <b_jonas> `thanks HackEso
19:01:28 <HackEso> Thanks, HackEso. ThackEso.
19:06:41 -!- S_Gautam has joined.
19:32:35 -!- TheLie has joined.
19:58:17 -!- imode has joined.
20:15:10 -!- ocharles has changed nick to ocharles_bot.
20:16:53 -!- ocharles_bot has changed nick to ocharles.
20:18:57 <Lykaina> echidna reference: http://thor.lesidhetree.com/sara/echidna/arduino/cmdop6d-arduino.pdf (256 bytes of main memory, 4096 bytes of extended memory on a mega2560)
20:22:30 -!- arseniiv has quit (Ping timeout: 256 seconds).
20:25:21 -!- deltaepsilon23 has joined.
20:26:00 -!- delta23 has quit (Disconnected by services).
20:26:02 -!- deltaepsilon23 has changed nick to delta23.
20:28:50 -!- Bowserinator has quit (Quit: Blame iczero something happened).
20:28:53 -!- moony has quit (Quit: Bye!).
20:31:50 -!- Bowserinator has joined.
20:31:59 -!- moony has joined.
20:40:21 -!- adu has joined.
20:58:40 -!- adu has quit (Quit: adu).
21:09:34 -!- aaaaaa has quit (Read error: Connection reset by peer).
21:13:37 -!- adu has joined.
21:13:38 -!- adu has quit (Client Quit).
21:16:20 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
21:17:35 -!- adu has joined.
21:21:32 -!- TheLie has quit (Remote host closed the connection).
21:35:41 <esowiki> [[PenisScript]] M https://esolangs.org/w/index.php?diff=79505&oldid=76539 * PythonshellDebugwindow * (+54) /* External resources */ Cats, Seealso
21:36:09 <esowiki> [[Dick]] M https://esolangs.org/w/index.php?diff=79506&oldid=79249 * PythonshellDebugwindow * (+32) /* Console */ See.Also();
21:36:25 <esowiki> [[Dick]] M https://esolangs.org/w/index.php?diff=79507&oldid=79506 * PythonshellDebugwindow * (-12) m
21:43:01 <Lykaina> changes in echidna 0006e: there are now a max of 65535 subs
21:52:33 -!- sparr has quit (Changing host).
21:52:33 -!- sparr has joined.
22:06:23 -!- gitlogger has quit (Ping timeout: 265 seconds).
22:30:21 -!- gitlogger has joined.
22:36:51 -!- adu has quit (Quit: adu).
22:45:09 <Lykaina> echidna reference: http://thor.lesidhetree.com/sara/echidna/arduino/cmdop63-arduino.pdf (256 bytes of main memory, 4096 bytes of extended memory on a mega2560, main + 65535 subs)
22:47:16 <Lykaina> correction
22:47:21 <Lykaina> echidna reference: http://thor.lesidhetree.com/sara/echidna/arduino/cmdop6e-arduino.pdf (256 bytes of main memory, 4096 bytes of extended memory on a mega2560, main + 65535 subs)
22:49:03 -!- delta23 has quit (Remote host closed the connection).
22:49:35 -!- delta23 has joined.
23:07:24 -!- Arcorann_ has joined.
23:08:14 -!- Arcorann_ has quit (Remote host closed the connection).
23:08:39 -!- Arcorann_ has joined.
23:10:25 -!- NeverBorn has joined.
23:10:36 -!- sprocklem has joined.
23:17:05 -!- NeverBorn has quit (Remote host closed the connection).
23:31:54 -!- rain1 has quit (Quit: WeeChat 2.9).
←2020-12-18 2020-12-19 2020-12-20→ ↑2020 ↑all