00:01:11 What is ban/nat/nit/nepit anyway? 00:01:30 -!- tromp_ has quit (Ping timeout: 260 seconds). 00:02:11 I think they said, it is the base-e unit of measurement to the bit's base-2 00:12:58 [wiki] [[Esoteric units of information]] N https://esolangs.org/w/index.php?oldid=46321 * Hppavilion1 * (+5392) Created page with a good deal of partially-completed content. 00:13:55 [wiki] [[Esoteric units of information]] M https://esolangs.org/w/index.php?diff=46322&oldid=46321 * Hppavilion1 * (+0) /* nat (or ban or nit or nebit) */ Formatting fix 00:14:15 Elronnd: e-possibilities for a bit 00:14:43 zzo38: I'm a "he" for future reference; no need to call me "they" (NTTAWWT) 00:14:56 @messages-lud 00:14:57 oerjan said 6h 15m 16s ago: (I swear, I have no clue how I wound up there) <-- well i know why i did (for SCIENCE). alas, i note that several of the comments point out much of this can be explained by variation in broadband penetration between states. 00:14:57 oerjan said 6h 14m 19s ago: so it's ice cream causing shark attacks all over again 00:16:46 [wiki] [[Esoteric units of information]] https://esolangs.org/w/index.php?diff=46323&oldid=46322 * Hppavilion1 * (+0) /* TIB and STIB */ Fixed template 00:17:11 [wiki] [[Esoteric units of information]] https://esolangs.org/w/index.php?diff=46324&oldid=46323 * Hppavilion1 * (+0) /* Binary (boolean) logic and gates */ Fixed template 00:19:31 [wiki] [[Esoteric units of information]] https://esolangs.org/w/index.php?diff=46325&oldid=46324 * Hppavilion1 * (+2) /* Ternary logic and gates */ Indent heading 00:21:21 Should I get cogmind 00:22:44 [wiki] [[Esoteric units of information]] https://esolangs.org/w/index.php?diff=46326&oldid=46325 * Hppavilion1 * (+2) /* Binary (boolean) logic and gates */ Heading 00:27:00 <\oren\> it's nice that kerbins don't run out of oxygen, so you can just leave them orbiting the mun 00:27:23 `? mun 00:27:28 mun? ¯\(°​_o)/¯ 00:27:31 `? moon 00:27:34 The Moon is an unprovable celestial object that is not very retroreflectorey. 00:27:45 `?hackego 00:27:47 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?hackego: not found 00:27:50 `? hackego 00:27:51 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 00:27:59 `? int-e 00:28:01 int-e är inte svensk. 00:28:13 `? kerbalspaceprogram 00:28:14 kerbalspaceprogram? ¯\(°​_o)/¯ 00:28:25 oh, it's even a swedish pun... did oerjan put that there? 00:28:38 `culprits wisdom/int-e 00:28:43 oerjan oerjan 00:29:19 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 00:29:41 `? olsner 00:29:42 olsner seems to exist at least. He builds all his esolangs in diesel engines. 00:29:42 -!- oerjan has joined. 00:29:50 `? zimbabwe 00:29:51 olsner's desk points zimbabwards. it is highly dependent on tswett's michiganic orientation. 00:29:52 diesel engines? 00:30:14 -!- Melvar` has joined. 00:30:15 `? diesel 00:30:15 I don't remember where that comes from, probably something boily made up 00:30:16 diesel? ¯\(°​_o)/¯ 00:30:22 -!- Melvar has quit (Disconnected by services). 00:30:24 -!- Melvar` has changed nick to Melvar. 00:31:26 -!- jaboja has joined. 00:31:45 olsner: of course i put it there, jag är ju inte ligent hellre 00:32:36 olsner: you said it yourself: 2014-01-24: do you guys have a particular engine you like to build your languages in? I build all my esolangs in diesel engines `run echo 'olsner seems to exist at least. He builds all his esolangs in diesel engines' > wisdom/olsner 00:32:50 oh, heh 00:34:46 hm should that be heller my swedish grammar is lacking 00:35:03 I think so 00:35:44 hppavilion[1]: What does "NTTAWWT" mean? 00:35:51 hellre = rather, heller = whatever that word means in that phrase 00:36:36 both meanings are "heller" in norwegian 00:36:58 so i remembered hellre and thought that was the swedish version 00:37:16 what's hellre/rather in norwegian then? 00:37:18 zzo38: google suggests "Not That There's Anything Wrong With That." 00:37:25 olsner: heller 00:37:46 they're not distinguished 00:37:55 right, that's what you said now that I reparsed your sentence 00:40:09 The emergency room of Hell. 00:40:23 And an evil regular expression. 00:40:31 new hobby: use NTTAWWT in such a way that it's insulting 00:40:36 -!- Melvar` has joined. 00:40:38 -!- tromp_ has joined. 00:40:40 shachaf is vegetarian NTTAWWT 00:41:14 fizzie: i don't get the last one 00:41:15 It's probably pronounced "not a twat". 00:41:18 oerjan: hellre. 00:41:26 ah 00:41:31 oerjan has a weird sense of humor NTTAWWT 00:41:44 -!- Melvar has quit (Ping timeout: 272 seconds). 00:42:52 But I guess it's cheating if it's insulting without the NTTAWWT. 00:43:05 MAYBE 00:43:37 so, maybe: oerjan's a nice person NTTAWWT 00:43:50 that might be stretching it 00:43:56 yes! 00:44:18 makes one stop and wonder though, doesn't it... 00:44:22 jesus saves NTTAWWT 00:47:01 I suspect that'll be a rather short-lived hobby. (NTTAWWT... oops.) 00:50:01 That's nice: I sometimes use gitg for history-browsing, but now it segfaults if I try to open the branch selection dropdown. 00:51:08 -!- Melvar`` has joined. 00:52:46 -!- Melvar` has quit (Ping timeout: 240 seconds). 00:54:39 -!- hppavilion[1] has joined. 00:55:30 -!- Melvar has joined. 00:56:55 `` tac <(echo a;echo b) <(echo c;echo d) 00:56:57 b \ a \ d \ c 00:57:05 -!- Melvar`` has quit (Ping timeout: 276 seconds). 00:57:06 huh now it worked 00:57:44 Wha. 00:57:58 `` which tac 00:57:59 ​/hackenv/bin/tac 00:58:07 Someone gone and did some sneaky stuff, I take it. 00:58:15 `culprits bin/tac 00:58:16 `culprints bin/tac 00:58:17 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: culprints: not found 00:58:19 izabera izabera izabera 00:58:25 I can't type. 00:58:44 Well, I mean, it *prints* the *culprits*, it could plausibly be culprints. 00:58:52 :) 00:58:58 coolprints 00:59:48 JavaScript allow to do things like this, it look like: x=Array.from({length:getchar()},getchar); 01:00:16 it wasn't sneaky, i wrote it in this chan 01:06:03 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 01:38:55 -!- hppavilion[1] has joined. 01:40:01 -!- Melvar` has joined. 01:41:50 -!- Melvar has quit (Ping timeout: 260 seconds). 01:43:23 -!- Melvar`` has joined. 01:44:18 -!- Melvar` has quit (Ping timeout: 250 seconds). 01:47:38 I kind of want to make a program that converts between arbitrary units of information 01:48:29 "the complete works of shakespear -> digital clock readouts" 01:48:57 -!- Melvar has joined. 01:50:52 -!- Melvar`` has quit (Ping timeout: 250 seconds). 01:52:41 -!- ais523 has quit (Read error: Connection reset by peer). 01:54:29 -!- ais523 has joined. 01:58:16 I would want to make up the "htcls-" prefix for HTML attributes, which is for "HyperText Command Line Service" and is use for converting web apps into command-line programs and SQLite extensions (as well as other possible uses). 01:58:50 (Other attributes are still used too though) 01:58:56 zzo38: Ooooh 01:58:57 web apps such as? 02:00:31 -!- AlexR42 has joined. 02:00:47 -!- Melvar has quit (Ping timeout: 276 seconds). 02:04:14 -!- esowiki has joined. 02:04:18 -!- esowiki has joined. 02:04:18 -!- esowiki has joined. 02:05:16 -!- esowiki has joined. 02:05:17 -!- glogbot has joined. 02:05:20 -!- esowiki has joined. 02:05:21 -!- esowiki has joined. 02:06:19 -!- Melvar has joined. 02:15:17 Many kinds, I suppose 02:15:33 (Including OpenID login forms) 02:17:10 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 02:44:17 How to change which events are allowed to be send to webpages in Firefox? 02:47:09 -!- jaboja has quit (Remote host closed the connection). 02:52:02 (but to allow all events in a chrome context) 02:56:48 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 03:00:07 <\oren\> I can get to suborbital space using one turbofan 03:01:54 <\oren\> i think 03:03:20 -!- ais523 has quit. 03:03:30 -!- ais523 has joined. 03:05:46 -!- Melvar has quit (Ping timeout: 250 seconds). 03:06:59 -!- Melvar has joined. 03:07:26 <\oren\> aww apogee still only 53000 03:10:42 -!- Melvar` has joined. 03:13:06 -!- Melvar has quit (Ping timeout: 240 seconds). 03:39:52 -!- MDude has changed nick to MDream. 04:04:36 Cartesian Sum? 04:05:13 the addition analogue to cartesian product as multiplication is disjoint (i.e. tagged) union, I think 04:05:51 (a+b)×(c+d) = (a×c)+(a×d)+(b×c)+(b×d), at least with a sufficiently loose definition of = 04:06:23 For two well-ordered sets o, p s.t. #o=#p, one could have an operation o$+$p (where $+$ is a placeholder symbol) that is basically adding each element by index 04:06:36 -!- Melvar`` has joined. 04:06:48 e.g. o{1, 2, 3}+o{4, 5, 6} = o{5, 7, 9} 04:07:40 I've seen that operation in more than one language 04:07:43 they all called it .+ 04:09:28 -!- Melvar` has quit (Ping timeout: 276 seconds). 04:09:36 cartesian product is the category theory product in the category Set, and tagged union is similarly the coproduct/sum. 04:10:15 as usual in CT, defined only up to isomorphism. 04:36:10 My opinion is that such things like -moz-default-color should be made standardized for use in CSS (there are five of these in total); I have once wanted such thing in order to do reverse-video 04:36:50 (without having to override the colors of the entire webpage) 04:37:09 if worst comes to worst, you can always use an iframe 04:38:31 That's silly though. 04:40:35 that's why I said, if worst comes to worst 04:40:46 Not something to do lightly 04:40:57 There are few occasions where an iframe is warranted 04:48:36 Maybe something like the following could be used: body { background-color: -moz-default-background-color !important; color: -moz-default-color !important; background-color: white; color: black; } .reverse { background-color: -moz-default-color !important; color: -moz-default-background-color !important; background-color: black; color: white; } 04:51:38 oerjan: that's basically what I said but in more mathematically precise language :-) 04:51:50 now my comment seems redundant :-( 04:52:34 ais523: that's weird since my comment was a reply to yours. 04:52:42 ah right 04:52:48 it could have been a reply to hppavilion[1]'s though 04:53:05 so I guess it was a way to bait out the correct answer 05:12:10 -!- ais523 has quit. 05:32:47 -!- AlexR42 has joined. 05:35:16 JSZM is now completed: http://zzo38computer.org/jszm/jszm.js Now you can please comment/questions/complain about it. 05:44:45 I'm making a brainfuck-based language suitable for OS development (not a normal derivative; this one isn't stupid (it's designed with a purpose- specifically, hobbyists in the field of OS development- in mind)) 05:44:58 Take THAT stupid BF derivatives! 05:46:59 Once you have done, post it and then we can see it please 05:47:53 zzo38: OK 05:48:02 zzo38: I think I might actually make a compiler for it. 05:48:14 Which is something that would make me feel like a god. 05:50:28 It isn't a god to make the compiler of it, however you can do it anyways 05:52:39 zzo38: I know it isn't, but I'll still feel like it for about 10 minutes 05:52:50 hppavilion[1]: OK 05:52:58 Are you good enough at HTML+CSS+JS to fix this? http://zzo38computer.org/jszm/display.html display.js 05:57:42 I cannot get the text to scroll and pause correctly at the correct positions 05:58:23 zzo38: there's https://drafts.csswg.org/css-color/#currentcolor-color but no equivalent for the background colour, yet 06:01:15 -!- Treio has joined. 06:01:42 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 06:02:35 -!- AlexR42 has joined. 06:02:51 deltab: That isn't the same kind of thing as the Mozilla user colours though 06:05:08 oh, I thought you meant something based on the existing colours within the page, not the user preferences 06:05:26 so that you could do reverse video and such 06:06:51 (background-color: currentcolor gives you half of that) 06:09:04 using user-pref colours won't work for that when the page colours aren't the user prefs 06:09:43 Still I think there ought to be some way to do stuff like "color: default(background-color);" that you can use such "default" function anywhere (including inside of a calculation) in order to use the value that this element would have by default based on such things as inherited values and less specific rules and so on. 06:12:52 Another thing that should be have is CSS priority numbers, with different defaults for different CSS sources (browser defaults, page defined, "style" attribute, user CSS), as well as different ranges for different sources so that user-defined styles are allowed to have wider ranges of priority numbers than those defined in the webpage themself 06:14:54 And one more thing, that could be used anywhere including inside of a calculation, is to be able to tell it to use the computed value of some CSS property of some specific element, therefore you can have one part to use the required height for the text to fit and the part underneath to use the remaining height of the window 06:16:30 I think the issue with that is how to identify the element 06:17:16 however flexbox covers your example, I believe 06:18:16 -!- adu has joined. 06:21:30 so you shouldn't need a table for JSZM 06:22:15 <\oren\> css is already too complicated IMO 06:22:33 \oren\! 06:23:07 thanks oerjan 06:23:40 CSS is pretty simple, it's just a very complicated declarative language 06:24:33 \oren\: That is probably true, but nevertheless a few things are difficult (including that -moz-default-color and so on ought to be standardized but aren't), and all of HTML/CSS/JS/HTTP/HSTS/HPKP/whatever needs to allow user to override everything with anything 06:24:51 I think the only thing that makes it turing complete is stuff like https://developer.mozilla.org/en-US/docs/Web/CSS/calc 06:25:10 -!- Treio has quit (Ping timeout: 250 seconds). 06:26:06 <\oren\> I think it would be better to unify the three by making a JSON equivalent to HTML and CSS. Then the entire page can be in the same languages 06:26:24 <\oren\> s/ges/ge 06:26:53 there's already JsonML 06:27:38 http://www.curl.com/products/prod/language/ 06:28:26 HAR is pretty good at representing HTTP in JSON 06:29:00 I wrote a simple app to combine them: http://andydude.github.io/harcurl/ 06:29:32 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 06:29:55 to combine what? 06:30:06 HAR, HTTP, JSON 06:30:09 ah 06:30:22 -!- AlexR42 has joined. 06:30:40 all you need is "method" and "url", and harcurl fills in the rest with the response 06:31:22 <\oren\> hmm JsonML looks good, if we have a JsonSS then that would be good 06:32:35 JsonML is more of a universal idea than a spec/format, the idea that an XML element can be translated to [tag, {...attribs...}, children, ...] is not to hard to imagine 06:33:11 <\oren\> well, whatever, it works for my purpose 06:33:19 No, the problem is that it is difficult for the user to override and control everything, and the data on the server has too much control over it 06:33:59 <\oren\> well that can be solved by writing your own web browser 06:34:12 <\oren\> or modifying an existing one 06:34:39 -!- oerjan has quit (Quit: Nite). 06:35:20 adhellu 06:35:25 hppavilion[1]! 06:35:30 adu! 06:35:44 * hppavilion[1] runs across the beach or something towards adu because wtfn 06:35:52 Your idea about representing XML as JSON (and can even be done vice-versa) is not bad, although not related to this. Another idea can even be representing them as RDF too 06:35:56 WTFN? 06:36:03 adu: "Why The Fuck Not" 06:36:10 ah 06:36:23 zzo38: it's not my idea, it's called JsonML 06:36:23 adu: I am the source of all acronyms, in case you're curious 06:36:47 adu: Ah, well, it is a reasonable idea anyways I suppose 06:37:20 adu: I'm attempting to make a BF-based language suitable for operating system development 06:37:28 hppavilion[1]: IIRC, ROFLMAO 06:37:33 (not as a stupid derivative; as a decent derivative) 06:37:57 adu: Except "lol". I have no clue what piece of shit tried to do my job for me and invented "lol" 06:38:05 xD 06:38:17 hppavilion[1]: low-level forth? or high-level intercal? 06:38:34 adu: Clarify? 06:38:40 hppavilion[1]: can't 06:38:49 adu: It's just above ASM in the Grand Level Heirarchy 06:38:57 i have yet to see any bf derivate that isn't stupid 06:39:07 oOo Grand Level Heirarchy tell me more 06:39:10 myname: CHALLENGE: IN PROGRESS 06:39:25 adu: It's the Grand Level Heirarchy... it describes what languages are above and below others 06:39:35 most of them are stupid because they are bf derivates 06:39:44 Typically, languages are implemented in a language either at, above, or one level below themselves 06:39:47 hppavilion[1]: is that like the 3G/4G bullsh*t? 06:40:02 adu: Not really. 06:40:09 3.5G! 06:40:10 I have already made up a way of specifying a "root node" of a RDF graph (although its original purpose wasn't to represent stuff like JSON/XML, but it can be used for that too); it is: Make a triple with the subject being the root node and the predicate being and the object is irrelevant. 06:40:18 cuz regex is totally 5G, but it's classified as a DSL 06:40:31 adu: I thought 5G /was/ DSLs 06:40:50 hrm, I don't like the Grand Level Heirarchy for exactly this reason 06:41:13 At the bottom is machine code, slightly above which (by about a millituring) is older ASMs, above which by ~1 turing is modern ASM, etc. 06:41:36 adu: It's more of a tree than a stack or an array 06:41:37 There is also assemblers with macro capabilities 06:41:41 A DAG 06:41:47 but what's the top? is it the most advanced general purpose language? or is it the DSL that has the least "resistance" to your problem domain 06:41:56 adu: There isn't a top 06:41:58 And, Forth is both low-level and high-level, I think 06:42:10 adu: Well, in theory you could have a top, but it's not really implementable 06:42:12 hppavilion[1]: and if there isn't a top, then you can equate languages with integers 06:42:23 hppavilion[1]: s/can/can't/ 06:42:43 adu: The top is a language that takes a vague notion of what you want it to do and does it perfectly. Happy? 06:42:58 But it's at omega turings above machine code 06:43:11 hppavilion[1]: "deface_msdn()" 06:43:20 adu: ? 06:43:24 Ah 06:43:36 hppavilion[1]: "hack_my_enemies_facebook_account()" 06:43:44 adu: Not quite 06:44:01 adu: It just reads a whim in your mind. It uses... I dunno... portable MRI machines? 06:44:09 hppavilion[1]: "steal_videos_from_my_archnemesis_webcam()" 06:44:14 adu: Yes. 06:44:22 There's a reason it's at omega turings 06:44:38 You can also have negative turings, at least in theory, for things /below/ machine code 06:45:07 do_what_i_want_not_what_i_code() 06:45:15 myname: yes 06:45:29 For example, bitchanger written as crumbs. That's below machine code, in theory 06:45:48 "Machine code" is actually just an average; some are above others 06:46:06 CISCs are above RISCs, but not by much 06:46:14 oisc! 06:46:16 (Even though RISCs are usually better) 06:46:43 myname: Yes, OISCs are about ~10*pi turings below the average machine code 06:46:52 At least, subleq is 06:47:37 myname: My "OSFuck" is designed to still be minimalistic, BTW. It just adds some new stuff to make OS development feasible in it; not much more 06:48:01 myname: It has pbrain-like procedures; is that being too generous? 06:48:11 (Also, it's a bit hard to compile pbrain) 06:48:16 <\oren\> different CPU's have different expressivness in machine code 06:48:20 \oren\: I know 06:48:30 \oren\: That's why it's an average 06:48:59 <\oren\> like 6502 doesn't have a MUL or DIV instruction, so it must be below 8086 06:49:04 Even many modern machine codes are stupid I think 06:49:10 \oren\: Exactly 06:49:16 zzo38: How so? 06:49:16 But I like the 6502 machine codes 06:49:55 -!- Treio has joined. 06:50:03 zzo38: I'm a big fan of MMIX 06:50:17 Actually there are some good ones but none of them are common or are commercially implemented as far as I can tell; so MMIX is one of the good ones too 06:50:20 \oren\: I'll ask you. For a brainfuck-like language made for OS development (as a challenge, obviously), is pbrain-like procedures being a bit too generous? 06:50:37 I know it'll be a pain to compile, which is why I'm apprehensive about it in the first place 06:51:07 zzo38: from what I hear, SPARC is pretty similar to MMIX 06:51:24 I seem to be invisible today. 06:51:28 Must be hereditary. 06:51:35 hppavilion[1]: I see you 06:51:46 adu: creep -_- 06:51:47 xD 06:53:01 https://youtu.be/-u5SiCCmVv0 06:53:08 adu: So can /you/ answer my question? Since I'm visible to you>? 06:53:14 Still they aren't best I think, and I have designed my own instruction sets too 06:54:29 adu? 06:54:44 hppavilion[1]: are pbranes too generous? 06:54:49 Sometimes with support for self-modifying microcodes, although never such things as automatic pipeline stalls and instruction reordering and so on 06:54:58 adu: Yes. 06:55:14 adu: As in, that's my question. 06:55:22 hppavilion[1]: pbranes are the foundation of string theory, and thus the universe 06:55:28 adu: .... 06:55:32 adu: No, pbrain. 06:55:53 adu: This is a serious question in the development of OSFuck. I need a verdict from someone smarter than myself. 06:55:56 If it isn't meant to be a "restricted harvard architecture", then the program counter may also be a general purpose register, as are most of the other registers too, and there is no immediate addressing mode (you can instead use program counter indirect with postincrement) 06:56:01 hppavilion[1]: there was a guy from 2036, "John Titor" was his name I think, or so he claimed, and he said string theory was used to build his time machine 06:56:02 why do you think it'a hard to compile? 06:56:44 myname: Take this subsequence of a pbrain program 06:56:46 ,: 06:57:01 (or maybe `,!`, not sure which is used for CALL) 06:57:15 It's : 06:57:16 well, easy to compile to c 06:57:25 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 06:57:35 just make an array with callbacks 06:58:08 ,: is like callbackarray[userinput](); 06:58:38 -!- AlexR42 has joined. 06:58:42 myname: Ah, but I was compiling to ASM 06:59:03 myname: Because efficiency and it actually seems simpler that way 06:59:54 for asm this isn't much harder 07:00:05 i am way more affraid of ,() 07:00:13 myname: But is it too generous? 07:00:20 myname: What does ,() do exactly? 07:00:37 defining a function based on userinput 07:00:46 Ah, yes 07:00:47 but even that may not be hard 07:01:15 myname: But is it too generous? That's the real question 07:01:24 you basically parse every () you see in the source, make each a label and put an array of labels somewhere 07:01:35 hppavilion[1]: so what's the difference between "pbrain" and "pbrane" 07:02:03 well, if you really want to make an os, you better have interrupts! i'd use these procedures as interrupt routines 07:02:20 adu: pbrain is an esolang. pbrane is an m-theory mumble mumble. 07:02:22 like, pressing a button actually calls procedure x 07:03:01 myname: Ah, that might be useful... 07:03:16 but that doesn't qualify as a new language imho 07:03:22 it might be fun, though 07:04:43 hppavilion[1]: it takes me several months to learn a language, I just learned about pbrain 3 minutes ago 07:05:02 adu: OK, and? 07:05:15 hppavilion[1]: I can't answer your question in the way that you want 07:05:29 myname: What doesn't qualify as a new language in particular? 07:05:42 you also need calling conventions 07:05:45 adu: I'm just not exactly sure what you were getting at xD 07:06:08 like, a : may change every value to the right 07:06:32 myname: You're losing me xD 07:06:45 myname: Define "calling conventions" 07:06:51 hppavilion[1]: what I'm getting at is that I'm a pbrain noob, and you are aledgedly a pbrain master, so it's you who should be answering the question, not me 07:06:52 Keep in mind, I'm an idiot. 07:07:03 adu: I... never said I'm a pbrain master. 07:07:13 hppavilion[1]: can I quote you on that? 07:07:18 adu: Who told you that? Was it Ralph? Dammit, Ralph. 07:07:27 hppavilion[1]: well, x86 defines that rax has a return value for example 07:07:28 adu: Most definitely 07:07:46 hppavilion[1]: generally questions about suitability of languages as tools to solve problems, are posed by language masters 07:07:47 you have to know where the results of a call are and where to put argiments 07:08:03 but i do think you can write an os in pbrain just fine 07:08:15 adu: Ah, I get what you were saying now 07:08:24 maybe add a few more functioms to directly access certain hardware 07:08:33 myname: I was planning on that 07:08:50 myname: Specifically, the Latin-1 Supplemental block includes hardware interaction (e.g. clock) 07:09:13 myname: Because wtfn 07:09:17 depending on hiw serious you are, getting the mouse position might be interesting 07:09:48 but at that point you might need to tbrain, except when you call procedure 0 periodically 07:09:53 myname: How exactly do mice work at the hardware level? I've been assuming it just tells the computer "I just got instructions to move up/down/left/right" 07:09:53 like a timer i terrupt 07:10:18 they do afaik 07:10:35 you might reserve stuff 07:10:36 myname: Perhaps I should require that procedure names are defined at compile-time? 07:10:55 no need for that, i think 07:11:02 OK 07:11:02 but you have to define some 07:11:18 myname: I'm probably going to need your help with the procedure definition in the compiler down the line xD 07:11:22 When I get around to the compiler 07:11:28 like, procedure 0 always is the timer interrupt, procedure 1 always is the keyboard interrupt 07:12:20 you are lucky that i am working on a haskell project 07:12:31 otherwise i might steal that idea :p 07:12:55 myname: I was thinking of that... :) 07:13:46 myname: Do you think I should make procedures save the current tape index and return to it after calling? I'm going to say /yes/ because interrupts 07:14:06 In fact, I'm so sure of my yes that I now feel stupid for having asked that question 07:14:17 Because wtf would it not 07:14:24 deltab: You said JSZM doesn't need tables; well, JSZM itself uses no HTML or whatever it is pure JavaScript, although the front-end is different and I would like the help to fix it 07:14:39 you don't need to if you establish calling conventions 07:14:56 say, every interrupt just starts with >[-] 07:14:59 The file "jszm.js" is the only file which is part of JSZM; the files called "display.html" and "display.js" are part of the example HTML-based front-end 07:15:11 if you put something there, it is basically your fault 07:15:29 or maybe they do [>] 07:15:33 myname: Ah. 07:15:47 that is, every interrupt operates on the first free cell 07:15:59 in both cases you will have problems returning the cursor 07:16:05 myname: OK... 07:16:11 that's the biggest problem 07:16:25 let's say, cell 1 contains the cell you are currently in 07:16:35 e.g. 53 07:16:36 myname: I already have the & instruction 07:16:42 myname: Which gets the current cell index 07:16:50 AND I have a single accumulator 07:16:58 That can take the value in the cell 07:17:01 don't think that's needed, but well 07:17:25 the problem is: how do you return to cell cells[1]? 07:18:22 i think you cannot do this in standard bf 07:18:22 myname: I was planning on a "back-to-start" instruction because it seemed it would be pretty much necessary, though I also thought I could exclude it and you could do some shenanigans where you leave it blank and make sure EVERY cell in between isn't, so you could just [<] 07:18:31 But that's probably infeasible 07:18:56 you _might_ implement a "goto cell[1]" function 07:20:04 myname: I suppose you could start every procedure with ^&|[>] (the non-BF parts mean put the current cell value in the accumulator, put the current cell address in in the current cell, swap the current cell and the accumulator), and you could end every interrupt with _* (goto the cell referenced by the value in the accumulator) 07:20:08 i thought you might need something to make stuff atomic, but i am not sure yet 07:20:18 zzo38: sorry, didn't know the name for the frontend 07:20:51 zzo38: what help do you need? 07:21:34 like, what if you copy a cell and an i terrupt is triggered when you are on the left cell to copy to the right 07:21:56 deltab: The text area doesn't scroll properly; the logic dealing with "moreHeight" is wrong. 07:22:00 okay, solution: interruots do not have arguments 07:22:49 myname: That could pose a problem, where the interrupt triggers between the copies and clobbers the register 07:22:56 myname: Perhaps two registers? xD 07:23:03 Note that it is possible for story_print to be called with a blank string, with text too long to fit on one line (so it will wrap), or an incomplete line, too 07:23:17 And that resizing might affect it 07:23:31 hppavilion[1]: user functions just aren't allowed to use global registers 07:23:45 myname: ? 07:23:59 myname: I suppose that works, but then how do you do callbacks? 07:24:08 *interrupts 07:24:25 Without suddenly switching tasks and clobbering the cells you were in the middle of using? 07:25:04 if something happens, the os calls a procedure without letting the usercode know. the procedure 1. must jump bacl to where the pointer was before 2. do not modify any nonzerp cells 07:25:37 myname: OK... 07:25:40 like, [>]dosomething cleareverythingused return 07:26:13 myname: So just have a RETURN instruction that goes back to where it was before the interrupt was called? 07:26:30 e.g. % 07:26:43 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 07:26:55 deltab: Do you understand this? 07:27:34 -!- AlexR42 has joined. 07:27:39 yeah 07:27:50 note that interrupts must not stack in this model 07:28:14 for them to stack, you need something like... well... a stack 07:28:28 myname: Ooooh, or perhaps procedure calls have their own separate accumulator 07:28:34 (Or just write your own front-end if you want to; if Synchronet could be updated to the newest JavaScript version then even a Synchronet front-end could be made so that JSZM can be used as a BBS door program) 07:28:52 So it can do the thing I mentioned above /without/ clobbering the normal accumulator 07:29:34 myname: Or would that pose some problem? 07:29:55 And I could, of course, do that on a stack. 07:31:01 hppavilion[1]: that would work, i think. it wkll also allow arbitrary jumps, not sure if this is good or bad 07:31:11 myname: How so? 07:31:30 myname: How will it allow arbitrary jumps? And what exactly does that mean? 07:31:58 <\oren\> I made a mobile lab by literally rolling the cylindrical lab across the ground 07:32:13 \oren\: Woooooow 07:32:28 (\oren\: KSP? Or real life?) 07:33:13 hppavilion[1]: how would the "jump back to where you were before" command know what the accumulator is 07:33:23 \n \n \n \n \n \n 07:33:42 myname: It uses its own accumulator 07:33:55 So when an interrupt is called, a new accumulator is allocated. 07:34:26 sounds so pbrain 07:34:32 at that point, you basically introduced a second tape to bf 07:34:35 The procedure generally calls ^&|, which (without clobbering any data) records the previous location to the new accumulator 07:34:54 myname: Not one you can really mess with. More of a stack than a tape. 07:35:02 there are only 10 kinds of people in this world: those who know binary, and those who don't. 07:35:09 And I think I'll limit recursion depth so I can just use an array 07:35:11 are you familiar with rop? 07:35:17 myname: Never heard of it 07:35:39 return oriented programming 07:35:42 OK... 07:36:16 adu: there are also those who thing 2 is the only base besides 10 07:36:18 <\oren\> hppavilion[1]: ksp 07:36:22 think 07:36:44 myname: Let me guess, I can't do that idea because ROP 07:36:55 <\oren\> scientists can apparently research things even while rotating 30 times a minute 07:37:11 \oren\: Shame, IRL would've been more 1337 07:37:13 well, you can 07:37:45 myname: What do you suggest I do? The older return method? 07:37:58 good question 07:38:05 (older as in something we decided on earlier in this convo) 07:38:09 introducing a stack might be necessary 07:38:15 myname: Yeah... 07:38:27 myname: if you were to mandate base 12 as king of the Earth, would you use A, B or X, E? 07:38:43 adu: Q and P 07:38:54 hppavilion[1]: good choices 07:39:12 But I don't want it to be a linked-list-like stack, because then I need to do a linked-list for the tape, and then efficiency just goes out the window 07:39:48 adu: why X, E? 07:40:00 myname: X = 10 (roman numerals), *E*leven 07:40:08 myname: http://www.dozenal.org/ 07:40:21 hppavilion[1]: well, there already is a stack you can use 07:40:27 myname: Oh right... 07:40:38 E for eleven is way to central about english 07:41:04 myname: So should I do returns with the % procedure or a new accumulator for each nested instruction? 07:41:28 myname: And how do I accomplish interrupt arguments? e.g. how do you tell /which/ key was pressed? 07:41:46 IDEA 07:42:03 The % instruction, which POPs an argument and PUTs it in the current cell 07:42:42 most base-12-centric sources use X, E, but most base-neutral sources use A, B 07:43:11 X=roman numeral, E=eleven 07:43:20 adu: Really, I prefer and 07:43:34 hppavilion[1]: wha?!? 07:43:44 adu: For digits 07:44:08 hppavilion[1]: you, good sir, are a wierdo 07:44:13 adu: Exactly. 07:44:19 adu: You should see my title 07:44:26 what is your title? 07:44:44 My full name is, currently, Nathan_, Devourer of Souls, Lord of the Walri, Destroyer of World 07:44:58 my title is "Math Andrew" 07:45:15 I'm considering replacing the "th" in "Nathan" with thorn 07:45:42 hppavilion[1]: do it! 07:45:55 why not the than? 07:46:01 adu: I've put it on a few papers, so I'm already testing it out 07:46:12 nathorn sounds better that nathornan 07:46:19 myname: Good point 07:46:27 myname: I mean the letter thorn, though 07:46:35 okay 07:46:37 hppavilion[1]: there's this thing, you know "Ye ol' bakery" or "Ye ol' pub", the "Ye" __ACTUALLY__ means "The", so you should use "Y" instead of thorn 07:46:45 adu: Yes, I know 07:47:11 adu: "Y" is just because printing presses didn't /have/ a "thorn" key, and it was adopted by everyone else after that 07:47:30 a friend of mine has a computer he named "OfShadowsAndTheDarkThingsYouFear" 07:47:43 I used to work at a Ren Faire, and most people there didn't know that 07:48:12 https://en.wikipedia.org/wiki/Renaissance_fair 07:48:19 myname: So, RETURN instruction or new accumulators for each procedure call? 07:48:33 adu: Yes, I know what a Renaissance Fair is 07:48:49 They're going to be having ones about modern days in a few hundred years 07:48:58 I checked. 07:48:59 hppavilion[1]: I assumed as much, the link was for the benefit of eavesdroppers 07:49:05 adu: Ah xD 07:49:06 i'd go for return, but you hve to decide, how highlevel it should get 07:49:40 myname: return is cool, but OTOH new registers for each one grants you the power to control what happens after 07:50:12 why new registers? 07:50:20 myname: What's wrong with mine that makes you think return is better? (no really, I'm not complaining, I'm certain mine is problematic) 07:50:25 hppavilion[1]: back in the day, people used to have to pull a brick out of their pocket, and put it up to their ear, and they had to press numbers on this brick with their fingers, sometimes dialling with their butt 07:50:55 myname: Because that way you can do the cool thing with ^&|[>] at the beginning and _* at the end 07:51:11 what is yours? 07:51:18 myname: ? 07:51:25 What what is mine? 07:51:44 your alternative to return 07:52:19 myname: Well what I just said. When a procedure is called, it has a different accumulator from the caller 07:52:44 how does that differ from return? 07:53:03 myname: So it can do the code I just mentioned without clobbering the register of the caller, potentially in the middle of an important registral operation 07:53:29 myname: Well, I'm not exactly sure how to answer. Describe your return again? 07:53:50 my return is just ret of x86 asm 07:54:24 and : is just call 07:55:11 myname: OK... 07:55:13 explain? 07:55:25 what exactly? 07:55:29 I don't know x86 ASM very well 07:55:34 What, precisely, does ret do? 07:55:56 Which is why I need so much help xD 07:56:05 poping an address (formerly pushed by call) and jumping there 07:56:24 myname: Ah 07:56:48 myname: I suppose that's probably better xD 07:57:07 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 07:57:40 myname: I think I'll do that, at least for now 07:57:59 myname: How do I accomplish arguments to interrupts? 07:58:27 why should interrupts need these? 07:58:49 myname: You mentioned them earlier, and I just guessed what they meant 07:59:11 normal procedures should have them 07:59:31 like, if you want to call a printf, you might want to give a format string and variables 07:59:32 myname: Basically, if, for example, the k key is pressed, and that triggers a hardware interrupt (I think that's how computers work xD), how does it know what that key was? 07:59:50 it asks the keyboard 08:00:04 myname: Ah xD 08:00:22 myname: Is a bitwise mode a good idea? 08:00:37 A mode where you can basically go inside the current 64-bit cell and manipulate it as you would in Boolfuck? 08:01:02 what for? 08:01:13 myname: Not sure, but it sounded potentially useful 08:01:42 myname: I take it from your response that it was wrong 08:01:52 add it if it turns out to be usefuö while writing the os :p 08:03:01 OK 08:03:08 myname: What do I need to add next? 08:03:35 dunno, start writing 08:04:43 -!- adu has quit (Quit: adu). 08:05:47 Hm... 08:08:52 myname: Can I get a short list of basic interrupts I need? 08:09:32 that hardly depends on what your os should be capable of doing 08:11:27 myname: I need to know them so I can add them to the language so I know what to do 08:11:56 So I know what basic things to implement in my small DemOS 08:12:03 (best name ever) 08:12:49 first question: do you need multitasking? if so, does it have to be cooperational? 08:13:34 myname: Not sure. Mostly because I have no clue what that means. 08:13:43 myname: Like, threading? 08:14:36 myname: Concurrent execution of code so that the OS can do more than one thing at a time? 08:15:13 well, doing multiple tasks, however that may look like 08:15:27 myname: OK... 08:15:34 I probably need multitasking support 08:16:11 You know, so you don't have an OS that just does one thing at any given moment 08:16:22 And that doesn't get hung up whenever something requests input 08:16:26 you can do that a way such that each task has to say "another process may work now" sometimes or such that the os randomly takes control and put another task to work 08:16:29 (though I suspect I just said something stupid) 08:16:47 myname: Ah, yes, that's probably a good idea 08:18:19 depending on your solution, you need some interrupt that actually switches tasks 08:18:31 myname: OK... 08:18:37 myname: I'm going to want to start simply 08:19:27 myname: OK, what is the most important, primitive interrupt an OS can support? Interrupt 0 in my procedures? 08:21:26 if you want to do anything regularly or time specific, i'd say the timer interrupt 08:21:56 OK 08:22:11 myname: And how does that work? 08:22:22 How does it know how often to do stuff? 08:22:41 the hardware triggers that 08:22:44 Ah? 08:23:01 and you count how often it was triggered in some register 08:23:39 myname: Probably done manually 08:24:00 myname: By the programmer in their definition of the INTERVAL interrupt 08:24:43 You do something like =>>+% (go to the third cell, increment it, end procedure by returning) 08:25:34 -!- Treio has quit (Ping timeout: 276 seconds). 08:25:42 that'd be the simplest, yeah 08:25:49 myname: Yep. That's what I'm doing 08:27:03 myname: OK, interrupt #1? 08:28:04 depends on your goal. mqybe keyboard? or just have a look at interrupt tables of existing OSes 08:28:20 myname: I've been trying to find one xD 08:31:22 Ah, found one at http://wiki.osdev.org/Interrupt_Vector_Table 08:33:32 myname: QUERY HARDWARE instruction (?): Given the current cell's value, send a query to the hardware designated by that cell for what's going on- e.g. query the keyboard (50 or something) for what key was just pressed or unpressed- and put the response in the current cell 08:33:44 Does that work with how computers work? 08:36:47 myname: Did my ignorance towards computers offend you? x 08:36:48 D 08:37:51 you should say whether it pauses until a key is pressed/released, or whether it immediately get the most recently stored value 08:38:52 deltab: Ah, yes, probably a good idea xD 08:39:24 deltab: I suppose that could be done by treating it as having multiple different hardware devices for different kinds of query? 08:39:33 e.g. 50 pause, 51 just gets the last keypress? 08:39:38 *pauses 08:40:24 yeah 08:43:33 or if you have interrupt handlers, you could have one for keypresses 08:43:58 deltab: I do 08:44:21 deltab: You give a procedure the right number (it's pbrain-like procedures), and it gets called on certain interupts 08:44:58 deltab: I do have one for keypresses, but the problem is that there's no way to calculate just which key was pressed 08:45:25 deltab: Without querying the hardware 08:46:43 * deltab nods 08:47:03 unless you have one for each key 08:47:38 which would be annoying if you want more than a few 08:47:46 deltab: Yeah, no xD 08:57:44 . 08:57:51 oops 08:58:41 -!- MoALTz has joined. 09:00:02 hmm, kinda tricky to do this without adding registers or a stack :-) 09:00:21 deltab: ? 09:00:29 handling interrupts 09:00:32 deltab: Ah 09:00:41 deltab: How is it tricky? 09:00:52 I just have procedures that are assigned to numbers 09:01:04 And certain numbers denote callbacks for certain interrupts 09:01:50 and they get executed with the memory set up to contain the incoming data value? 09:02:04 deltab: ? 09:02:17 deltab: No? 09:02:43 how do they work? 09:03:00 deltab: They then have to find a cell that it is acceptable to manipulate, set it to the value for the hardware to query, call ?, then they are now directly over a cell that holds the value that was sent 09:03:37 -!- PinealGlandOptic has joined. 09:03:41 so ? is syscall? 09:04:00 So, for example, +2{[>]?.%} is basically CAT 09:04:10 * deltab reads up on pbrain 09:04:16 Or more safely, +2{[>]?.[-]%} 09:05:07 That program alone creates an OS which, whenever a button is pressed on the keyboard, prints the value associated. It doesn't work perfectly (as in, keys don't really map to ASCII), but it's OK 09:05:37 I mean, it does /something/, and it's consistent at it 09:06:26 If you want it to work better, you kind of need a keyboard-to-ASCII decoder 09:06:32 -!- AnotherTest has joined. 09:06:33 Which is probably a pain 09:06:39 your {} are meant to be ()? 09:06:46 just require the keyboard to send ASCII :-) 09:06:48 myname: No, I use {} instead of () 09:07:28 myname: Because { and } look more functiony, and because () is used for something else (grouping for the RLE syntactic sugar, to be precise) 09:07:48 deltab: Does that really work? 09:07:53 If so, huh. Awesome. 09:08:19 If not, -_- 09:08:22 hmm? oh, are you making this for real hardware? 09:08:32 deltab: It could work on real hardware IT 09:08:48 deltab: But generally, you're going to be running these in an emulator 09:09:55 deltab: So you can't make the keyboard send ASCII in an OS? 09:10:14 Well, simply? 09:10:53 not that I know of 09:10:58 Damn xD 09:11:33 deltab: I'm planning to include stdlib functions, written 09:11:34 possibly by reprogramming the keyboard controller 09:11:36 Whoops 09:11:59 ...written "`", which do useful things 09:12:55 So eq` could be used to test if two values are equal (probably the current cell and the next) and put it in the acc, or some hoop-jumping like that 09:14:10 deltab: Alternatively, I could just allow characters /other/ than misc. symbols to be used as instructions (i.e. letters), but that's more limiting 09:19:08 deltab: What should my DemOS do? 09:27:09 myname: I've figured out that, yes, bitwise mode will be useful 09:28:38 -!- Reece` has joined. 09:34:03 okay 09:41:06 myname: Perhaps we should develop a (non-eso) programming language designed solely for OS development? 09:41:16 Later, obviously 09:44:18 How to make Firefox to display the permissions that are set in a PDF file? 09:59:30 -!- J_Arcane has joined. 09:59:38 Well. 09:59:45 Super-injunctions are bullshit. 09:59:53 -!- Reece` has quit (Quit: Alsithyafturttararfunar.). 10:05:38 -!- lleu has quit (Quit: That's what she said). 10:07:59 -!- PinealGlandOptic has quit (Ping timeout: 264 seconds). 10:13:06 -!- deir has joined. 10:14:57 -!- deir has quit (Remote host closed the connection). 10:17:59 -!- lleu has joined. 10:26:39 -!- Reece` has joined. 10:34:38 -!- Reece` has quit (Read error: Connection reset by peer). 10:36:22 -!- AlexR42 has joined. 10:49:29 [wiki] [[Talk:Call/cc]] N https://esolangs.org/w/index.php?oldid=46327 * Zzo38 * (+141) Created page with "Should law of excluded middle continuations also be described? --~~~~" 10:58:01 zzo38: Most definitely 11:04:54 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 11:37:43 -!- Reece` has joined. 11:49:56 -!- Reece2 has joined. 11:51:20 -!- Reece` has quit (Ping timeout: 245 seconds). 11:58:22 -!- LexiciScriptor has joined. 12:00:32 -!- boily has joined. 12:00:40 -!- AlexR42 has quit (Quit: Textual IRC Client: www.textualapp.com). 12:05:55 -!- Phantom_Hoover has joined. 12:10:44 -!- Reece2 has quit (Quit: Alsithyafturttararfunar.). 12:11:01 -!- Reece` has joined. 12:25:08 -!- singingboyo has quit (*.net *.split). 12:25:08 -!- J_Arcane has quit (*.net *.split). 12:25:09 -!- MDream has quit (*.net *.split). 12:25:10 -!- hydraz has quit (*.net *.split). 12:25:10 -!- digitalcold has quit (*.net *.split). 12:25:10 -!- nitrix has quit (*.net *.split). 12:25:10 -!- coppro has quit (*.net *.split). 12:25:10 -!- b_jonas has quit (*.net *.split). 12:25:11 -!- pdxleif has quit (*.net *.split). 12:25:11 -!- deltab has quit (*.net *.split). 12:25:12 -!- lleu has quit (*.net *.split). 12:25:12 -!- trn has quit (*.net *.split). 12:25:13 -!- Reece` has quit (*.net *.split). 12:25:14 -!- pikhq_ has quit (*.net *.split). 12:25:14 -!- copumpkin has quit (*.net *.split). 12:25:14 -!- Lord_of_Life has quit (*.net *.split). 12:25:14 -!- diginet has quit (*.net *.split). 12:25:15 -!- graue has quit (*.net *.split). 12:25:15 -!- ski has quit (*.net *.split). 12:25:15 -!- j-bot has quit (*.net *.split). 12:25:15 -!- fungot has quit (*.net *.split). 12:25:15 -!- zemhill has quit (*.net *.split). 12:25:17 -!- relrod has quit (*.net *.split). 12:25:18 -!- Lymia has quit (*.net *.split). 12:25:18 -!- zzo38 has quit (*.net *.split). 12:25:19 -!- kline has quit (*.net *.split). 12:25:19 -!- rodgort has quit (*.net *.split). 12:25:20 -!- haavard has quit (*.net *.split). 12:25:21 -!- nortti has quit (*.net *.split). 12:25:21 -!- sewilton has quit (*.net *.split). 12:25:21 -!- mbrcknl has quit (*.net *.split). 12:25:21 -!- zgrep has quit (*.net *.split). 12:25:21 -!- vifino has quit (*.net *.split). 12:25:22 -!- Deewiant has quit (*.net *.split). 12:25:22 -!- jameseb has quit (*.net *.split). 12:25:23 -!- tromp_ has quit (*.net *.split). 12:25:23 -!- LexiciScriptor has quit (*.net *.split). 12:25:24 -!- tromp has quit (*.net *.split). 12:25:24 -!- Frooxius has quit (*.net *.split). 12:25:25 -!- clog has quit (*.net *.split). 12:25:26 -!- Taneb has quit (*.net *.split). 12:25:28 -!- fizzie has quit (*.net *.split). 12:25:28 -!- Elronnd has quit (*.net *.split). 12:25:28 -!- Phantom_Hoover has quit (*.net *.split). 12:25:29 -!- AnotherTest has quit (*.net *.split). 12:25:29 -!- kragniz has quit (*.net *.split). 12:25:29 -!- nisstyre has quit (*.net *.split). 12:25:29 -!- gniourf has quit (*.net *.split). 12:25:29 -!- APic has quit (*.net *.split). 12:25:29 -!- glowcoil has quit (*.net *.split). 12:25:29 -!- TodPunk has quit (*.net *.split). 12:25:30 -!- lifthrasiir has quit (*.net *.split). 12:25:31 -!- perrier_ has quit (*.net *.split). 12:25:32 -!- boily has quit (*.net *.split). 12:25:32 -!- Melvar`` has quit (*.net *.split). 12:25:32 -!- p34k has quit (*.net *.split). 12:25:33 -!- puckipedia has quit (*.net *.split). 12:25:33 -!- prooftechnique has quit (*.net *.split). 12:25:33 -!- Sgeo has quit (*.net *.split). 12:25:33 -!- FireFly has quit (*.net *.split). 12:25:33 -!- Gregor has quit (*.net *.split). 12:25:33 -!- FreeFull has quit (*.net *.split). 12:25:33 -!- Veltas has quit (*.net *.split). 12:25:34 -!- olsner has quit (*.net *.split). 12:25:35 -!- int-e has quit (*.net *.split). 12:25:37 -!- paul2520 has quit (*.net *.split). 12:25:37 -!- tswett has quit (*.net *.split). 12:25:38 -!- erdic has quit (*.net *.split). 12:25:39 -!- gde33 has quit (*.net *.split). 12:25:40 -!- lambdabot has quit (*.net *.split). 12:25:40 -!- Riviera has quit (*.net *.split). 12:25:40 -!- fractal has quit (*.net *.split). 12:25:40 -!- izabera has quit (*.net *.split). 12:25:40 -!- Nithogg has quit (*.net *.split). 12:25:41 -!- MoALTz has quit (*.net *.split). 12:25:41 -!- carado has quit (*.net *.split). 12:25:41 -!- vodkode has quit (*.net *.split). 12:25:42 -!- heroux has quit (*.net *.split). 12:25:42 -!- cnr has quit (*.net *.split). 12:25:42 -!- Hoolootwo has quit (*.net *.split). 12:25:42 -!- staffehn_ has quit (*.net *.split). 12:25:43 -!- aloril has quit (*.net *.split). 12:25:44 -!- quintopia has quit (*.net *.split). 12:25:44 -!- atehwa has quit (*.net *.split). 12:25:44 -!- ocharles_ has quit (*.net *.split). 12:25:44 -!- shachaf has quit (*.net *.split). 12:25:46 -!- jix has quit (*.net *.split). 12:25:46 -!- Xe has quit (Excess Flood). 12:30:38 -!- Nithogg has joined. 12:30:38 -!- izabera has joined. 12:30:38 -!- lambdabot has joined. 12:30:38 -!- erdic has joined. 12:30:38 -!- tswett has joined. 12:30:38 -!- paul2520 has joined. 12:30:38 -!- int-e has joined. 12:30:38 -!- olsner has joined. 12:30:38 -!- Veltas has joined. 12:30:38 -!- FreeFull has joined. 12:30:38 -!- Gregor has joined. 12:30:38 -!- FireFly has joined. 12:30:38 -!- Sgeo has joined. 12:30:38 -!- prooftechnique has joined. 12:30:38 -!- puckipedia has joined. 12:30:38 -!- p34k has joined. 12:30:38 -!- Melvar`` has joined. 12:30:38 -!- boily has joined. 12:30:38 -!- perrier_ has joined. 12:30:38 -!- jix has joined. 12:30:38 -!- shachaf has joined. 12:30:38 -!- ocharles_ has joined. 12:30:38 -!- atehwa has joined. 12:30:38 -!- quintopia has joined. 12:30:38 -!- aloril has joined. 12:30:38 -!- staffehn_ has joined. 12:30:38 -!- Hoolootwo has joined. 12:30:38 -!- cnr has joined. 12:30:38 -!- heroux has joined. 12:30:38 -!- vodkode has joined. 12:30:38 -!- carado has joined. 12:30:38 -!- MoALTz has joined. 12:30:38 -!- jaboja has joined. 12:30:38 -!- deltab has joined. 12:30:38 -!- pdxleif has joined. 12:30:38 -!- b_jonas has joined. 12:30:38 -!- coppro has joined. 12:30:38 -!- nitrix has joined. 12:30:38 -!- digitalcold has joined. 12:30:38 -!- hydraz has joined. 12:30:38 -!- MDream has joined. 12:30:38 -!- J_Arcane has joined. 12:30:38 -!- singingb1yo has joined. 12:30:38 -!- Elronnd has joined. 12:30:38 -!- fizzie has joined. 12:30:38 -!- Riviera has joined. 12:30:38 -!- AlexR42 has joined. 12:30:38 -!- Reece` has joined. 12:30:38 -!- LexiciScriptor has joined. 12:30:38 -!- lleu has joined. 12:30:38 -!- tromp_ has joined. 12:30:38 -!- Deewiant has joined. 12:30:38 -!- pikhq_ has joined. 12:30:38 -!- tromp has joined. 12:30:38 -!- Lymia has joined. 12:30:38 -!- zzo38 has joined. 12:30:38 -!- Frooxius has joined. 12:30:38 -!- copumpkin has joined. 12:30:38 -!- Lord_of_Life has joined. 12:30:38 -!- diginet has joined. 12:30:38 -!- relrod has joined. 12:30:38 -!- graue has joined. 12:30:38 -!- clog has joined. 12:30:38 -!- ski has joined. 12:30:38 -!- kline has joined. 12:30:38 -!- j-bot has joined. 12:30:38 -!- rodgort has joined. 12:30:38 -!- fungot has joined. 12:30:38 -!- zemhill has joined. 12:30:38 -!- jameseb has joined. 12:30:38 -!- haavard has joined. 12:30:38 -!- vifino has joined. 12:30:38 -!- zgrep has joined. 12:30:38 -!- mbrcknl has joined. 12:30:38 -!- sewilton has joined. 12:30:38 -!- nortti has joined. 12:30:38 -!- Taneb has joined. 12:30:56 -!- Xe has joined. 12:31:08 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 12:31:37 -!- Phantom_Hoover has joined. 12:31:37 -!- AnotherTest has joined. 12:31:37 -!- kragniz has joined. 12:31:37 -!- gniourf has joined. 12:31:37 -!- APic has joined. 12:31:37 -!- glowcoil has joined. 12:31:37 -!- TodPunk has joined. 12:31:37 -!- lifthrasiir has joined. 12:31:40 -!- fizzie has quit (*.net *.split). 12:31:40 -!- Elronnd has quit (*.net *.split). 12:32:05 -!- fizzie has joined. 12:32:05 -!- Elronnd has joined. 12:32:08 holy fungot! that split! 12:32:09 boily: if t, all i have to 12:32:13 -!- Elronnd has quit (Max SendQ exceeded). 12:32:29 fungot: oh hai! sorry, I must leave. will botsnack you tomorrow. 12:32:30 boily: it's easy enough to port a scheme implementation designed for script writing. for opening emacs windows and such to be built in... 12:32:42 -!- boily has quit (Quit: IMPRECISE CHICKEN). 12:34:59 -!- kragniz_ has joined. 12:35:19 -!- Elronnd has joined. 12:35:48 -!- gniourf has quit (Max SendQ exceeded). 12:35:50 -!- kragniz has quit (Max SendQ exceeded). 12:35:50 -!- gniourf has joined. 12:36:16 -!- lifthrasiir has quit (Remote host closed the connection). 12:43:36 -!- lifthrasiir has joined. 12:45:30 -!- Reece` has quit (Ping timeout: 245 seconds). 12:46:24 -!- Reece` has joined. 12:59:52 -!- nisstyre has joined. 13:05:18 -!- trn has joined. 13:15:56 -!- jaboja has quit (Read error: Connection reset by peer). 13:16:51 -!- jaboja has joined. 13:21:12 -!- Melvar`` has changed nick to Melvar. 13:26:01 -!- fractal has joined. 13:41:09 -!- Reece2 has joined. 13:42:26 -!- Reece` has quit (Ping timeout: 240 seconds). 13:48:12 -!- ais523 has joined. 14:03:41 -!- Reece` has joined. 14:04:40 -!- Reece2 has quit (Ping timeout: 245 seconds). 14:13:08 -!- bender| has joined. 14:13:29 -!- Reece2 has joined. 14:14:06 -!- Reece` has quit (Ping timeout: 240 seconds). 14:22:52 -!- Reece` has joined. 14:24:15 -!- Reece2 has quit (Ping timeout: 245 seconds). 14:31:37 fungot: Your scheme implementation has opening emacs windows built in? 14:31:37 fizzie: first answer me why you think a password is only allowed in combination with 14:32:04 fungot: It's just common sense to 2FA. 14:32:04 fizzie: defines a c-style string. 14:33:56 fungot: A string is a contiguous sequence of characters terminated by and including the first null character. (C11 7.1.1p1) 14:33:56 fizzie: i know it sounds kind of stupid name for a new os anyways... it might have matured. 14:40:26 -!- Reece` has quit (Ping timeout: 240 seconds). 14:45:17 -!- mezkhalin has joined. 14:46:20 greetings to whomever is awake 14:47:07 so i had a little idea for a thing i dont know what to describe it as. as such im having a hard way to come up with a name and subsequently a wikipage for it 14:47:09 -!- ais523 has quit. 14:47:53 [wiki] [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=46328&oldid=46248 * YoYoYonnY * (+197) 14:47:53 but it all boils down to pisano sequences and mapping opcodes/instructions to natural numbers 14:49:14 the idea being a definition for a program begins with the size of the instruction set 0 this could be done by simply providing a list of instructions and their index represents their mapped integer, tadah 14:50:18 the source code however, is the pisano sequence of n, in other words the fibonacci values % n 14:50:48 the trick thus becoming to figuring out how to map the right operations to the right integers to get not only a program that does what you want, but is also valid 14:51:20 and also choosing the right value of n, to get the total number of operations performed before the entire program starts repeating itself 14:52:19 it would be trivial to just use NOPs where ever is needed, which would lead to a desired output, but might slow down a program significantly 14:55:00 so, for example, for bf n=8 and the only program is oeis.org/A079344 ? 14:56:35 ("only" after the mapping instructions -> integers) 14:57:38 -!- PinealGlandOptic has joined. 15:03:47 -!- bender| has quit (Quit: Leaving). 15:21:22 -!- MDream has changed nick to MDude. 15:29:35 -!- jaboja has quit (Ping timeout: 240 seconds). 15:30:15 -!- Treio has joined. 15:43:07 -!- AlexR42 has joined. 15:49:23 -!- jaboja has joined. 15:56:03 -!- Phantom__Hoover has joined. 16:01:03 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 16:20:44 mezkhalin: how should you define the mapping instruction -> integers? 17:31:58 LexiciScriptor: well not precisely, i forgot to mention an operation can be added to the list of ops more than one time 17:32:17 such that a bf + instruction can be mapped to both 2,3 and 15 for example 17:32:37 the trick is to find a suitable sequence and properly mapping the instructions 17:33:10 and the definition i was thinking would be done something similar to first defining the modulo number and then a comma separated list of operations 17:33:25 -!- PinealGlandOptic has quit (Ping timeout: 245 seconds). 17:36:48 perhaps just pisano programming would be a suitable name for the concept 17:40:37 -!- PinealGlandOptic has joined. 17:40:57 or a name from pisa 17:41:40 also, do you want to map only a symbol to an integer or more than one symbol? 17:42:55 -!- Treio has quit (Quit: Leaving). 17:53:04 -!- LexiciScriptor has quit (Quit: LexiciScriptor). 17:54:54 -!- mezkhalin has quit (Ping timeout: 252 seconds). 18:16:46 -!- jaboja has quit (Ping timeout: 240 seconds). 18:21:26 -!- LexiciScriptor has joined. 18:30:35 -!- jaboja has joined. 18:30:44 -!- contrapumpkin has joined. 18:30:55 -!- copumpkin has quit (Ping timeout: 245 seconds). 18:32:19 -!- tromp_ has quit (Remote host closed the connection). 18:49:19 is there a generic way to write points-free haskell functions with two arguments? 18:51:10 i thought of something like .$, but i am a bit scared of that combination :D 18:51:50 -!- Reece` has joined. 18:52:16 -!- Reece` has quit (Remote host closed the connection). 18:53:49 -!- Reece` has joined. 18:54:18 -!- Reece` has quit (Remote host closed the connection). 18:54:54 -!- Reece` has joined. 18:56:27 -!- Reece` has quit (Client Quit). 18:57:18 -!- Reece` has joined. 18:58:40 -!- AnotherTest has quit (Ping timeout: 272 seconds). 19:00:01 -!- AnotherTest has joined. 19:03:54 -!- Reece2 has joined. 19:04:46 -!- Reece` has quit (Ping timeout: 240 seconds). 19:05:37 like, f x y = g $ h $ i x y 19:13:02 -!- ais523 has joined. 19:14:58 -!- p34k has quit. 19:16:48 -!- Treio has joined. 19:26:46 -!- Reece` has joined. 19:28:00 -!- Reece2 has quit (Ping timeout: 245 seconds). 19:32:49 -!- tromp_ has joined. 19:37:22 -!- tromp_ has quit (Ping timeout: 256 seconds). 19:51:32 -!- lleu has quit (Quit: That's what she said). 19:54:02 -!- mauris has joined. 19:55:56 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 20:03:59 [wiki] [[Brachylog]] N https://esolangs.org/w/index.php?oldid=46329 * 46.193.1.94 * (+1786) Created page with "'''Brachylog''' is a [[Category:Declarative_paradigm|declarative]] language based on SWI-Prolog. It was created by Fatalize in 2015. The compiler is written in Java and genera..." 20:08:52 -!- PinealGlandOptic has changed nick to anybody. 20:12:57 -!- anybody has left. 20:27:46 ok so i'm trying to play with dbfi on my interpreter 20:28:00 dbfi is that small brainfuck interpreter 20:28:05 written in brainfuck 20:28:08 but you know it 20:28:22 how big of a slowdown would you expect? 20:31:01 Interpret a brainfuck interpreter in a brainfuck interpreter! :D 20:31:41 That's written in brainfuck! 20:34:21 -!- tromp_ has joined. 20:38:00 $ time bf dbfi.b < <(cat rot13.b ; echo '!irel fybj') 20:38:02 very slow 20:38:04 real: 5m48.295s, user: 5m48.493s, sys: 0m0.037s 20:38:10 izabera: I'd expect an O(n) slowdown 20:38:10 $ time bf rot13.b <<< 'irel fybj' 20:38:12 very slow 20:38:14 real: 0m0.142s, user: 0m0.127s, sys: 0m0.007s 20:38:35 -!- tromp_ has quit (Ping timeout: 240 seconds). 20:38:50 because the BF self-interp needs to keep moving backwards and forwards between the program and the tape 20:40:43 too slow x.x 20:42:40 -!- mauris_ has joined. 20:44:38 -!- mauris has quit (Ping timeout: 276 seconds). 20:48:37 -!- hppavilion[1] has joined. 20:48:42 myname: Hi 20:58:00 Do you like my idea of TVMIDI? 20:58:40 The digital cable boxes and satellite boxes you have to use their system, you cannot use your own, and I think that you should be allow to use your own equipment like you can with computer and telephone so that is why I invent TVMIDI, that is what it is for 21:05:02 -!- mauris_ has quit (Read error: Connection reset by peer). 21:05:39 -!- mauris_ has joined. 21:07:19 I have found out that the Node.js Buffer object supports an undocumented property called "buffer" which accesses the ArrayBuffer of that Buffer object. 21:09:07 (Actually maybe it is documented, and I have just misunderstood it) 21:12:27 -!- jaboja has quit (Ping timeout: 265 seconds). 21:16:11 `? siderotil 21:16:29 siderotil? ¯\(°​_o)/¯ 21:17:45 that bot runs on an eniac 21:18:22 zzo38: What can you tell me about siderotil? 21:19:16 zzo38 runs on an eniac 21:23:36 -!- Reece` has quit (Quit: Alsithyafturttararfunar.). 21:26:22 [wiki] [[Brachylog]] https://esolangs.org/w/index.php?diff=46330&oldid=46329 * 46.193.1.94 * (-26) 21:33:11 shachaf: Just what Wikipedia says; it is iron(II) sulfate hydrate mineral with formula: FeSO45H2O which forms by the dehydration of melanterite. 21:58:57 myname: OK, I think I've got a test OS written in OSF 21:58:58 http://pastebin.com/Swiu63ub 22:00:10 It prints "kernel booting", then goes to a new line, then... then there's a bug 22:00:11 xD 22:01:20 OK, it then prints a newline via a horrible hack, then whenever you press a key it prints out the chr() of that key's ID 22:02:24 Which is /not/ its ASCII value AFAIK, but instead is some completely unrelated character (but at least it's consistent) 22:06:26 see, it's not that hard 22:08:37 myname: :) 22:10:45 myname: Did you check out the code? the docs are here: https://docs.google.com/document/d/18kgklbTW1lFuqvGX_cTGUHBOcFheu7863Zfo-YRuM5A/edit# 22:10:58 They will, of course, be transcribed to LaTeX in the final release 22:11:37 well, build a compiler 22:11:57 myname: Yep, planning on that soon 22:12:19 myname: I'm currently lexing and parsing, then I'll work on the ASM producing component 22:13:00 lexing and parsing on a language with only single character lexemes is pretty easy 22:13:52 myname: It's not quite that though 22:14:01 myname: There are also strings and RLE 22:15:18 I do not really like the way that asynchronous functions work in Node.js and I think that instead of passing the callback, I can propose an alternative: Such functions would return a function; this function can be called with no arguments to execute it synchronously, or called with another function as the argument in order to execute it asynchronously. 22:16:41 For example fs.readFile('/some/file/that/does-not-exist')() is a synchronous read file operation and fs.readFile('/some/file/that/does-not-exist')(nodeStyleCallback) would do it asynchronously 22:23:25 Also I still cannot find any suitable documentation for node-x11 22:30:47 s/documentation(.+?)node-/reason\1/ 22:34:10 -!- tromp_ has joined. 22:34:59 If there way to make any asynchrononus function usable also as synchronous? (readFile already can do that) Possibly if something can be made like: sync(x=>fs.readFile('filename',x)) 22:37:15 -!- fredrik has joined. 22:39:04 -!- tromp_ has quit (Ping timeout: 272 seconds). 22:42:10 -!- AnotherTest has quit (Ping timeout: 245 seconds). 22:43:56 -!- idris-bot has joined. 22:47:52 -!- fredrik has quit (Quit: Leaving). 23:02:43 -!- oerjan has joined. 23:07:58 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 23:15:48 -!- hppavilion[1] has joined. 23:19:55 -!- sewilton has quit (Ping timeout: 240 seconds). 23:20:37 -!- ocharles_ has quit (Read error: Connection reset by peer). 23:21:30 -!- sewilton has joined. 23:22:21 -!- ocharles_ has joined. 23:23:29 -!- MoALTz has quit (Read error: Connection reset by peer). 23:24:48 -!- aloril has quit (Ping timeout: 250 seconds). 23:27:24 -!- vodkode has quit (Ping timeout: 250 seconds). 23:38:55 -!- aloril has joined. 23:40:32 -!- vodkode has joined. 23:44:52 adu: I am the source of all acronyms, in case you're curious <-- HERATIC 23:45:08 (some typos just have to be kept hth) 23:45:25 HEROTIC 23:46:40 oerjan: I made a simple OS in my OS-development BF language 23:46:43 http://pastebin.com/Swiu63ub 23:46:51 OKAY 23:49:14 Ugh 23:49:22 I give up trying to build a GCC cross-compiler 23:49:48 Is there a windows/cygwin cc for i686-elf precompiled I can just get online? 23:55:01 [wiki] [[MATL]] https://esolangs.org/w/index.php?diff=46331&oldid=46286 * Luis Mendo * (+70) /* Fibonacci sequence */ 23:55:18 [wiki] [[MATL]] https://esolangs.org/w/index.php?diff=46332&oldid=46331 * Luis Mendo * (-1) /* Fibonacci sequence */ 23:58:59 [wiki] [[MATL]] https://esolangs.org/w/index.php?diff=46333&oldid=46332 * Luis Mendo * (+149) /* Fibonacci sequence */ 23:59:34 [wiki] [[MATL]] https://esolangs.org/w/index.php?diff=46334&oldid=46333 * Luis Mendo * (+1) /* Fibonacci sequence */