00:00:35 -!- encapsulation has quit (Remote host closed the connection). 00:09:50 -!- doesthiswork has joined. 00:16:04 -!- Gregor has changed nick to Guest75683. 00:24:27 i love how 'hey we'll slip a little infelicity into the type system for some sweet sweet sugar becomes' "oh fuck" 00:24:48 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42488&oldid=42476 * Esowiki201529A * (+443) /* Example */ 00:25:01 er the quotes there were somewhat random =) 00:25:54 you know this is fixable. we typecheck these tuples correctly in ermine. 00:27:17 baking the result of isConstraintKind k into the TypeRep should work about as well, shouldn't it? 00:27:19 we explored something similar to the "limited sub-superkinding" system at the end of http://comonad.com/reader/2011/what-constraints-entail-part-1/ but switched to using another level of quantification like SPJ proposed to fix the need for sub-superkinding 00:29:19 basically if you replace kind * # and Constraint with a single kind (Sort a b) -- where a and b can range over a very simple domain say {T, F}, then you can talk about * as Sort T T, Constraint as Sort T F, and # as Sort F T, then using quantifiers over a and b lets you talk about the ambiguity of the kinds involved. 00:29:43 now type () has kind forall a. Sort T a 00:30:12 type (,) has kind forall a. Sort T a -> Sort T a -> Sort T a 00:30:44 type (->) has kind forall a b. Sort a T -> Sort b T -> Sort T T 00:30:48 -!- bb010g has joined. 00:30:55 and type inference proceeds as usual. 00:31:26 Sort F F us currently uninhabited but would be used for 'unboxed constraints' if they ever existed. 00:31:27 edwardk: make T a variable and include unboxed typles as well? >:) 00:31:33 *u 00:31:44 unboxed tuples fit into # now. 00:31:52 so Sort F T covers them 00:32:14 i mean you could unify all three (,)s, maybe 00:32:39 doesn't work, because you want * -> * -> # for (#,#) 00:32:51 as well as # -> * -> # etc 00:33:03 ok 00:34:18 do you know what exactly isConstraintKind k checks in that fix? i'm wondering if it only hits the type being of kind Constraint itself, so (=>) and Ord unapplied still work? 00:34:44 type (#,#) has kind forall a b. Sort a T -> Sort b T -> Sort F T 00:34:47 (not that they're much useful without constraints) 00:34:51 no idea 00:35:22 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42489&oldid=42488 * Esowiki201529A * (+69) /* 99 bottles of beer */ 00:35:35 anyways the above encoding is enough to solve the problem for good, but its a lot more invasive. 00:43:57 -!- Sgeo|web has joined. 00:44:08 Apparently replacing the HD of the model I want nulls and voids the warranty 00:44:10 :( 00:44:56 suddenly the trac is sending out Cc:s again, maybe they fixed it 00:45:12 or well, i didn't get goldfire's comment 00:46:59 Hmm, Show is still Typeable after the change. 00:47:05 Show Int isn't. 00:49:09 that means (,) _constructor_ is also Typeable. 00:49:25 in fact i suspect the only thing you cannot get around is () :) 00:49:37 Sgeo|web: Your mistake there is getting a warranty 00:49:58 oerjan: how can (,) be Typeable if you can't even refer to it? 00:50:00 oh and NullaryConstraints 00:50:02 foiled 00:50:11 orin: I've heard that this laptop might sometimes stop working, according to reviews 00:50:14 So a bit scared by that 00:50:18 shachaf: you can tease it out with some type equalities 00:50:29 Oh, you managed to do that? 00:50:45 i think i did, maybe i should recheck 00:50:45 Something like what I was doing with Proxy to avoid KindSignatures? 00:50:57 I thought I tried it here and it didn't work but I didn't try very hard. 00:52:59 > let x :: forall a b c. (a b c ~ (Ord Int, Show Int)) => TypeRep; x = typeRep (Proxy a) in x 00:53:01 Couldn't match expected type ‘Expr -> proxy0 a0’ 00:53:01 with actual type ‘Proxy t0’ 00:53:01 The function ‘Proxy’ is applied to one argument, 00:53:10 oops hm 00:53:22 > let x :: forall a b c. (a b c ~ (Ord Int, Show Int)) => TypeRep; x = typeRep (Proxy :: Proxy a) in x 00:53:23 Could not deduce (Typeable a) arising from a use of ‘typeRep’ 00:53:23 from the context (a b c ~ (Ord Int, Show Int)) 00:53:23 bound by the type signature for 00:53:29 oh 00:54:14 > let x :: forall (a :: Constraint -> Constraint -> Constraint) b c. (a b c ~ (Ord Int, Show Int)) => TypeRep; x = typeRep (Proxy :: Proxy a) in x 00:54:16 (,) 00:54:40 ah 00:55:00 Sgeo|web: Did any hardware engineers take a look at the cases where it stops working? 00:55:22 Not that I know of 00:55:53 why in the world does it require a kind signature there 00:56:06 oerjan: ok, i posted a version of my encoding above to the trac 00:56:58 Hmm... I would try to find a different model then. 00:57:56 shachaf: can you tease out Typeable (Ord Int) from HEAD by deriving the parts separately? 00:59:26 if you cannot, that means it breaks polykindedness of type application, which is about the only feature this new system had... 00:59:52 of course, I tend to be conservative in my use of technology 01:00:02 -!- aretecode has quit (Quit: Toodaloo). 01:00:53 so it depends on your tradeoff of risk of failure versus awesomeness of the laptop 01:01:37 λ> let foo :: forall a b. (Typeable a, Typeable b) => Proxy a -> Proxy b -> Proxy (a b) -> TypeRep; foo _ _ _ = typeRep (Proxy :: Proxy (a b)) in foo (Proxy :: Proxy Ord) (Proxy :: Proxy Int) (Proxy :: Proxy (Ord Int)) 01:01:41 Ord Int 01:01:44 hth 01:01:54 (typeRep (Proxy :: Proxy (Ord Int)) is an error) 01:05:13 shachaf: you could make a post about this, if () is the only thing effectively forbidden... 01:06:52 (being the only builtin NullaryConstraint) 01:07:31 it is still quite possible that's enough to close the exploit holes, but... 01:08:11 i don't _quite_ trust that yet. 01:08:29 That's pretty fishy. 01:15:00 -!- tertu has joined. 01:19:36 edwardk: i thought -> could return unboxed values too... 01:21:26 [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=42490&oldid=42484 * Rdococ * (+54) 01:22:15 shachaf: are you writing a post or should i do it 01:22:55 -!- Froox has joined. 01:26:35 -!- Frooxius has quit (Ping timeout: 245 seconds). 01:38:07 oerjan: I'm not writing it right now, at any rate. 01:38:17 -!- hjulle has quit (Ping timeout: 250 seconds). 01:49:06 -!- tertu has quit (Ping timeout: 244 seconds). 01:51:10 -!- tertu has joined. 01:51:34 -!- MDude has changed nick to MDream. 01:51:38 shachaf: btw you _did_ test your example above in HEAD, not just lambdabot? 01:51:50 er 01:51:56 * oerjan reading comprehension 01:52:15 -!- tertu has quit (Client Quit). 01:56:03 -!- rdococ has joined. 01:57:27 -!- rdococ has quit (Client Quit). 01:59:40 [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=42491&oldid=42490 * Rdococ * (+99) 02:01:51 [wiki] [[Befunge]] http://esolangs.org/w/index.php?diff=42492&oldid=42179 * 68.39.240.189 * (+123) /* Befunge-93 */ 02:03:43 shachaf: posted hth 02:04:19 * oerjan barely resisted the urge to include the "shachaf> hth" line in the quote 02:06:12 oerjan: The second line works in HEAD. 02:12:27 nu pizza 02:12:30 yay 02:13:08 i couldn't see any particular reason why it shouldn't when Ord worked, so. 02:13:19 -!- vodkode has quit (Remote host closed the connection). 02:25:02 hm the special property of () is that it's the only type that has ambiguous kind and TypeRep even if none of its arguments do. 02:26:01 everything else either includes kind information or has the output kind determined by the argument kinds 02:29:35 -!- Phantom_Hoover has quit (Remote host closed the connection). 02:29:40 oh hm that's technically not what i wanted to say 02:29:54 (,) has ambiguous kind unapplied 02:30:46 _however_, there is nothing that can take it as an unapplied argument which doesn't include kind information 02:31:38 what about (,) hth 02:31:42 > typeRep (Proxy (Proxy :: '[] -> *)) 02:31:43 :1:33: parse error on input ‘*’ 02:31:57 bah ... oh 02:32:02 > typeRep (Proxy :: (Proxy :: '[] -> *)) 02:32:03 :1:29: parse error on input ‘'’ 02:32:12 > typeRep (Proxy :: (Proxy :: [] -> *)) 02:32:13 :1:30: parse error on input ‘]’ 02:32:44 > typeRep (Proxy :: (Proxy :: () -> *)) 02:32:46 Expecting one more argument to ‘Proxy’ 02:32:46 Expected a type, but ‘Proxy’ has kind ‘() -> *’ 02:32:46 In an expression type signature: (Proxy :: () -> *) 02:32:53 > typeRep (Proxy :: (Proxy (() -> *))) 02:32:54 :1:33: parse error on input ‘*’ 02:33:04 > typeRep (Proxy :: (Proxy ('() -> *))) 02:33:06 :1:34: parse error on input ‘*’ 02:33:20 did int-e turn off DataKinds 02:34:09 > typeRep (Proxy :: Proxy (Proxy :: () -> *)) 02:34:10 Proxy 02:34:30 that looks a bit weak 02:34:42 > typeRep (Proxy :: Proxy (Proxy :: '[] -> *)) 02:34:43 :1:35: parse error on input ‘'’ 02:34:56 > typeRep (Proxy :: Proxy (Proxy :: [] -> *)) 02:34:58 :1:36: parse error on input ‘]’ 02:35:17 > typeRep (Proxy :: Proxy (Proxy :: [*] -> *)) 02:35:19 Proxy 02:35:24 oh 02:35:41 still, what happened to the kind-sensitivity 02:35:55 > > typeRep (Proxy :: Proxy (Proxy :: [*] -> *)) == typeRep (Proxy :: Proxy (Proxy :: () -> *)) 02:35:56 :1:1: parse error on input ‘>’ 02:36:02 > typeRep (Proxy :: Proxy (Proxy :: [*] -> *)) == typeRep (Proxy :: Proxy (Proxy :: () -> *)) 02:36:03 False 02:36:34 λ> typeRepKinds $ typeRep (Proxy :: Proxy (Proxy :: [*] -> *)) 02:36:34 [[] *] 02:38:14 what about (,) hth <-- ((,),) ? makes no sense hth 02:39:31 ((a,b),(c,d)) hth 02:39:35 it doesn't make much sense either way 02:40:06 shachaf: i specifically said that the (,) argument had to not have arguments hth 02:40:24 because otherwise, a and b determine its kind 02:40:45 Oh, right. 02:41:06 Wait, do they? 02:41:12 (,) isn't polykinded. 02:45:44 my gpu is at 82°C 02:45:50 is that good or bad or average? 02:45:53 this is a laptop 02:47:12 (,) has two kinds, * -> * -> * and Constraint -> Constraint -> Constraint 02:47:37 it was more of a "no base case" sort of joke 02:47:40 it wasn't very good 02:47:53 shachaf: probably fine 02:48:00 wat 02:48:28 never mind 02:48:55 I've run laptops at 130-140 for weeks on end with no problems 02:49:30 wtf 02:49:37 omg 02:50:03 how did you not burn your fingers 02:50:04 wait, this is the one case where you really _should_ say 02:50:07 bbq 02:50:31 yeah but omg should come first then 02:50:42 quintopia: I have a burn mark on my right hand from falling asleep with my hand on a laptop 02:50:53 * oerjan swats quintopia for breaking the joke on the first step -----### 02:51:18 oh...so this isnt a joke. just real idiocy. cool. 02:51:28 yup 02:52:01 well not cool. the opposite of cool. 02:52:13 hot? 02:52:13 —————♯♯♯ 02:52:26 shachaf: your imitation falls flat hth 02:52:34 oh wait 02:52:45 -!- Hijiri has quit (Quit: WeeChat 1.0.1). 02:52:54 * oerjan isn't very sharp at the moment 02:53:38 but i do think sharpening a swatter is overdoing it. 02:54:34 the real upgrade was in the handle 02:54:47 ーー蟲蟲 02:56:06 now thats a powerful swatter 02:56:14 is it electrified 02:57:08 no but this bugswatter is literalyy made of bugs 02:57:23 looks mushy to me 02:58:22 WWWWWWWWWWWWWWWWWWWWW 02:58:47 mushi de ippai 03:16:02 [wiki] [[Hashes]] http://esolangs.org/w/index.php?diff=42493&oldid=42217 * Esowiki201529A * (+21) 03:18:36 ah. DISPLAYTITLE has restrictions. 03:21:20 -!- Guest3780 has joined. 03:23:15 [wiki] [[User talk:Esowiki201529A]] http://esolangs.org/w/index.php?diff=42494&oldid=42417 * Esowiki201529A * (+27) 03:24:03 [wiki] [[User talk:Esowiki201529A]] http://esolangs.org/w/index.php?diff=42495&oldid=42494 * Esowiki201529A * (-2) 03:25:18 [wiki] [[User talk:Esowiki201529A]] http://esolangs.org/w/index.php?diff=42496&oldid=42495 * Esowiki201529A * (+6) 03:34:31 -!- password2 has joined. 03:49:35 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:06:56 -!- vodkode_ has left ("Leaving"). 04:16:17 Is Bitlocker safe? 04:16:55 As in, if I start using Bitlocker, does that mean it's safe for me to send an intact laptop to be serviced without worrying about techs getting access to passwords etc? 04:17:16 Combine that with encrypted cloud backup, and I won't have to worry about losing my data if I do that 04:17:24 = no need to pull out HDs 04:22:42 -!- Hijiri has joined. 04:32:35 [wiki] [[Special:Log/move]] move * Rdococ * moved [[State]] to [[Tar]]: Instead of just scrapping this and creating a similar one in its place... 04:37:25 Sounds like a lot of work just to avoid removing the drive. 04:37:52 [wiki] [[Tar]] http://esolangs.org/w/index.php?diff=42499&oldid=42497 * Rdococ * (-491) Changes to everything, making it harder 04:58:25 -!- variable has joined. 04:59:06 -!- mitchs has quit (Quit: mitchs). 04:59:33 Avoiding removing the drive avoids voiding warranties and drop protection and the like 05:04:40 AUGHH this is disgusting. because of these serrated discs, my dwrves have to haul each part of the troglodyte to the atomsmasher separately 05:06:22 You could use bitlocker I suppose... I would just store all sensitive data on an SD card or something 05:09:47 Hmm is it possible to configure firefox to put its password stuff on a removable drive? 05:11:13 -!- mitchs has joined. 05:12:30 dwarfort? 05:12:45 not an answer to your question 05:17:51 Yeah. I'm almost done draining the ocean 05:19:13 [wiki] [[Tar]] M http://esolangs.org/w/index.php?diff=42500&oldid=42499 * Rdococ * (-10) /* Structure */ 05:24:51 like most DF endeavours, this involves dwarf sacrifice 05:28:31 -!- variable has quit (Quit: 1 found in /dev/zero). 05:28:50 -!- variable has joined. 05:29:00 my FPS was down to 5, now it's up to 13 05:35:31 -!- password2 has quit (Ping timeout: 250 seconds). 05:42:45 I wouldn't trust BitLocker against a government. I'd trust it against random tech support people. 05:50:00 you have to be sure they're sufficiently random hth 05:59:33 oerjan: it can. (->) :: Sort a T -> Sort b T -> Sort T T -- Sort b T is the 'return' kind. the Sort T T is the kind of the function itself. 05:59:54 ...duh. 06:00:10 np 06:00:14 screwed with me at first too =) 06:01:14 i am thinking that separating () :: Constraint and () :: * is all that is needed to stop this bug without outlawing Typeable constraints. 06:01:38 although intuitively, tuples and -> vs. => should also be separated. 06:02:31 and also, as i commented, outlawing Typeable (() :: Constraint) is the only thing the fix does properly. 06:03:45 Let me post that. 06:11:11 [wiki] [[Tar]] http://esolangs.org/w/index.php?diff=42501&oldid=42500 * Rdococ * (+1396) Added interpreter 06:11:44 -!- rdococ has joined. 06:12:16 People say turing tarpit... 06:12:24 I say finite state automaton tarpit. 06:14:47 [wiki] [[User:Rdococ]] http://esolangs.org/w/index.php?diff=42502&oldid=42491 * Rdococ * (-8) added tar 06:19:48 edwardk: i guess i made an alternative proposal or three. 06:20:40 and _that_ i got a Cc: this is so random... 06:20:48 *a CC: for. 06:23:38 > typeRep (Proxy::Proxy(Proxy::'[()]->*)) == typeRep (Proxy::Proxy(Proxy::[()]->*)) 06:23:39 :1:30: parse error on input ‘'’ 06:24:29 why doesn't lambdabot accept promoted datatypes. or wait isn't '[()] legal. 06:24:42 oerjan: dunno, try '[] () maybe 06:25:09 or ('[] ()) 06:25:13 or something 06:25:38 oh wait 06:25:50 you don't use that at the kind level, do you. 06:27:14 > typeRep (Proxy::Proxy '()) == typeRep (Proxy::Proxy ()) 06:27:16 False 06:27:21 there you go 06:29:51 -!- MoALTz has quit (Quit: Leaving). 06:31:59 -!- Froox has quit (Quit: *bubbles away*). 06:33:26 -!- MoALTz has joined. 06:34:52 -!- variable has quit (Ping timeout: 250 seconds). 06:35:37 -!- vodkode_ has joined. 06:38:54 opinions on this? https://gist.github.com/izabera/b2dc6515c7cfb05fc500 06:42:34 [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=42503&oldid=42502 * Rdococ * (-190) /* My esoteric programming languages */ 06:43:23 [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=42504&oldid=42503 * Rdococ * (-52) 06:46:29 oerjan: your suggestion is more or less what i was thinking hth 06:46:48 thx 06:46:54 hthx 06:47:30 maybe i should say it's more or less what i would've thought if i'd thought about it 06:47:35 ok, maybe i should just say i agree 06:47:52 OKAY 06:54:00 izabera: can you program it? 06:54:12 what? 06:54:23 program in it 06:54:28 can you program in it? 06:54:29 in what? 06:54:41 that clock 06:54:43 the code you linked to 06:54:47 no it's a clock -_- 06:54:52 lol 06:55:04 it made me think of alarm clock radio 06:55:46 my joke's funny, right? 06:56:06 allot :P 06:56:47 you know, if you smoke, you'll get http://esolangs.org/wiki/Tar and shameless self-advertisement in your body. 06:57:07 ...get it? it's called Tar? ...no? 06:57:44 rdococ: apropos shameless self-advertisement, you mentioned string search and replace languages so i must point you at http://esolangs.org/wiki//// 06:58:02 it's so unfunny, it crossed the line where unfunny things become funny and is still unfunny there :p 06:58:07 s////Thue 06:58:08 (i did not invent it, but i did much of the rest.) 06:58:30 s/s////Thue/s/////Thue 06:58:32 rdococ: /// is simpler hth 06:58:52 string replacement is cool though 06:58:54 is sed not esoteric enough? 06:59:03 rdococ: I don't get it. how is it related to tar (the program already called tar)? 06:59:10 izabera: too many useless operations hth 06:59:18 b_jonas: what related to tar? 06:59:18 rdococ: I understand why "Folders" is called that, but not "Tar" 06:59:27 b_jonas: ah, long story 06:59:45 do you just write hth after every sentence or what 06:59:47 you see, it was originally called State and was a bit different 06:59:58 i'm going to assume it's a subtle comment on the nonexistence of Feather hth 07:00:10 izabera: not always hth 07:00:19 izabera: you must be new here 07:00:53 kinda 07:00:55 the principle was the same, but it was clogged... what I mean by clogged is that it was an OISC with 4 arguments... not 2... 07:01:00 so I reduced it and changed it 07:01:09 um, but you've taken a pretty good name 07:01:18 I named it Tar, because it was a tarpit, but not a turing tarpit 07:01:19 I mean, what if someone actually does an esolang that somehow uses the tar program 07:01:27 wait, what's the tar program? 07:01:39 lol 07:01:44 oh no, then we will need our wiki's second disambiguation page! 07:02:03 so many name conflicts 07:02:05 i am tempted 07:02:06 `` sed streetlight <<< reeter 07:02:16 lighter 07:02:18 I could rename it Tarp. 07:02:34 sounds fancier too 07:03:06 [wiki] [[Tar]] M http://esolangs.org/w/index.php?diff=42505&oldid=42501 * Rdococ * (+3) changing name to tarp 07:03:52 [wiki] [[Special:Log/move]] move * Rdococ * moved [[Tar]] to [[Tarp]]: possible naming conflicts with a possible esolang using some kind of 'tar program', whatever that is 07:04:23 I'll also go and delete the redirect 07:04:48 [wiki] [[Tar]] http://esolangs.org/w/index.php?diff=42508&oldid=42507 * Rdococ * (-18) Blanked the page 07:04:50 rdococ: you are using windows, aren't you? 07:04:57 yes... unfortunately 07:05:07 that explains a lot 07:05:24 I knew there was a .tar extension 07:05:37 which could have caused a conflict 07:06:59 http://sprunge.us/WMPa anyway this is a clock written in sed (honestly impressive) 07:08:26 [wiki] [[User:Rdococ]] http://esolangs.org/w/index.php?diff=42509&oldid=42504 * Rdococ * (+1) 07:11:19 [wiki] [[Tarp]] http://esolangs.org/w/index.php?diff=42510&oldid=42506 * Rdococ * (+0) okay, now I'm renaming it to Harp.... for some weird reason 07:11:44 [wiki] [[Special:Log/move]] move * Rdococ * moved [[Tarp]] to [[Harp]]: ugh... make your mind up brain 07:12:54 [wiki] [[User:Rdococ]] http://esolangs.org/w/index.php?diff=42513&oldid=42509 * Rdococ * (+0) 07:13:20 what next? Harpy? 07:13:20 do you know what the goverment uses?! The http://esolangs.org/wiki/Harp machine!!! 07:13:21 lol 07:13:29 probably 07:13:43 Tarp just sounded too sharp...!!! 07:15:07 [wiki] [[Harp]] M http://esolangs.org/w/index.php?diff=42514&oldid=42511 * Rdococ * (+17) /* Structure */ forgot a step in executing the only instruction in Harp 07:15:35 harp darp 07:15:52 if I am to create a derivative of Harp, it would be called Darp. 07:16:18 -!- doesthiswork has quit (Quit: Leaving.). 07:17:47 [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[Tar]]": Author request: content before blanking was: "#REDIRECT [[Tarp]]" 07:18:45 -!- Sgeo|web has quit (Quit: Page closed). 07:19:58 rdococ: shall i just delete State and Tarp too? 07:20:08 if you want 07:20:10 izabera: foo () for ... done scares me 07:20:23 [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[State]]": Author request: content was: "#REDIRECT [[Tar]]" (and the only contributor was "[[Special:Contributions/Rdococ|Rdococ]]") 07:20:24 foo () { ... } >... too 07:20:35 the function body must be a compound command 07:20:50 { } is a compound command, but so is for ... done 07:20:54 [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[Tarp]]": Author request: content was: "#REDIRECT [[Harp]]" (and the only contributor was "[[Special:Contributions/Rdococ|Rdococ]]") 07:22:18 `` -d? () [[ -d $1 ]]; -d? /bin && echo /bin is a directory 07:22:19 bash: -d: invalid option \ Usage:bash [GNU long option] [option] ... \ bash [GNU long option] [option] script-file ... \ GNU long options: \ --debug \ --debugger \ --dump-po-strings \ --dump-strings \ --help \ --init-file \ --login \ --noediting \ --noprofile \ --norc \ --posix \ --protected \ --rcfile \ --restricted \ --verbose \ 07:22:23 o_o 07:22:27 what 07:22:35 that's a bug in HackEgo 07:22:51 congrats........ 07:23:00 who coded it? 07:23:14 `` :; -d? () [[ -d $1 ]]; -d? /bin && echo /bin is a directory 07:23:15 ​/bin is a directory 07:23:24 who is the author of HackEgo ? 07:24:06 `cat bin/` 07:24:07 exec bash -c "$1" 07:24:11 not really a bug in hackego 07:24:14 `run -d? () 07:24:16 bash: -d: invalid option \ Usage:bash [GNU long option] [option] ... \ bash [GNU long option] [option] script-file ... \ GNU long options: \ --debug \ --debugger \ --dump-po-strings \ --dump-strings \ --help \ --init-file \ --login \ --noediting \ --noprofile \ --norc \ --posix \ --protected \ --rcfile \ --restricted \ --verbose \ 07:24:18 um 07:24:19 ok nice 07:24:21 it's a bug in HackEgo 07:24:26 you need bash -c -- "$1" 07:24:32 well 07:24:34 bin/` is written by me 07:24:40 `run is built in though 07:24:46 so it's cool that it's broken 07:24:59 `run sed -i 's/-c/-c --/' 'bin/`' 07:25:15 `` -d? () [[ -d $1 ]]; -d? /bin && echo /bin is a directory 07:25:18 bash: -d: invalid option \ Usage:bash [GNU long option] [option] ... \ bash [GNU long option] [option] script-file ... \ GNU long options: \ --debug \ --debugger \ --dump-po-strings \ --dump-strings \ --help \ --init-file \ --login \ --noediting \ --noprofile \ --norc \ --posix \ --protected \ --rcfile \ --restricted \ --verbose \ 07:25:19 No output. 07:25:21 `` -d? 07:25:21 bash: -d?: command not found 07:25:29 there 07:25:33 wait why did it error out? 07:25:35 `` -d? () [[ -d $1 ]]; -d? /bin && echo /bin is a directory 07:25:36 I don't think this is exploitable though 07:25:36 ​/bin is a directory 07:25:40 izabera: race condition 07:25:43 ok 07:25:48 it's not exploitable 07:25:48 (since you could just as easily `run bash -... if you wanted) 07:25:52 it's just broken code 07:26:11 @tell Gregor HackEgo `run foo should do bash -c -- foo rather than bash -c foo, or it breaks on `run -blah 07:26:11 Consider it noted. 07:26:23 the idea of having /bin/` is clever 07:27:46 ` 07:27:48 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found 07:30:25 izabera: `run doesn't actually need to be built in 07:30:34 ok 07:30:37 since you could do the same trick as ` 07:30:41 sure 07:30:55 the built-ins are `run, `revert and `help I think 07:31:09 you could make `help not built in, and you can make one of `run and `revert not built in 07:31:23 since either would let you revert to an earlier revision if someone deletes everything 07:31:34 but if you make them both not built in then anyone can just delete everything with no way to fix it >_> 07:46:39 `` time rm -rf * 07:47:08 that wasn't needed 07:48:25 `revert 07:48:40 ~.~ 07:50:28 ​ \ real0m0.871s \ user0m0.340s \ sys0m0.660s 07:51:25 `` time sleep 1 07:51:43 ​ \ real0m1.023s \ user0m0.000s \ sys0m0.000s 07:51:44 Done. 07:51:57 `` time sleep 0.3 07:51:58 ​ \ real0m0.321s \ user0m0.000s \ sys0m0.000s 07:52:16 `echo Done. 07:52:17 Done. 07:52:24 `run var=3 07:52:26 No output. 07:52:29 `run echo "$var" 07:52:30 No output. 07:52:32 ok 07:52:42 `run echo $var 07:52:43 No output. 07:52:43 elliott: can't you fix things with `/... commands anyway? 07:53:01 oerjan: hmm... I guess 07:53:06 `` TIMEFORMAT='real: %lR, user: %lU, sys: %lS'; time sleep 0.3 07:53:09 you could do `/revert or whatever if that was added 07:53:14 real: 0m0.316s, user: 0m0.000s, sys: 0m0.000s 07:53:19 why does it take so long ._. 07:53:21 ok run and help should become non-primitives then 07:53:26 `` time sleep 1.5 07:53:29 ​ \ real0m1.524s \ user0m0.000s \ sys0m0.000s 07:53:29 you don't need to revert rm -rf * 07:53:31 since it doesn't work 07:53:33 `help 07:53:35 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 07:53:39 ``time sleep 1.48 07:53:40 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `time: not found 07:53:46 `` time sleep 1.48 07:53:48 ​ \ real0m1.512s \ user0m0.000s \ sys0m0.000s 07:53:55 `` time sleep 1.46 07:53:57 ​ \ real0m1.483s \ user0m0.000s \ sys0m0.000s 07:54:25 izabera: because it also starts up user mode linux 07:54:50 `` sed -i "s/^/TIMEFORMAT='real: %lR, user: %lU, sys: %lS' /" bin/\` 07:54:55 No output. 07:54:58 `` time echo x 07:54:59 real: 0m0.001s, user: 0m0.000s, sys: 0m0.000s \ x 07:55:37 Shouldn't that be in .bashrc 07:55:49 .bashrc is only sourced in interactive shells 07:56:16 oerjan: okay but `fetch would still be built in 07:56:33 oerjan: I guess it could just get an HTTP proxy that lets you do what `fetch does but no more? 07:56:39 i.e. GET only, filesize limit, etc. 07:56:48 rate-limited somehow 07:57:01 `curl 07:57:04 curl: try 'curl --help' or 'curl --manual' for more information 07:57:09 curl can post 07:57:55 `curl --help 07:57:55 Usage: curl [options...] \ Options: (H) means HTTP/HTTPS only, (F) means FTP only \ --anyauth Pick "any" authentication method (H) \ -a, --append Append to target file when uploading (F/SFTP) \ --basic Use HTTP Basic Authentication (H) \ --cacert FILE CA certificate to verify peer against (SSL) \ -- 07:58:09 `` curl -F 'aringa=<-' arin.ga <<< 'hello from #esoteric' 07:58:10 Failed to connect to socket 2. \ \ curl: (52) Empty reply from server 07:58:14 aww 07:58:26 `dig 8.8.8.8 07:58:34 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: dig: not found 07:58:34 `ping 8.8.8.8 07:58:35 pong 07:58:55 pong 07:59:46 the curl proxy it has is limited to a few websites 07:59:48 I wish there were a way to adver...hang on... why havent I added any of my languages to the list of languages... other than that old rotten FileCode that I hate 07:59:54 so you couldn't replace `fetch with it 08:00:01 mmh 08:00:14 `curl -H 'esolangs.org' 08:00:15 curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information 08:00:25 `curl -H 'http://esolangs.org' 08:00:26 the ideal would be that the entire bot was modifiable 08:00:26 curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information 08:00:29 but that would be so usable 08:00:33 `curl -H http://esolangs.org 08:00:39 maybe you could implement it as a nomic-style voting system 08:00:44 curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information 08:00:48 with veto power given to some people 08:00:53 `curl --help 08:00:53 Usage: curl [options...] \ Options: (H) means HTTP/HTTPS only, (F) means FTP only \ --anyauth Pick "any" authentication method (H) \ -a, --append Append to target file when uploading (F/SFTP) \ --basic Use HTTP Basic Authentication (H) \ --cacert FILE CA certificate to verify peer against (SSL) \ -- 08:00:56 that would be cool... I should write that 08:01:06 rdococ: use `run 08:01:09 -!- ais523 has joined. 08:01:15 what you are doing is like curl '-F http://esolangs.org' 08:02:01 `run curl -F http://esolangs.org 08:02:02 Warning: Illegally formatted input field! \ curl: option -F: is badly used here \ curl: try 'curl --help' or 'curl --manual' for more information 08:02:09 `run curl -H http://esolangs.org 08:02:09 curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information 08:02:16 `run curl -H 'http://esolangs.org' 08:02:17 curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information 08:02:19 ugh 08:03:01 [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=42515&oldid=42340 * Rdococ * (+11) /* H */ added Harp 08:03:17 `/bin/bash -cecho hi #Testing 08:03:18 ​/bin/bash: - : invalid option \ allexport off \ braceexpand on \ emacs on \ errexit on \ errtrace off \ functrace off \ hashall on \ histexpand on \ history on \ ignoreeof off \ interactive-commentson \ keyword off \ monitor off \ noclobber off \ noexec 08:03:24 `/bin/bash -c echo hi #Testing 08:03:25 ​/bin/bash: - : invalid option \ Usage:/bin/bash [GNU long option] [option] ... \ /bin/bash [GNU long option] [option] script-file ... \ GNU long options: \ --debug \ --debugger \ --dump-po-strings \ --dump-strings \ --help \ --init-file \ --login \ --noediting \ --noprofile \ --norc \ --posix \ --protected \ --rcfile \ --restrict 08:03:34 ok bash cannot be used that way 08:03:40 `` which perl 08:03:55 ​/usr/bin/perl 08:03:55 and then it broke. 08:04:06 `/usr/bin/perl -eprint "Hi!" 08:04:19 [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=42516&oldid=42515 * Rdococ * (+41) /* F */ added Folder [not Folders] 08:04:20 Hi! 08:06:42 hi #esoteric! do you have any idea what the best way is to implement a program whose control structure between basic blocks looks like this?: http://nethack4.org/pastebin/ick-parser-substate-example.png 08:06:48 because I don't, really 08:06:59 trying to render that thing in terms of if and while doesn't work without extra variables 08:07:15 goto 08:07:32 I was definitely considering it 08:07:35 * oerjan sees "ick-parser" and starts to back away... 08:07:35 goto state_6 08:07:49 the context is that I'm trying to write a YACC impl that produces human-like output code 08:07:54 Icky parser substrate 08:07:55 but I have no idea what a human would write in this situation ;-) 08:08:25 this is admittedly an extreme example, in most of the YACC grammars I tried the substate control graphs are much simpler 08:08:37 I would use goto or just have an integer state variable 08:10:09 (If the states have more meaning than just numbers, I might use labels or state number constants that reflect the meaning) 08:12:39 I think I could probably use more meaningful names 08:12:59 a state variable seems like a bad idea, that'd basically leave you in a for-switch situation 08:13:15 still, I don't think you'd do the whole thing as a goto 08:13:23 e.g. 10 and 13 both look like if statements 08:13:38 21/22 would be perfect for a while, except that it has two entry points 08:20:21 Why not plain functions 08:20:35 stack depth 08:21:05 Tail calls 08:21:18 functions + tailcalls is basically equivalent to a nest of gotos 08:22:07 The flow tends to be clearer IME, but yes of course 08:22:07 my current plan is to use the goto style in C if the control flow is sufficiently complex that you can't figure out what's going on, and replace it with mutually recursive tailcalls if we're using a functional language 08:23:07 ais523: I have a programming language called Harp... it looks like it might be perfect for your needs. Here: http://esolangs.org/wiki/Harp 08:23:16 it even has an interpreter, lol 08:23:34 rdococ: to write my YACC impl in? or as a language to target? 08:24:03 have a look 08:24:19 also that can't possibly be more powerful than an FSA, it only has one symbol of memory 08:24:27 oh... 08:24:37 I don't think it's less powerful either, but that's less obvious 08:24:43 it's as powerful as a finite state machine 08:25:03 ah right, yes, it's exactly as powerful as a finite state machine 08:25:11 because you can just write a list of transitions after each label 08:25:39 no, if you read the specification of Harp... 08:26:43 it doesnt even have the concept of states. 08:26:59 rdococ: yes it does, just indirectly 08:27:06 well, yes, indirectly 08:27:09 but I meant directly 08:27:13 http://arin.ga/xtkSZO <-- this is the sort of code you get if you take the state variable approach 08:27:39 ais523: for that particular example, only two states are in any loop (21 and 22), so you could implement it as a function for each state and then a single function with a while loop for those two states 08:27:55 each instruction acts as a state whose transitions are listed on the subsequent lines, up to the next unconditional jump, ignoring any duplicates of previous transitions 08:28:31 b_jonas: 21/22 would blatantly be a while loop if not for the fact you can enter it either way round (which says a lot about INTERCAL's syntax) 08:28:59 orin: I don't find that very readable 08:29:15 The goto approach would have been better 08:29:16 also that's basically a for/switch which is an antipattern 08:29:19 ais523: oh... right 08:29:36 yes, you literally have no advantage over goto there, and you're using goto anyway 08:29:45 so for that you probably need a single state variable there, or else duplicate one of those states 08:29:51 hmm 08:29:57 -!- Patashu has joined. 08:30:27 ais523: mind you, when I write code by hand, I use state variables a lot 08:30:39 and I encourage state variables in while loops as good style 08:30:43 let me show an example 08:30:53 I've been known to do that too, especially if there's a bunch of common code each time round the loop 08:30:58 ayacc's parser works like that atm 08:31:08 I don't meen the balatnt for{switch{}} kind of state variables of course 08:31:12 (I couldn't sensibly autogenerate it for obvious reasons, so I wrote a hand-coded parser) 08:31:21 just variables for quitting a loop or skipping some part of the code etc 08:33:26 example for quitting loops early with state variables: http://russell2.math.bme.hu/~ambrus/sc/info1/info1-gy4.html#cell_16 08:34:08 `ping 08:34:08 pong 08:34:18 wow, internet still working 08:34:42 my internet shouldn't be alive 08:35:43 anyway, it'd be easy to implement that diagram in Harp, as long as you don't care about the consistency of state names 08:36:03 I'd like to see someone use it 08:36:10 or talk about it 08:36:11 or comment on it 08:36:24 `ping 08:36:25 pong 08:36:32 -!- Patashu has quit (Remote host closed the connection). 08:36:39 well it's basically just a compression scheme for FSMs, and those tend not to get talked about much 08:36:49 -!- Patashu has joined. 08:37:19 hehe "tend not to get talked about much" 08:37:21 what about my other esolang called Folder (not Folders 08:37:26 lol 08:37:38 wait that reminds me of this question 08:37:44 I wonder what an infinite state machine would be like 08:38:20 http://cstheory.stackexchange.com/q/22493/8067 "Are there any open problems left about DFAs?" 08:38:31 there's some nice answers 08:39:14 rdococ: we thought Folder was interesting, because its power most likely depends on filesystem features 08:40:52 -!- rdococ_ has joined. 08:41:42 I seriously need ideas for a more interesting language 08:41:48 I had an idea for an infinite state machine 08:42:04 -!- rdococ has quit (Ping timeout: 246 seconds). 08:42:10 -!- rdococ_ has changed nick to rdococ. 08:42:21 hmm 08:42:53 Transfinite state machines 08:45:19 -!- rdococ_ has joined. 08:45:39 so, would an infinite state machine be turing complete 08:45:52 depends on how it's defined 08:45:56 -!- wieldablesquid has joined. 08:45:57 there are certainly constructions that are 08:46:06 the best known is finite state machine + two counters 08:46:24 well, if you could define an infinite number of states with regular expressions or token wildcards 08:46:36 like string $1 + concat $2 => string $1$2 08:46:37 -!- rdococ has quit (Ping timeout: 246 seconds). 08:46:45 -!- rdococ_ has changed nick to rdococ. 08:47:23 my internet will be intermittent because I'm in a car 08:47:52 "infinite state machine" is really vague. almost anything is an infinite state machine if it runs in discrete time, which applies to most of what non-esoteric computer science considers. 08:48:19 true 08:48:50 it's so general you can't really say anything useful about it, which is why we restrict it by the chomsky hierarchy or other ways 08:49:18 -!- oerjan has quit (Quit: Wroom). 08:49:32 -!- iamevn_ has quit (Ping timeout: 264 seconds). 08:50:25 -!- Patashu_ has joined. 08:50:25 -!- Patashu has quit (Disconnected by services). 08:52:34 -!- rdococ has quit (Ping timeout: 246 seconds). 08:52:45 Oh, I forgot: here is the same code, refactored with goto: http://arin.ga/fyyppe 08:53:39 it's still not that readable 08:53:43 -!- Patashu has joined. 08:53:45 it's a bit better 08:53:55 at least now the fact that the flow is optimizable is more obvious 08:54:00 -!- rdococ has joined. 08:54:21 how am I connected at all 08:54:25 e,g, you do things like if (...) goto longlongnum; else {...; goto retry;} longlongnum: 08:54:42 which is one of the most bizarre ways to write an if statement I've ever seen :-) 08:55:05 lol. 08:55:15 where is the retry label? 08:55:25 at top 08:55:53 this code is scary 08:56:04 is this lexing C or something? 08:56:07 oh by the way 08:56:37 -!- Patashu_ has quit (Ping timeout: 255 seconds). 08:56:41 It is reading in arbitrary C structures, in an ad-hoc format similar to C literals 08:57:03 ais523: I think yacc not reading the lookahead when it's not needed would even make implementing a classical C89 compiler simpler, 08:58:00 for it would use that hack where the lexer generates a different token for type identifiers than for function/object identifiers, and you may need that distinction very early after a type is declared 08:58:37 b_jonas: right, I've implemented it to never read a token unless it's needed 08:58:40 so it would make sense to me that yacc had always worked that way 08:58:43 because POSIX requires that 08:58:44 yep 08:58:46 even though it's inconsistent 08:59:05 there are other examples like foo: bar {midrule} BAZ 08:59:25 or, well 08:59:51 suppose I do "a : b {foo} C | b {bar} D", now you have to read in the C or D to know whether to run foo or bar 09:00:18 brace blocks in the middle of the rule can be useful in some sort of grammars, but it's really just syntacic sugar 09:00:37 -!- rdococ has quit (Ping timeout: 246 seconds). 09:00:38 I know 09:01:08 ayacc desugars it in the way recommended by POSIX, to "a : b #1 C | b #2 D; #1 : {foo}; #2 : {bar}" 09:01:25 luckily this don't read the lookahead rule doesn't make the yacc implementation too complicated, because if you know how to generate the pushdown automaton tables, you probably also know how to determine when you need the lookahead 09:01:30 where I start internally-generated identifiers with # because that's normally an illegal character in yacc identifiers, = no clashes 09:02:07 well, the check is "is every transition on a terminal in this state an identical reduce action" 09:02:17 yeah... and yacc identifiers can contain a hyphen so you can't just use them verbatim inside the C function names you generate 09:02:46 technically you could check shifts too, but a) that never happens with the LALR(1) algorithm unless there's only one terminal there, b) the act of shifting requires reading the terminal anyway 09:02:50 anyway, meeting 09:02:52 -!- ais523 has quit (Quit: meeting). 09:03:02 um what? 09:03:31 I assume it is workday time where ais is. 09:03:32 I don't think (b) is valid because you need to execute a brace block before the reading if there's only one shift action? 09:03:54 sure it's workday time. he's in the same continent as me. 09:04:39 Where I am it is 5 in the morning, e.g. crawl home o clock 09:04:41 orin: does that lex C99 hexfloats too? 09:04:45 no 09:05:39 I could probably modify it, but it probably doesn't even work perfectly for regular floats anyway 09:05:45 (also C++11 suffixed user literals, C++11 literal strings, and the three flavors of unicode strings...) 09:06:00 orin: but hex floats are _easier_ than regular floats 09:06:07 regular meaning decimal 09:06:09 really? 09:06:20 yes, because there's no tricky precision issues 09:06:28 the representation is binary 09:06:45 for reading decimal floats, it's hard to convert from decimal to binary without roundoff errors 09:06:52 ohhhh.... that makes sense now I think about it 09:06:58 for hex floats you don't have that problem, it's easier to convert 09:07:22 I mean, it's still not trivial, I'd still recommend most people to use a library function from a trusted well-written library instead of parsing themselves 09:07:26 but it's definitely easier 09:08:24 This code reads a format taht is a bit more permissive than C... for example, if the number begins with a hex digit you don't need a prefix. 0xff xff and ff are all ok 09:09:11 so 09:09:16 but 1f will give you 25 09:09:18 ff*3 isn't the variable ff*3 09:09:27 but 255*3? 09:10:09 orin: what? isn't 1f supposed to be the same as 1.1f in C? 09:10:21 let me ask geordi 09:10:35 hmm no it's not 09:10:38 sorry 09:10:48 Hm? I thought it would just be an error 09:10:58 yes, it's an error 09:11:08 or a C++11 user-defined literal 09:11:34 lol. what happens if two packages deifne the same literal? 09:13:29 Hmm.. I guess it is handled as a duplicate definition of operator "" 09:24:44 orin: it's more complicated than that 09:28:41 because it's namespaced too 10:03:13 -!- MDream has changed nick to MDude. 10:12:47 -!- Patashu has quit (Disconnected by services). 10:12:47 -!- Patashu_ has joined. 10:16:07 -!- Patashu has joined. 10:19:44 -!- Patashu_ has quit (Ping timeout: 256 seconds). 10:21:02 -!- dianne has quit (Quit: byeannes). 10:39:14 -!- boily has joined. 11:04:13 @karma boily 11:04:13 boily has a karma of 109 11:04:17 @karma 11:04:17 You have a karma of 1 11:04:19 :( 11:05:00 ah 11:05:10 boily-- 11:05:13 @karma boily 11:05:13 boily has a karma of 108 11:05:17 :p 11:05:44 @karma C 11:05:44 C has a karma of 2 11:05:46 C++ 11:05:47 @karma 11:05:47 You have a karma of 1 11:05:50 @karma C 11:05:50 C has a karma of 2 11:05:53 hm. 11:06:03 weird 11:06:07 C-- 11:06:08 @karma C 11:06:08 C has a karma of 2 11:14:46 mrhelloman. 11:15:15 uhm. I feel a little bit disturbed to be at 108. 11:24:40 @karma mroman 11:24:40 mroman has a karma of 1 11:25:49 @metar CYUL 11:25:57 ... 11:26:04 Plugin `metar' failed with: <> 11:26:10 :( 11:26:13 ... fun 11:26:15 @metar LOWI 11:26:15 LOWI 151120Z VRB02KT CAVOK 20/01 Q1021 NOSIG 11:26:19 @metar CYUL 11:26:19 CYUL 151100Z 21007KT 30SM FEW050 FEW160 SCT240 04/M01 A3020 RMK SC1CI1CI2 SC TR SLP229 11:26:26 thint-e. 11:26:32 I didn't do anything. 11:26:45 * boily glares at lambdabot 11:26:54 I guess the webserver was slow to answer 11:33:25 -!- dianne has joined. 11:38:51 -!- boily has quit (Quit: LETHARGIC CHICKEN). 11:40:27 -!- nszceta has joined. 12:07:17 threaded brainfuck https://github.com/scotchfield/brainfuck_py 12:07:46 -!- nszceta has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 12:08:31 -!- idris-bot has quit (Quit: Terminated). 12:08:47 -!- idris-bot has joined. 12:10:08 -!- idris-bot has quit (Client Quit). 12:10:24 -!- idris-bot has joined. 12:33:32 -!- Patashu has quit (Ping timeout: 245 seconds). 12:53:52 -!- ProofTechnique has quit (Ping timeout: 256 seconds). 13:16:03 -!- ProofTechnique has joined. 13:22:21 -!- `^_^v has joined. 13:22:41 -!- doesthiswork has joined. 13:22:49 -!- Phantom_Hoover has joined. 13:23:52 -!- doesthiswork has quit (Client Quit). 13:27:25 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 13:27:37 -!- Phantom_Hoover has joined. 13:32:10 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=42517&oldid=42456 * Esowiki201529A * (+56) /* Gibberish */ 13:33:34 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=42518&oldid=42517 * Esowiki201529A * (+0) /* Gibberish/Javascript */ 13:44:06 -!- Sprocklem has quit (Ping timeout: 245 seconds). 13:47:11 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42519&oldid=42489 * Esowiki201529A * (+254) 13:48:25 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42520&oldid=42519 * Esowiki201529A * (+10) /* Escape sequence */ 13:51:16 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42521&oldid=42520 * Esowiki201529A * (+33) /* Escape sequence */ 13:51:41 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42522&oldid=42521 * Esowiki201529A * (+3) /* Escape sequence */ 13:54:09 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42523&oldid=42522 * Esowiki201529A * (+38) /* Escape sequence */ 13:57:15 -!- adu has joined. 13:59:14 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42524&oldid=42523 * Esowiki201529A * (+149) /* Escape sequence */ 14:01:52 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42525&oldid=42524 * Esowiki201529A * (+39) 14:02:33 [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42526&oldid=42525 * Esowiki201529A * (+5) /* See also */ 14:09:23 -!- villasukka has quit (Ping timeout: 265 seconds). 14:22:45 [wiki] [[Gibberish/JavaScript/HTML interpreter]] N http://esolangs.org/w/index.php?oldid=42527 * Esowiki201529A * (+7347) Created page with "== HTML code ==