←2015-04-14 2015-04-15 2015-04-16→ ↑2015 ↑all
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 <edwardk> 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 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42488&oldid=42476 * Esowiki201529A * (+443) /* Example */
00:25:01 <edwardk> er the quotes there were somewhat random =)
00:25:54 <edwardk> you know this is fixable. we typecheck these tuples correctly in ermine.
00:27:17 <oerjan> baking the result of isConstraintKind k into the TypeRep should work about as well, shouldn't it?
00:27:19 <edwardk> 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 <edwardk> 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 <edwardk> now type () has kind forall a. Sort T a
00:30:12 <edwardk> type (,) has kind forall a. Sort T a -> Sort T a -> Sort T a
00:30:44 <edwardk> type (->) has kind forall a b. Sort a T -> Sort b T -> Sort T T
00:30:48 -!- bb010g has joined.
00:30:55 <edwardk> and type inference proceeds as usual.
00:31:26 <edwardk> Sort F F us currently uninhabited but would be used for 'unboxed constraints' if they ever existed.
00:31:27 <oerjan> edwardk: make T a variable and include unboxed typles as well? >:)
00:31:33 <oerjan> *u
00:31:44 <edwardk> unboxed tuples fit into # now.
00:31:52 <edwardk> so Sort F T covers them
00:32:14 <oerjan> i mean you could unify all three (,)s, maybe
00:32:39 <edwardk> doesn't work, because you want * -> * -> # for (#,#)
00:32:51 <edwardk> as well as # -> * -> # etc
00:33:03 <oerjan> ok
00:34:18 <oerjan> 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 <edwardk> type (#,#) has kind forall a b. Sort a T -> Sort b T -> Sort F T
00:34:47 <oerjan> (not that they're much useful without constraints)
00:34:51 <edwardk> no idea
00:35:22 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42489&oldid=42488 * Esowiki201529A * (+69) /* 99 bottles of beer */
00:35:35 <edwardk> 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 <Sgeo|web> Apparently replacing the HD of the model I want nulls and voids the warranty
00:44:10 <Sgeo|web> :(
00:44:56 <oerjan> suddenly the trac is sending out Cc:s again, maybe they fixed it
00:45:12 <oerjan> or well, i didn't get goldfire's comment
00:46:59 <shachaf> Hmm, Show is still Typeable after the change.
00:47:05 <shachaf> Show Int isn't.
00:49:09 <oerjan> that means (,) _constructor_ is also Typeable.
00:49:25 <oerjan> in fact i suspect the only thing you cannot get around is () :)
00:49:37 <orin> Sgeo|web: Your mistake there is getting a warranty
00:49:58 <shachaf> oerjan: how can (,) be Typeable if you can't even refer to it?
00:50:00 <oerjan> oh and NullaryConstraints
00:50:02 <shachaf> foiled
00:50:11 <Sgeo|web> orin: I've heard that this laptop might sometimes stop working, according to reviews
00:50:14 <Sgeo|web> So a bit scared by that
00:50:18 <oerjan> shachaf: you can tease it out with some type equalities
00:50:29 <shachaf> Oh, you managed to do that?
00:50:45 <oerjan> i think i did, maybe i should recheck
00:50:45 <shachaf> Something like what I was doing with Proxy to avoid KindSignatures?
00:50:57 <shachaf> I thought I tried it here and it didn't work but I didn't try very hard.
00:52:59 <oerjan> > let x :: forall a b c. (a b c ~ (Ord Int, Show Int)) => TypeRep; x = typeRep (Proxy a) in x
00:53:01 <lambdabot> Couldn't match expected type ‘Expr -> proxy0 a0’
00:53:01 <lambdabot> with actual type ‘Proxy t0’
00:53:01 <lambdabot> The function ‘Proxy’ is applied to one argument,
00:53:10 <oerjan> oops hm
00:53:22 <oerjan> > let x :: forall a b c. (a b c ~ (Ord Int, Show Int)) => TypeRep; x = typeRep (Proxy :: Proxy a) in x
00:53:23 <lambdabot> Could not deduce (Typeable a) arising from a use of ‘typeRep’
00:53:23 <lambdabot> from the context (a b c ~ (Ord Int, Show Int))
00:53:23 <lambdabot> bound by the type signature for
00:53:29 <oerjan> oh
00:54:14 <shachaf> > 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 <lambdabot> (,)
00:54:40 <oerjan> ah
00:55:00 <orin> Sgeo|web: Did any hardware engineers take a look at the cases where it stops working?
00:55:22 <Sgeo|web> Not that I know of
00:55:53 <oerjan> why in the world does it require a kind signature there
00:56:06 <edwardk> oerjan: ok, i posted a version of my encoding above to the trac
00:56:58 <orin> Hmm... I would try to find a different model then.
00:57:56 <oerjan> shachaf: can you tease out Typeable (Ord Int) from HEAD by deriving the parts separately?
00:59:26 <oerjan> if you cannot, that means it breaks polykindedness of type application, which is about the only feature this new system had...
00:59:52 <orin> of course, I tend to be conservative in my use of technology
01:00:02 -!- aretecode has quit (Quit: Toodaloo).
01:00:53 <orin> so it depends on your tradeoff of risk of failure versus awesomeness of the laptop
01:01:37 <shachaf> λ> 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 <shachaf> Ord Int
01:01:44 <shachaf> hth
01:01:54 <shachaf> (typeRep (Proxy :: Proxy (Ord Int)) is an error)
01:05:13 <oerjan> shachaf: you could make a post about this, if () is the only thing effectively forbidden...
01:06:52 <oerjan> (being the only builtin NullaryConstraint)
01:07:31 <oerjan> it is still quite possible that's enough to close the exploit holes, but...
01:08:11 <oerjan> i don't _quite_ trust that yet.
01:08:29 <shachaf> That's pretty fishy.
01:15:00 -!- tertu has joined.
01:19:36 <oerjan> edwardk: i thought -> could return unboxed values too...
01:21:26 <HackEgo> [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=42490&oldid=42484 * Rdococ * (+54)
01:22:15 <oerjan> 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 <shachaf> 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 <oerjan> shachaf: btw you _did_ test your example above in HEAD, not just lambdabot?
01:51:50 <oerjan> 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 <HackEgo> [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=42491&oldid=42490 * Rdococ * (+99)
02:01:51 <HackEgo> [wiki] [[Befunge]] http://esolangs.org/w/index.php?diff=42492&oldid=42179 * 68.39.240.189 * (+123) /* Befunge-93 */
02:03:43 <oerjan> shachaf: posted hth
02:04:19 * oerjan barely resisted the urge to include the "shachaf> hth" line in the quote
02:06:12 <shachaf> oerjan: The second line works in HEAD.
02:12:27 <oerjan> nu pizza
02:12:30 <oerjan> yay
02:13:08 <oerjan> 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 <oerjan> 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 <oerjan> 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 <oerjan> oh hm that's technically not what i wanted to say
02:29:54 <oerjan> (,) has ambiguous kind unapplied
02:30:46 <oerjan> _however_, there is nothing that can take it as an unapplied argument which doesn't include kind information
02:31:38 <shachaf> what about (,) hth
02:31:42 <oerjan> > typeRep (Proxy (Proxy :: '[] -> *))
02:31:43 <lambdabot> <hint>:1:33: parse error on input ‘*’
02:31:57 <oerjan> bah ... oh
02:32:02 <oerjan> > typeRep (Proxy :: (Proxy :: '[] -> *))
02:32:03 <lambdabot> <hint>:1:29: parse error on input ‘'’
02:32:12 <oerjan> > typeRep (Proxy :: (Proxy :: [] -> *))
02:32:13 <lambdabot> <hint>:1:30: parse error on input ‘]’
02:32:44 <oerjan> > typeRep (Proxy :: (Proxy :: () -> *))
02:32:46 <lambdabot> Expecting one more argument to ‘Proxy’
02:32:46 <lambdabot> Expected a type, but ‘Proxy’ has kind ‘() -> *’
02:32:46 <lambdabot> In an expression type signature: (Proxy :: () -> *)
02:32:53 <Hijiri> > typeRep (Proxy :: (Proxy (() -> *)))
02:32:54 <lambdabot> <hint>:1:33: parse error on input ‘*’
02:33:04 <Hijiri> > typeRep (Proxy :: (Proxy ('() -> *)))
02:33:06 <lambdabot> <hint>:1:34: parse error on input ‘*’
02:33:20 <oerjan> did int-e turn off DataKinds
02:34:09 <oerjan> > typeRep (Proxy :: Proxy (Proxy :: () -> *))
02:34:10 <lambdabot> Proxy
02:34:30 <oerjan> that looks a bit weak
02:34:42 <oerjan> > typeRep (Proxy :: Proxy (Proxy :: '[] -> *))
02:34:43 <lambdabot> <hint>:1:35: parse error on input ‘'’
02:34:56 <oerjan> > typeRep (Proxy :: Proxy (Proxy :: [] -> *))
02:34:58 <lambdabot> <hint>:1:36: parse error on input ‘]’
02:35:17 <shachaf> > typeRep (Proxy :: Proxy (Proxy :: [*] -> *))
02:35:19 <lambdabot> Proxy
02:35:24 <oerjan> oh
02:35:41 <oerjan> still, what happened to the kind-sensitivity
02:35:55 <oerjan> > > typeRep (Proxy :: Proxy (Proxy :: [*] -> *)) == typeRep (Proxy :: Proxy (Proxy :: () -> *))
02:35:56 <lambdabot> <hint>:1:1: parse error on input ‘>’
02:36:02 <oerjan> > typeRep (Proxy :: Proxy (Proxy :: [*] -> *)) == typeRep (Proxy :: Proxy (Proxy :: () -> *))
02:36:03 <lambdabot> False
02:36:34 <shachaf> λ> typeRepKinds $ typeRep (Proxy :: Proxy (Proxy :: [*] -> *))
02:36:34 <shachaf> [[] *]
02:38:14 <oerjan> <shachaf> what about (,) hth <-- ((,),) ? makes no sense hth
02:39:31 <shachaf> ((a,b),(c,d)) hth
02:39:35 <shachaf> it doesn't make much sense either way
02:40:06 <oerjan> shachaf: i specifically said that the (,) argument had to not have arguments hth
02:40:24 <oerjan> because otherwise, a and b determine its kind
02:40:45 <shachaf> Oh, right.
02:41:06 <shachaf> Wait, do they?
02:41:12 <shachaf> (,) isn't polykinded.
02:45:44 <shachaf> my gpu is at 82°C
02:45:50 <shachaf> is that good or bad or average?
02:45:53 <shachaf> this is a laptop
02:47:12 <oerjan> (,) has two kinds, * -> * -> * and Constraint -> Constraint -> Constraint
02:47:37 <shachaf> it was more of a "no base case" sort of joke
02:47:40 <shachaf> it wasn't very good
02:47:53 <orin> shachaf: probably fine
02:48:00 <oerjan> wat
02:48:28 <shachaf> never mind
02:48:55 <orin> I've run laptops at 130-140 for weeks on end with no problems
02:49:30 <quintopia> wtf
02:49:37 <oerjan> omg
02:50:03 <quintopia> how did you not burn your fingers
02:50:04 <oerjan> wait, this is the one case where you really _should_ say
02:50:07 <oerjan> bbq
02:50:31 <quintopia> yeah but omg should come first then
02:50:42 <orin> 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 <quintopia> oh...so this isnt a joke. just real idiocy. cool.
02:51:28 <orin> yup
02:52:01 <quintopia> well not cool. the opposite of cool.
02:52:13 <Hijiri> hot?
02:52:13 <shachaf> —————♯♯♯
02:52:26 <oerjan> shachaf: your imitation falls flat hth
02:52:34 <oerjan> 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 <oerjan> but i do think sharpening a swatter is overdoing it.
02:54:34 <shachaf> the real upgrade was in the handle
02:54:47 <orin> ーー蟲蟲
02:56:06 <quintopia> now thats a powerful swatter
02:56:14 <quintopia> is it electrified
02:57:08 <orin> no but this bugswatter is literalyy made of bugs
02:57:23 <oerjan> looks mushy to me
02:58:22 <orin> WWWWWWWWWWWWWWWWWWWWW
02:58:47 <pikhq> mushi de ippai
03:16:02 <HackEgo> [wiki] [[Hashes]] http://esolangs.org/w/index.php?diff=42493&oldid=42217 * Esowiki201529A * (+21)
03:18:36 <oerjan> ah. DISPLAYTITLE has restrictions.
03:21:20 -!- Guest3780 has joined.
03:23:15 <HackEgo> [wiki] [[User talk:Esowiki201529A]] http://esolangs.org/w/index.php?diff=42494&oldid=42417 * Esowiki201529A * (+27)
03:24:03 <HackEgo> [wiki] [[User talk:Esowiki201529A]] http://esolangs.org/w/index.php?diff=42495&oldid=42494 * Esowiki201529A * (-2)
03:25:18 <HackEgo> [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 <Sgeo|web> Is Bitlocker safe?
04:16:55 <Sgeo|web> 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 <Sgeo|web> Combine that with encrypted cloud backup, and I won't have to worry about losing my data if I do that
04:17:24 <Sgeo|web> = no need to pull out HDs
04:22:42 -!- Hijiri has joined.
04:32:35 <HackEgo> [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 <Jafet> Sounds like a lot of work just to avoid removing the drive.
04:37:52 <HackEgo> [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 <Sgeo|web> Avoiding removing the drive avoids voiding warranties and drop protection and the like
05:04:40 <orin> 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 <orin> You could use bitlocker I suppose... I would just store all sensitive data on an SD card or something
05:09:47 <orin> 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 <Hijiri> dwarfort?
05:12:45 <Hijiri> not an answer to your question
05:17:51 <orin> Yeah. I'm almost done draining the ocean
05:19:13 <HackEgo> [wiki] [[Tar]] M http://esolangs.org/w/index.php?diff=42500&oldid=42499 * Rdococ * (-10) /* Structure */
05:24:51 <orin> 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 <orin> 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 <elliott> I wouldn't trust BitLocker against a government. I'd trust it against random tech support people.
05:50:00 <oerjan> you have to be sure they're sufficiently random hth
05:59:33 <edwardk> 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 <oerjan> ...duh.
06:00:10 <edwardk> np
06:00:14 <edwardk> screwed with me at first too =)
06:01:14 <oerjan> i am thinking that separating () :: Constraint and () :: * is all that is needed to stop this bug without outlawing Typeable constraints.
06:01:38 <oerjan> although intuitively, tuples and -> vs. => should also be separated.
06:02:31 <oerjan> and also, as i commented, outlawing Typeable (() :: Constraint) is the only thing the fix does properly.
06:03:45 <oerjan> Let me post that.
06:11:11 <HackEgo> [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 <rdococ> People say turing tarpit...
06:12:24 <rdococ> I say finite state automaton tarpit.
06:14:47 <HackEgo> [wiki] [[User:Rdococ]] http://esolangs.org/w/index.php?diff=42502&oldid=42491 * Rdococ * (-8) added tar
06:19:48 <oerjan> edwardk: i guess i made an alternative proposal or three.
06:20:40 <oerjan> and _that_ i got a Cc: this is so random...
06:20:48 <oerjan> *a CC: for.
06:23:38 <oerjan> > typeRep (Proxy::Proxy(Proxy::'[()]->*)) == typeRep (Proxy::Proxy(Proxy::[()]->*))
06:23:39 <lambdabot> <hint>:1:30: parse error on input ‘'’
06:24:29 <oerjan> why doesn't lambdabot accept promoted datatypes. or wait isn't '[()] legal.
06:24:42 <b_jonas> oerjan: dunno, try '[] () maybe
06:25:09 <b_jonas> or ('[] ())
06:25:13 <b_jonas> or something
06:25:38 <oerjan> oh wait
06:25:50 <oerjan> you don't use that at the kind level, do you.
06:27:14 <oerjan> > typeRep (Proxy::Proxy '()) == typeRep (Proxy::Proxy ())
06:27:16 <lambdabot> False
06:27:21 <oerjan> 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 <izabera> opinions on this? https://gist.github.com/izabera/b2dc6515c7cfb05fc500
06:42:34 <HackEgo> [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=42503&oldid=42502 * Rdococ * (-190) /* My esoteric programming languages */
06:43:23 <HackEgo> [wiki] [[User:Rdococ]] M http://esolangs.org/w/index.php?diff=42504&oldid=42503 * Rdococ * (-52)
06:46:29 <shachaf> oerjan: your suggestion is more or less what i was thinking hth
06:46:48 <oerjan> thx
06:46:54 <shachaf> hthx
06:47:30 <shachaf> maybe i should say it's more or less what i would've thought if i'd thought about it
06:47:35 <shachaf> ok, maybe i should just say i agree
06:47:52 <oerjan> OKAY
06:54:00 <rdococ> izabera: can you program it?
06:54:12 <izabera> what?
06:54:23 <rdococ> program in it
06:54:28 <rdococ> can you program in it?
06:54:29 <izabera> in what?
06:54:41 <myname> that clock
06:54:43 <rdococ> the code you linked to
06:54:47 <izabera> no it's a clock -_-
06:54:52 <rdococ> lol
06:55:04 <rdococ> it made me think of alarm clock radio
06:55:46 <rdococ> my joke's funny, right?
06:56:06 <izabera> allot :P
06:56:47 <rdococ> you know, if you smoke, you'll get http://esolangs.org/wiki/Tar and shameless self-advertisement in your body.
06:57:07 <rdococ> ...get it? it's called Tar? ...no?
06:57:44 <oerjan> 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 <myname> it's so unfunny, it crossed the line where unfunny things become funny and is still unfunny there :p
06:58:07 <rdococ> s////Thue
06:58:08 <oerjan> (i did not invent it, but i did much of the rest.)
06:58:30 <rdococ> s/s////Thue/s/////Thue
06:58:32 <oerjan> rdococ: /// is simpler hth
06:58:52 <rdococ> string replacement is cool though
06:58:54 <izabera> is sed not esoteric enough?
06:59:03 <b_jonas> rdococ: I don't get it. how is it related to tar (the program already called tar)?
06:59:10 <oerjan> izabera: too many useless operations hth
06:59:18 <rdococ> b_jonas: what related to tar?
06:59:18 <b_jonas> rdococ: I understand why "Folders" is called that, but not "Tar"
06:59:27 <rdococ> b_jonas: ah, long story
06:59:45 <izabera> do you just write hth after every sentence or what
06:59:47 <rdococ> you see, it was originally called State and was a bit different
06:59:58 <oerjan> i'm going to assume it's a subtle comment on the nonexistence of Feather hth
07:00:10 <oerjan> izabera: not always hth
07:00:19 <myname> izabera: you must be new here
07:00:53 <izabera> kinda
07:00:55 <rdococ> 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 <rdococ> so I reduced it and changed it
07:01:09 <b_jonas> um, but you've taken a pretty good name
07:01:18 <rdococ> I named it Tar, because it was a tarpit, but not a turing tarpit
07:01:19 <b_jonas> I mean, what if someone actually does an esolang that somehow uses the tar program
07:01:27 <rdococ> wait, what's the tar program?
07:01:39 <myname> lol
07:01:44 <oerjan> oh no, then we will need our wiki's second disambiguation page!
07:02:03 <rdococ> so many name conflicts
07:02:05 <myname> i am tempted
07:02:06 <izabera> `` sed streetlight <<< reeter
07:02:16 <HackEgo> lighter
07:02:18 <rdococ> I could rename it Tarp.
07:02:34 <rdococ> sounds fancier too
07:03:06 <HackEgo> [wiki] [[Tar]] M http://esolangs.org/w/index.php?diff=42505&oldid=42501 * Rdococ * (+3) changing name to tarp
07:03:52 <HackEgo> [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 <rdococ> I'll also go and delete the redirect
07:04:48 <HackEgo> [wiki] [[Tar]] http://esolangs.org/w/index.php?diff=42508&oldid=42507 * Rdococ * (-18) Blanked the page
07:04:50 <myname> rdococ: you are using windows, aren't you?
07:04:57 <rdococ> yes... unfortunately
07:05:07 <myname> that explains a lot
07:05:24 <rdococ> I knew there was a .tar extension
07:05:37 <rdococ> which could have caused a conflict
07:06:59 <izabera> http://sprunge.us/WMPa anyway this is a clock written in sed (honestly impressive)
07:08:26 <HackEgo> [wiki] [[User:Rdococ]] http://esolangs.org/w/index.php?diff=42509&oldid=42504 * Rdococ * (+1)
07:11:19 <HackEgo> [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 <HackEgo> [wiki] [[Special:Log/move]] move * Rdococ * moved [[Tarp]] to [[Harp]]: ugh... make your mind up brain
07:12:54 <HackEgo> [wiki] [[User:Rdococ]] http://esolangs.org/w/index.php?diff=42513&oldid=42509 * Rdococ * (+0)
07:13:20 <b_jonas> what next? Harpy?
07:13:20 <rdococ> do you know what the goverment uses?! The http://esolangs.org/wiki/Harp machine!!!
07:13:21 <rdococ> lol
07:13:29 <rdococ> probably
07:13:43 <rdococ> Tarp just sounded too sharp...!!!
07:15:07 <HackEgo> [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 <rdococ> harp darp
07:15:52 <rdococ> 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 <HackEgo> [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 <oerjan> rdococ: shall i just delete State and Tarp too?
07:20:08 <rdococ> if you want
07:20:10 <elliott> izabera: foo () for ... done scares me
07:20:23 <HackEgo> [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 <elliott> foo () { ... } >... too
07:20:35 <izabera> the function body must be a compound command
07:20:50 <izabera> { } is a compound command, but so is for ... done
07:20:54 <HackEgo> [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 <izabera> `` -d? () [[ -d $1 ]]; -d? /bin && echo /bin is a directory
07:22:19 <HackEgo> 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 <izabera> o_o
07:22:27 <izabera> what
07:22:35 <izabera> that's a bug in HackEgo
07:22:51 <izabera> congrats........
07:23:00 <izabera> who coded it?
07:23:14 <izabera> `` :; -d? () [[ -d $1 ]]; -d? /bin && echo /bin is a directory
07:23:15 <HackEgo> ​/bin is a directory
07:23:24 <izabera> who is the author of HackEgo ?
07:24:06 <elliott> `cat bin/`
07:24:07 <HackEgo> exec bash -c "$1"
07:24:11 <elliott> not really a bug in hackego
07:24:14 <elliott> `run -d? ()
07:24:16 <HackEgo> 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 <elliott> um
07:24:19 <elliott> ok nice
07:24:21 <izabera> it's a bug in HackEgo
07:24:26 <izabera> you need bash -c -- "$1"
07:24:32 <elliott> well
07:24:34 <elliott> bin/` is written by me
07:24:40 <elliott> `run is built in though
07:24:46 <elliott> so it's cool that it's broken
07:24:59 <elliott> `run sed -i 's/-c/-c --/' 'bin/`'
07:25:15 <izabera> `` -d? () [[ -d $1 ]]; -d? /bin && echo /bin is a directory
07:25:18 <HackEgo> 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 <HackEgo> No output.
07:25:21 <elliott> `` -d?
07:25:21 <HackEgo> bash: -d?: command not found
07:25:29 <elliott> there
07:25:33 <izabera> wait why did it error out?
07:25:35 <izabera> `` -d? () [[ -d $1 ]]; -d? /bin && echo /bin is a directory
07:25:36 <elliott> I don't think this is exploitable though
07:25:36 <HackEgo> ​/bin is a directory
07:25:40 <elliott> izabera: race condition
07:25:43 <izabera> ok
07:25:48 <izabera> it's not exploitable
07:25:48 <elliott> (since you could just as easily `run bash -... if you wanted)
07:25:52 <izabera> it's just broken code
07:26:11 <elliott> @tell Gregor HackEgo `run foo should do bash -c -- foo rather than bash -c foo, or it breaks on `run -blah
07:26:11 <lambdabot> Consider it noted.
07:26:23 <izabera> the idea of having /bin/` is clever
07:27:46 <rdococ> `
07:27:48 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
07:30:25 <elliott> izabera: `run doesn't actually need to be built in
07:30:34 <izabera> ok
07:30:37 <elliott> since you could do the same trick as `
07:30:41 <izabera> sure
07:30:55 <elliott> the built-ins are `run, `revert and `help I think
07:31:09 <elliott> you could make `help not built in, and you can make one of `run and `revert not built in
07:31:23 <elliott> since either would let you revert to an earlier revision if someone deletes everything
07:31:34 <elliott> but if you make them both not built in then anyone can just delete everything with no way to fix it >_>
07:46:39 <Jafet> `` time rm -rf *
07:47:08 <izabera> that wasn't needed
07:48:25 <rdococ> `revert
07:48:40 <rdococ> ~.~
07:50:28 <HackEgo> ​ \ real0m0.871s \ user0m0.340s \ sys0m0.660s
07:51:25 <Jafet> `` time sleep 1
07:51:43 <HackEgo> ​ \ real0m1.023s \ user0m0.000s \ sys0m0.000s
07:51:44 <HackEgo> Done.
07:51:57 <rdococ> `` time sleep 0.3
07:51:58 <HackEgo> ​ \ real0m0.321s \ user0m0.000s \ sys0m0.000s
07:52:16 <rdococ> `echo Done.
07:52:17 <HackEgo> Done.
07:52:24 <izabera> `run var=3
07:52:26 <HackEgo> No output.
07:52:29 <izabera> `run echo "$var"
07:52:30 <HackEgo> No output.
07:52:32 <izabera> ok
07:52:42 <rdococ> `run echo $var
07:52:43 <HackEgo> No output.
07:52:43 <oerjan> elliott: can't you fix things with `/... commands anyway?
07:53:01 <elliott> oerjan: hmm... I guess
07:53:06 <izabera> `` TIMEFORMAT='real: %lR, user: %lU, sys: %lS'; time sleep 0.3
07:53:09 <elliott> you could do `/revert or whatever if that was added
07:53:14 <HackEgo> real: 0m0.316s, user: 0m0.000s, sys: 0m0.000s
07:53:19 <izabera> why does it take so long ._.
07:53:21 <elliott> ok run and help should become non-primitives then
07:53:26 <rdococ> `` time sleep 1.5
07:53:29 <HackEgo> ​ \ real0m1.524s \ user0m0.000s \ sys0m0.000s
07:53:29 <elliott> you don't need to revert rm -rf *
07:53:31 <elliott> since it doesn't work
07:53:33 <elliott> `help
07:53:35 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
07:53:39 <rdococ> ``time sleep 1.48
07:53:40 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `time: not found
07:53:46 <rdococ> `` time sleep 1.48
07:53:48 <HackEgo> ​ \ real0m1.512s \ user0m0.000s \ sys0m0.000s
07:53:55 <rdococ> `` time sleep 1.46
07:53:57 <HackEgo> ​ \ real0m1.483s \ user0m0.000s \ sys0m0.000s
07:54:25 <elliott> izabera: because it also starts up user mode linux
07:54:50 <izabera> `` sed -i "s/^/TIMEFORMAT='real: %lR, user: %lU, sys: %lS' /" bin/\`
07:54:55 <HackEgo> No output.
07:54:58 <izabera> `` time echo x
07:54:59 <HackEgo> real: 0m0.001s, user: 0m0.000s, sys: 0m0.000s \ x
07:55:37 <Jafet> Shouldn't that be in .bashrc
07:55:49 <izabera> .bashrc is only sourced in interactive shells
07:56:16 <elliott> oerjan: okay but `fetch would still be built in
07:56:33 <elliott> oerjan: I guess it could just get an HTTP proxy that lets you do what `fetch does but no more?
07:56:39 <elliott> i.e. GET only, filesize limit, etc.
07:56:48 <elliott> rate-limited somehow
07:57:01 <izabera> `curl
07:57:04 <HackEgo> curl: try 'curl --help' or 'curl --manual' for more information
07:57:09 <izabera> curl can post
07:57:55 <rdococ> `curl --help
07:57:55 <HackEgo> Usage: curl [options...] <url> \ 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 <izabera> `` curl -F 'aringa=<-' arin.ga <<< 'hello from #esoteric'
07:58:10 <HackEgo> Failed to connect to socket 2. \ \ curl: (52) Empty reply from server
07:58:14 <izabera> aww
07:58:26 <Jafet> `dig 8.8.8.8
07:58:34 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: dig: not found
07:58:34 <rdococ> `ping 8.8.8.8
07:58:35 <HackEgo> pong
07:58:55 <rdococ> pong
07:59:46 <elliott> the curl proxy it has is limited to a few websites
07:59:48 <rdococ> 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 <elliott> so you couldn't replace `fetch with it
08:00:01 <izabera> mmh
08:00:14 <rdococ> `curl -H 'esolangs.org'
08:00:15 <HackEgo> curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information
08:00:25 <rdococ> `curl -H 'http://esolangs.org'
08:00:26 <elliott> the ideal would be that the entire bot was modifiable
08:00:26 <HackEgo> curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information
08:00:29 <elliott> but that would be so usable
08:00:33 <rdococ> `curl -H http://esolangs.org
08:00:39 <elliott> maybe you could implement it as a nomic-style voting system
08:00:44 <HackEgo> curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information
08:00:48 <elliott> with veto power given to some people
08:00:53 <rdococ> `curl --help
08:00:53 <HackEgo> Usage: curl [options...] <url> \ 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 <elliott> that would be cool... I should write that
08:01:06 <elliott> rdococ: use `run
08:01:09 -!- ais523 has joined.
08:01:15 <elliott> what you are doing is like curl '-F http://esolangs.org'
08:02:01 <rdococ> `run curl -F http://esolangs.org
08:02:02 <HackEgo> 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 <rdococ> `run curl -H http://esolangs.org
08:02:09 <HackEgo> curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information
08:02:16 <rdococ> `run curl -H 'http://esolangs.org'
08:02:17 <HackEgo> curl: no URL specified! \ curl: try 'curl --help' or 'curl --manual' for more information
08:02:19 <rdococ> ugh
08:03:01 <HackEgo> [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=42515&oldid=42340 * Rdococ * (+11) /* H */ added Harp
08:03:17 <oerjan> `/bin/bash -cecho hi #Testing
08:03:18 <HackEgo> ​/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 <oerjan> `/bin/bash -c echo hi #Testing
08:03:25 <HackEgo> ​/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 <oerjan> ok bash cannot be used that way
08:03:40 <oerjan> `` which perl
08:03:55 <HackEgo> ​/usr/bin/perl
08:03:55 <oerjan> and then it broke.
08:04:06 <oerjan> `/usr/bin/perl -eprint "Hi!"
08:04:19 <HackEgo> [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=42516&oldid=42515 * Rdococ * (+41) /* F */ added Folder [not Folders]
08:04:20 <HackEgo> Hi!
08:06:42 <ais523> 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 <ais523> because I don't, really
08:06:59 <ais523> trying to render that thing in terms of if and while doesn't work without extra variables
08:07:15 <orin> goto
08:07:32 <ais523> I was definitely considering it
08:07:35 * oerjan sees "ick-parser" and starts to back away...
08:07:35 <orin> goto state_6
08:07:49 <ais523> the context is that I'm trying to write a YACC impl that produces human-like output code
08:07:54 <Jafet> Icky parser substrate
08:07:55 <ais523> but I have no idea what a human would write in this situation ;-)
08:08:25 <ais523> this is admittedly an extreme example, in most of the YACC grammars I tried the substate control graphs are much simpler
08:08:37 <orin> I would use goto or just have an integer state variable
08:10:09 <orin> (If the states have more meaning than just numbers, I might use labels or state number constants that reflect the meaning)
08:12:39 <ais523> I think I could probably use more meaningful names
08:12:59 <ais523> a state variable seems like a bad idea, that'd basically leave you in a for-switch situation
08:13:15 <ais523> still, I don't think you'd do the whole thing as a goto
08:13:23 <ais523> e.g. 10 and 13 both look like if statements
08:13:38 <ais523> 21/22 would be perfect for a while, except that it has two entry points
08:20:21 <Deewiant> Why not plain functions
08:20:35 <orin> stack depth
08:21:05 <Deewiant> Tail calls
08:21:18 <ais523> functions + tailcalls is basically equivalent to a nest of gotos
08:22:07 <Deewiant> The flow tends to be clearer IME, but yes of course
08:22:07 <ais523> 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 <rdococ> 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 <rdococ> it even has an interpreter, lol
08:23:34 <ais523> rdococ: to write my YACC impl in? or as a language to target?
08:24:03 <rdococ> have a look
08:24:19 <ais523> also that can't possibly be more powerful than an FSA, it only has one symbol of memory
08:24:27 <rdococ> oh...
08:24:37 <ais523> I don't think it's less powerful either, but that's less obvious
08:24:43 <rdococ> it's as powerful as a finite state machine
08:25:03 <ais523> ah right, yes, it's exactly as powerful as a finite state machine
08:25:11 <ais523> because you can just write a list of transitions after each label
08:25:39 <rdococ> no, if you read the specification of Harp...
08:26:43 <rdococ> it doesnt even have the concept of states.
08:26:59 <ais523> rdococ: yes it does, just indirectly
08:27:06 <rdococ> well, yes, indirectly
08:27:09 <rdococ> but I meant directly
08:27:13 <orin> http://arin.ga/xtkSZO <-- this is the sort of code you get if you take the state variable approach
08:27:39 <b_jonas> 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 <ais523> 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 <ais523> 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 <ais523> orin: I don't find that very readable
08:29:15 <orin> The goto approach would have been better
08:29:16 <ais523> also that's basically a for/switch which is an antipattern
08:29:19 <b_jonas> ais523: oh... right
08:29:36 <ais523> yes, you literally have no advantage over goto there, and you're using goto anyway
08:29:45 <b_jonas> so for that you probably need a single state variable there, or else duplicate one of those states
08:29:51 <b_jonas> hmm
08:29:57 -!- Patashu has joined.
08:30:27 <b_jonas> ais523: mind you, when I write code by hand, I use state variables a lot
08:30:39 <b_jonas> and I encourage state variables in while loops as good style
08:30:43 <b_jonas> let me show an example
08:30:53 <ais523> 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 <ais523> ayacc's parser works like that atm
08:31:08 <b_jonas> I don't meen the balatnt for{switch{}} kind of state variables of course
08:31:12 <ais523> (I couldn't sensibly autogenerate it for obvious reasons, so I wrote a hand-coded parser)
08:31:21 <b_jonas> just variables for quitting a loop or skipping some part of the code etc
08:33:26 <b_jonas> example for quitting loops early with state variables: http://russell2.math.bme.hu/~ambrus/sc/info1/info1-gy4.html#cell_16
08:34:08 <rdococ> `ping
08:34:08 <HackEgo> pong
08:34:18 <rdococ> wow, internet still working
08:34:42 <rdococ> my internet shouldn't be alive
08:35:43 <rdococ> 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 <rdococ> I'd like to see someone use it
08:36:10 <rdococ> or talk about it
08:36:11 <rdococ> or comment on it
08:36:24 <rdococ> `ping
08:36:25 <HackEgo> pong
08:36:32 -!- Patashu has quit (Remote host closed the connection).
08:36:39 <ais523> 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 <b_jonas> hehe "tend not to get talked about much"
08:37:21 <rdococ> what about my other esolang called Folder (not Folders
08:37:26 <rdococ> lol
08:37:38 <b_jonas> wait that reminds me of this question
08:37:44 <rdococ> I wonder what an infinite state machine would be like
08:38:20 <b_jonas> http://cstheory.stackexchange.com/q/22493/8067 "Are there any open problems left about DFAs?"
08:38:31 <b_jonas> there's some nice answers
08:39:14 <ais523> rdococ: we thought Folder was interesting, because its power most likely depends on filesystem features
08:40:52 -!- rdococ_ has joined.
08:41:42 <rdococ_> I seriously need ideas for a more interesting language
08:41:48 <rdococ_> 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 <rdococ> hmm
08:42:53 <Jafet> Transfinite state machines
08:45:19 -!- rdococ_ has joined.
08:45:39 <rdococ_> so, would an infinite state machine be turing complete
08:45:52 <ais523> depends on how it's defined
08:45:56 -!- wieldablesquid has joined.
08:45:57 <ais523> there are certainly constructions that are
08:46:06 <ais523> the best known is finite state machine + two counters
08:46:24 <rdococ_> well, if you could define an infinite number of states with regular expressions or token wildcards
08:46:36 <rdococ_> 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 <rdococ> my internet will be intermittent because I'm in a car
08:47:52 <b_jonas> "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 <rdococ> true
08:48:50 <b_jonas> 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 <orin> Oh, I forgot: here is the same code, refactored with goto: http://arin.ga/fyyppe
08:53:39 <ais523> it's still not that readable
08:53:43 -!- Patashu has joined.
08:53:45 <ais523> it's a bit better
08:53:55 <ais523> at least now the fact that the flow is optimizable is more obvious
08:54:00 -!- rdococ has joined.
08:54:21 <rdococ> how am I connected at all
08:54:25 <ais523> e,g, you do things like if (...) goto longlongnum; else {...; goto retry;} longlongnum:
08:54:42 <ais523> which is one of the most bizarre ways to write an if statement I've ever seen :-)
08:55:05 <orin> lol.
08:55:15 <b_jonas> where is the retry label?
08:55:25 <orin> at top
08:55:53 <b_jonas> this code is scary
08:56:04 <b_jonas> is this lexing C or something?
08:56:07 <b_jonas> oh by the way
08:56:37 -!- Patashu_ has quit (Ping timeout: 255 seconds).
08:56:41 <orin> It is reading in arbitrary C structures, in an ad-hoc format similar to C literals
08:57:03 <b_jonas> 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 <b_jonas> 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 <ais523> b_jonas: right, I've implemented it to never read a token unless it's needed
08:58:40 <b_jonas> so it would make sense to me that yacc had always worked that way
08:58:43 <ais523> because POSIX requires that
08:58:44 <b_jonas> yep
08:58:46 <ais523> even though it's inconsistent
08:59:05 <ais523> there are other examples like foo: bar {midrule} BAZ
08:59:25 <ais523> or, well
08:59:51 <ais523> 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 <b_jonas> 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 <ais523> I know
09:01:08 <ais523> ayacc desugars it in the way recommended by POSIX, to "a : b #1 C | b #2 D; #1 : {foo}; #2 : {bar}"
09:01:25 <b_jonas> 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 <ais523> where I start internally-generated identifiers with # because that's normally an illegal character in yacc identifiers, = no clashes
09:02:07 <ais523> well, the check is "is every transition on a terminal in this state an identical reduce action"
09:02:17 <b_jonas> 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 <ais523> 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 <ais523> anyway, meeting
09:02:52 -!- ais523 has quit (Quit: meeting).
09:03:02 <b_jonas> um what?
09:03:31 <orin> I assume it is workday time where ais is.
09:03:32 <b_jonas> 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 <b_jonas> sure it's workday time. he's in the same continent as me.
09:04:39 <orin> Where I am it is 5 in the morning, e.g. crawl home o clock
09:04:41 <b_jonas> orin: does that lex C99 hexfloats too?
09:04:45 <orin> no
09:05:39 <orin> I could probably modify it, but it probably doesn't even work perfectly for regular floats anyway
09:05:45 <b_jonas> (also C++11 suffixed user literals, C++11 literal strings, and the three flavors of unicode strings...)
09:06:00 <b_jonas> orin: but hex floats are _easier_ than regular floats
09:06:07 <b_jonas> regular meaning decimal
09:06:09 <orin> really?
09:06:20 <b_jonas> yes, because there's no tricky precision issues
09:06:28 <b_jonas> the representation is binary
09:06:45 <b_jonas> for reading decimal floats, it's hard to convert from decimal to binary without roundoff errors
09:06:52 <orin> ohhhh.... that makes sense now I think about it
09:06:58 <b_jonas> for hex floats you don't have that problem, it's easier to convert
09:07:22 <b_jonas> 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 <b_jonas> but it's definitely easier
09:08:24 <orin> 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 <mroman> so
09:09:16 <orin> but 1f will give you 25
09:09:18 <mroman> ff*3 isn't the variable ff*3
09:09:27 <mroman> but 255*3?
09:10:09 <b_jonas> orin: what? isn't 1f supposed to be the same as 1.1f in C?
09:10:21 <b_jonas> let me ask geordi
09:10:35 <b_jonas> hmm no it's not
09:10:38 <b_jonas> sorry
09:10:48 <orin> Hm? I thought it would just be an error
09:10:58 <b_jonas> yes, it's an error
09:11:08 <b_jonas> or a C++11 user-defined literal
09:11:34 <orin> lol. what happens if two packages deifne the same literal?
09:13:29 <orin> Hmm.. I guess it is handled as a duplicate definition of operator ""
09:24:44 <b_jonas> orin: it's more complicated than that
09:28:41 <b_jonas> 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 <mroman> @karma boily
11:04:13 <lambdabot> boily has a karma of 109
11:04:17 <mroman> @karma
11:04:17 <lambdabot> You have a karma of 1
11:04:19 <mroman> :(
11:05:00 <mroman> ah
11:05:10 <mroman> boily--
11:05:13 <mroman> @karma boily
11:05:13 <lambdabot> boily has a karma of 108
11:05:17 <mroman> :p
11:05:44 <mroman> @karma C
11:05:44 <lambdabot> C has a karma of 2
11:05:46 <mroman> C++
11:05:47 <mroman> @karma
11:05:47 <lambdabot> You have a karma of 1
11:05:50 <mroman> @karma C
11:05:50 <lambdabot> C has a karma of 2
11:05:53 <mroman> hm.
11:06:03 <mroman> weird
11:06:07 <mroman> C--
11:06:08 <mroman> @karma C
11:06:08 <lambdabot> C has a karma of 2
11:14:46 <boily> mrhelloman.
11:15:15 <boily> uhm. I feel a little bit disturbed to be at 108.
11:24:40 <int-e> @karma mroman
11:24:40 <lambdabot> mroman has a karma of 1
11:25:49 <boily> @metar CYUL
11:25:57 <boily> ...
11:26:04 <lambdabot> Plugin `metar' failed with: <<timeout>>
11:26:10 <boily> :(
11:26:13 <int-e> ... fun
11:26:15 <int-e> @metar LOWI
11:26:15 <lambdabot> LOWI 151120Z VRB02KT CAVOK 20/01 Q1021 NOSIG
11:26:19 <int-e> @metar CYUL
11:26:19 <lambdabot> CYUL 151100Z 21007KT 30SM FEW050 FEW160 SCT240 04/M01 A3020 RMK SC1CI1CI2 SC TR SLP229
11:26:26 <boily> thint-e.
11:26:32 <int-e> I didn't do anything.
11:26:45 * boily glares at lambdabot
11:26:54 <int-e> 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 <J_Arcane> 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 <HackEgo> [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=42517&oldid=42456 * Esowiki201529A * (+56) /* Gibberish */
13:33:34 <HackEgo> [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 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42519&oldid=42489 * Esowiki201529A * (+254)
13:48:25 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42520&oldid=42519 * Esowiki201529A * (+10) /* Escape sequence */
13:51:16 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42521&oldid=42520 * Esowiki201529A * (+33) /* Escape sequence */
13:51:41 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42522&oldid=42521 * Esowiki201529A * (+3) /* Escape sequence */
13:54:09 <HackEgo> [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 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42524&oldid=42523 * Esowiki201529A * (+149) /* Escape sequence */
14:01:52 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42525&oldid=42524 * Esowiki201529A * (+39)
14:02:33 <HackEgo> [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 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] N http://esolangs.org/w/index.php?oldid=42527 * Esowiki201529A * (+7347) Created page with "== HTML code == <pre><nowiki> <!doctype html> <html> <head> <style> .c0 {background:#f73} .c1 {background:#f76} .c2 {background:#f79} .c3 {background:#..."
14:23:24 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42528&oldid=42527 * Esowiki201529A * (+7) /* See also */
14:27:29 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42529&oldid=42528 * Esowiki201529A * (-7235) /* HTML code */
14:27:51 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42530&oldid=42529 * Esowiki201529A * (+0) /* HTML code */
14:29:29 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42531&oldid=42530 * Esowiki201529A * (+44) /* HTML code */
14:30:21 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42532&oldid=42531 * Esowiki201529A * (-3) /* HTML code */
14:33:26 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42533&oldid=42532 * Esowiki201529A * (+44) /* HTML code */
14:37:32 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42534&oldid=42533 * Esowiki201529A * (+85) /* HTML code */
14:38:08 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42535&oldid=42534 * Esowiki201529A * (+6) /* HTML code */
14:38:53 -!- GeekDude has joined.
14:40:09 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42536&oldid=42535 * Esowiki201529A * (+51) /* HTML code */
14:40:54 -!- MDude has quit (Read error: Connection reset by peer).
14:44:54 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
14:44:59 -!- Phantom__Hoover has joined.
14:45:35 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42537&oldid=42536 * Esowiki201529A * (+30) /* HTML code */
14:46:25 <HackEgo> [wiki] [[Gibberish/JavaScript/HTML interpreter]] http://esolangs.org/w/index.php?diff=42538&oldid=42537 * Esowiki201529A * (+2) /* HTML code */
14:53:34 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42539&oldid=42526 * Esowiki201529A * (+25) /* Escape sequence */
14:54:23 <HackEgo> [wiki] [[Brainfuck algorithms]] M http://esolangs.org/w/index.php?diff=42540&oldid=42442 * Quintopia * (-1)
14:54:29 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42541&oldid=42539 * Esowiki201529A * (+3) /* Escape sequence */
14:56:05 -!- Sprocklem has joined.
14:57:20 <HackEgo> [wiki] [[Gibberish/JavaScript]] http://esolangs.org/w/index.php?diff=42542&oldid=42541 * Esowiki201529A * (+6) /* Escape sequence */
15:07:41 <quintopia> i feel like this esowiki guy could make all these changes in a single edit
15:08:01 <quintopia> or be more descriptive about what they are for
15:13:38 -!- TieSoul_ has quit (Remote host closed the connection).
15:24:42 -!- nortti has changed nick to lawspeaker.
15:25:53 -!- lawspeaker has changed nick to nortti.
15:28:35 -!- hjulle has joined.
15:29:35 -!- adu has quit (Quit: adu).
15:34:39 -!- variable has joined.
15:36:49 -!- Phantom_Hoover has joined.
15:39:35 -!- Phantom__Hoover has quit (Ping timeout: 250 seconds).
15:42:38 -!- nortti has changed nick to lawspeaker.
15:43:04 -!- lawspeaker has changed nick to nortti.
15:43:22 -!- nortti has changed nick to lawspeaker.
15:43:44 -!- lawspeaker has changed nick to nortti.
15:48:21 -!- aretecode has joined.
16:03:16 -!- Hijiri has quit (Quit: WeeChat 1.0.1).
16:08:37 -!- bb010g has quit (Quit: Connection closed for inactivity).
16:26:27 <HackEgo> [wiki] [[Talk:Folder]] http://esolangs.org/w/index.php?diff=42543&oldid=42401 * Rottytooth * (+247) /* Name dispute */
16:57:15 -!- SopaXorzTaker has joined.
17:02:37 -!- SopaXorzTaker has quit (Quit: Leaving).
17:03:22 -!- Hijiri has joined.
17:16:41 <int-e> @tell oerjan are trac notifications still erratic for you as well?
17:16:41 <lambdabot> Consider it noted.
17:23:41 -!- TieSoul has joined.
17:34:53 -!- Hijiri has quit (Quit: WeeChat 1.0.1).
17:45:40 -!- rdococ has joined.
17:46:33 <rdococ> I fell asleep
17:47:18 -!- AnotherTest has joined.
17:47:37 <int-e> fungot: what do you think of sleep?
17:47:37 <fungot> int-e: i've never been to the bottom of a bottle.
17:48:15 <orin> fungot is a lightweight huh
17:48:15 <fungot> orin: at a speed of over eight hundred thousand things to save the city, and the skyline is dominated by billboards, ads like that burn my biscuits, pal, or go to an early gravy!
17:55:59 -!- Hijiri has joined.
18:09:24 <quintopia> noooo not the early gravy!
18:10:16 <b_jonas> ais523 still not back? pity
18:14:45 -!- sebbu has quit (Ping timeout: 256 seconds).
18:15:26 -!- sebbu has joined.
18:15:26 -!- sebbu has quit (Changing host).
18:15:26 -!- sebbu has joined.
18:16:26 <HackEgo> [wiki] [[Harp]] M http://esolangs.org/w/index.php?diff=42544&oldid=42514 * Rdococ * (+63) /* Interpreter */
18:16:53 <rdococ> hmm
18:17:32 <b_jonas> I think what he said was wrong
18:17:48 <b_jonas> no wait
18:17:55 <b_jonas> it's actually right
18:18:10 <b_jonas> because then there's a one-symbol reduction
18:18:11 <b_jonas> ok great
18:18:16 <b_jonas> no problem then
18:18:21 <b_jonas> whew
18:21:54 <orin> language where every instruction consists of exactly 2 characters
18:22:59 <int-e> ok oK Ok OK O! o! K! k! <-- let's make a variant of "Ook!" ;-)
18:25:21 -!- sebbu has quit (Ping timeout: 245 seconds).
18:27:39 -!- sebbu has joined.
18:27:39 -!- sebbu has quit (Changing host).
18:27:39 -!- sebbu has joined.
18:32:11 -!- oerjan has joined.
18:33:46 <rdococ> language with 0 instructions
18:36:38 -!- sebbu has quit (Ping timeout: 250 seconds).
18:37:22 <oerjan> @messages-
18:37:22 <lambdabot> int-e said 1h 20m 41s ago: are trac notifications still erratic for you as well?
18:37:57 <oerjan> @tell int-e yes.
18:37:57 <lambdabot> Consider it noted.
18:38:36 -!- sebbu has joined.
18:39:25 -!- HackEgo has quit (Remote host closed the connection).
18:40:11 <oerjan> their killing are bots
18:40:33 <int-e> I've heard, but how does this affect their sending emails?
18:40:57 -!- sebbu2 has joined.
18:41:23 <oerjan> no, _are_ bots, lyke HackyGo hth
18:41:33 -!- sebbu2 has quit (Changing host).
18:41:33 -!- sebbu2 has joined.
18:42:19 <oerjan> int-e: i'm guessing it gets so overloaded the email sending process dies, or something?
18:44:00 -!- sebbu has quit (Ping timeout: 250 seconds).
18:44:11 -!- Sprocklem has quit (Ping timeout: 250 seconds).
18:46:48 -!- sebbu2 has changed nick to sebbu.
18:49:51 -!- variable has quit (Ping timeout: 248 seconds).
18:56:15 -!- sebbu has quit (Ping timeout: 248 seconds).
18:57:01 -!- rdococ has quit (Ping timeout: 246 seconds).
18:58:10 -!- sebbu has joined.
18:58:10 -!- sebbu has quit (Changing host).
18:58:10 -!- sebbu has joined.
18:58:54 -!- Hijiri has quit (Quit: WeeChat 1.0.1).
19:00:43 -!- sebbu2 has joined.
19:01:04 <izabera> where is HackEgo? :(
19:01:10 -!- sebbu2 has quit (Changing host).
19:01:10 -!- sebbu2 has joined.
19:03:56 -!- sebbu has quit (Ping timeout: 250 seconds).
19:04:50 -!- j-bot has quit (Remote host closed the connection).
19:05:00 -!- j-bot has joined.
19:09:17 -!- rdococ has joined.
19:09:19 -!- sebbu2 has quit (Ping timeout: 252 seconds).
19:09:20 -!- j-bot has quit (Remote host closed the connection).
19:09:41 -!- j-bot has joined.
19:11:51 -!- j-bot has quit (Remote host closed the connection).
19:12:06 -!- j-bot has joined.
19:14:16 -!- villasukka has joined.
19:19:45 <FireFly> oh no, we're hackegoless
19:20:30 <rdococ> I guess he was https://esolangs.org/wiki/Intolerant !!!
19:20:50 <rdococ> btw that's not my esolang
19:22:08 -!- HackEgo has joined.
19:23:37 -!- hjulle has quit (Read error: Connection reset by peer).
19:24:10 <rdococ> esolangs.org isn't working for me
19:24:39 <oerjan> well the wiki and HackEgo are on the same server.
19:25:07 <oerjan> `echo hi
19:25:26 <oerjan> a crappy one.
19:25:39 <rdococ> so my internet wasn't poor at all
19:26:30 <oerjan> gregor isn't even here
19:26:38 * oerjan pokes fizzie
19:27:54 <oerjan> hm the wiki is sort of trying to load for me
19:27:55 -!- HackEgo has quit (Remote host closed the connection).
19:28:15 <oerjan> i guess it won't.
19:28:23 <oerjan> guessed wrong.
19:28:34 <oerjan> but horribly slow it is.
19:30:02 <oerjan> int-e: lewie e. coyote
19:32:53 <oerjan> ok lewie is remembering the curses, he should have an epiphany soon
19:41:13 -!- hjulle has joined.
19:43:44 -!- Frooxius has joined.
19:46:56 <rdococ> imagine if everything was a function
19:47:24 -!- sebbu has joined.
19:48:00 -!- sebbu has quit (Changing host).
19:48:00 -!- sebbu has joined.
19:49:46 <HackEgo> [wiki] [[User:Rottytooth]] http://esolangs.org/w/index.php?diff=42545&oldid=42243 * Rottytooth * (+13)
19:51:29 <HackEgo> [wiki] [[User:Rdococ]] http://esolangs.org/w/index.php?diff=42546&oldid=42513 * Rdococ * (+52) Hyperspace
19:56:51 -!- orin has quit (Quit: Lost terminal).
19:59:10 -!- sebbu has quit (Ping timeout: 264 seconds).
19:59:39 -!- Sprocklem has joined.
20:00:08 <int-e> Oh right, it's another MWF comic now...
20:02:13 <int-e> (That's Monday Wednesday Friday in case anyone is wondering, and a reply to oerjan.)
20:03:38 -!- PinealGlandOptic has joined.
20:04:47 -!- bb010g has joined.
20:06:22 <oerjan> hopefully it will be regular now
20:09:11 <b_jonas> int-e: ok, but what comic?
20:09:21 <int-e> yafgc
20:09:33 <int-e> The one with Lewie ;-)
20:10:41 -!- TieSoul has quit (Quit: No Ping reply in 210 seconds.).
20:11:37 <HackEgo> [wiki] [[Hyperspace]] N http://esolangs.org/w/index.php?oldid=42547 * Rdococ * (+1122) Created page with "{{stub}} ''And also, it is going to be impossible to draw a diagram to represent a program in this language.'' The '''Hyperspace programming language''' is an unbounded-dimens..."
20:12:08 -!- TieSoul has joined.
20:13:21 <izabera> any http experts here? would i break something if i used the percent encoding for everything?
20:13:38 <b_jonas> int-e: what do you mean by "everything"
20:13:53 <int-e> b_jonas: hey I was going to ask this question
20:13:56 <izabera> also those characters that don't need it
20:14:14 <b_jonas> then it depends
20:14:16 <HackEgo> [wiki] [[Hyperspace]] http://esolangs.org/w/index.php?diff=42548&oldid=42547 * Rdococ * (+208) computational class section
20:14:35 <izabera> on what
20:16:20 -!- sebbu has joined.
20:17:05 <rdococ> hang on, it can't be turing complete
20:17:24 <HackEgo> [wiki] [[Hyperspace]] M http://esolangs.org/w/index.php?diff=42549&oldid=42548 * Rdococ * (+14)
20:17:30 <elliott> izabera: it'll break /, maybe
20:17:39 <elliott> since http://foo/a%2Fb isn't http://foo/a/b
20:17:50 <elliott> since % "escapes" the special syntactic meaning that / has there
20:17:59 <izabera> ok i was thinking about a POST request
20:18:06 <izabera> the content has to be urlencoded
20:18:27 <izabera> thanks for that example
20:18:36 <elliott> that sounds okay, I forget the syntax of POST bodies though
20:18:47 <elliott> is it like URL queries? if so then I think escaping = and & will behave similarly
20:18:56 <izabera> yeah
20:18:57 <elliott> but if it's just "blah=" + overescape(blah) then it should be fine
20:19:04 <elliott> (as in if it's just the one field)
20:19:40 <izabera> what's happening to HackEgo
20:19:56 -!- Tritonio has joined.
20:20:10 <elliott> `echo hi
20:20:21 <elliott> it's having some problems I guess
20:20:49 -!- sebbu has quit (Ping timeout: 250 seconds).
20:21:05 <elliott> it and the wiki are on a http://www.cloudatcost.com/ VPS that cost $35 for the rest of ever so they are unsurprisingly kind of reliable >_>
20:21:09 <elliott> er.
20:21:10 <elliott> *unreliable
20:21:15 <int-e> My CaC (isn't that a great way to abbreviate that provider) server seems to be running fine right now.
20:21:19 <elliott> ...as in $35 one time.
20:21:25 <elliott> not every month.
20:21:37 <int-e> They're weird, a side business of a small Telco.
20:35:28 -!- oren has joined.
20:37:57 -!- Hijiri has joined.
20:38:38 <HackEgo> [wiki] [[Babble]] N http://esolangs.org/w/index.php?oldid=42550 * Rottytooth * (+1465) added Babble
20:40:43 -!- oren has quit (Ping timeout: 264 seconds).
20:42:05 -!- oren has joined.
20:42:13 <HackEgo> [wiki] [[Warp]] N http://esolangs.org/w/index.php?oldid=42551 * Rdococ * (+1399) Created page with "The '''Warp programming language''' is a derivative of [[Harp]], both by [[User:Rdococ]]. == Structure == Warp is much like Harp, with a single instruction which has two argu..."
20:44:24 -!- oerjan has quit (Quit: ZZZZZZ).
20:45:15 <rdococ> unbounded vs infinite: if finite state automata could be infinitely large, they'd be as powerful as turing machines
20:50:33 <rdococ> ugh, forget it, scrap Warp
20:51:18 <rdococ> wait nvm
20:52:18 <HackEgo> [wiki] [[Warp]] M http://esolangs.org/w/index.php?diff=42552&oldid=42551 * Rdococ * (+9)
20:57:17 -!- izabera has changed nick to greybug.
20:58:30 <HackEgo> [wiki] [[User:Rdococ]] http://esolangs.org/w/index.php?diff=42553&oldid=42546 * Rdococ * (+11)
21:02:10 -!- ProofTechnique has quit (Ping timeout: 264 seconds).
21:02:27 -!- variable has joined.
21:02:53 -!- Patashu has joined.
21:08:18 -!- greybug has changed nick to izabera.
21:22:34 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
21:23:06 -!- Sprocklem has quit (Ping timeout: 276 seconds).
21:23:31 -!- Patashu has quit (Ping timeout: 252 seconds).
21:24:26 -!- Phantom_Hoover has joined.
21:30:19 <HackEgo> [wiki] [[Harp]] M http://esolangs.org/w/index.php?diff=42554&oldid=42544 * Rdococ * (+54) /* Interpreter */ modified Lua interpreter
21:31:45 -!- variable has changed nick to function.
21:31:58 <HackEgo> [wiki] [[Harp]] http://esolangs.org/w/index.php?diff=42555&oldid=42554 * Rdococ * (+111) /* Interpreter */
21:32:27 <rdococ> function, can I call you?
21:32:47 <rdococ> with an argument?
21:34:35 <function> rdococ, you can
21:34:40 <function> rdococ, I *will* win though
21:35:32 <rdococ> okay
21:35:36 <rdococ> function(3)
21:35:53 * function executes rodgort
21:35:57 * function executes rdococ
21:36:18 <rdococ> running rdococ...
21:36:30 <rdococ> Hello World!
21:37:13 <rdococ> finished. error code 0
21:37:58 <function> rdococ, :(
21:39:06 <rdococ> I won!
21:41:27 * rdococ kills function's thread
21:41:51 <function> rdococ, um, I am multi-threaded
21:41:56 <function> with respawn features
21:42:00 <function> so I AM STILL ALIVE
21:42:10 <function> worst case I become a zombie and eat brains
21:44:06 <rdococ> you're not a function, are you
21:44:17 <rdococ> why are you called function... why do people call you
21:44:32 <rdococ> get it? function calling?
21:44:43 -!- Sprocklem has joined.
21:46:45 <function> rdococ, you are right. I am actually a mutable constant.
21:48:06 <rdococ> let me set you to 0
21:48:09 <rdococ> function = 0
21:48:28 * function calls himself
21:48:37 * function segfaults rdococ
21:49:51 * rdococ
21:50:41 * rdococ protects against the violation
21:51:05 <izabera> so uhm you know that stupid idea to create a language with the rubik's cubes? to know if a command is valid you need to solve a np complete problem... etc
21:51:14 <rdococ> also, how can someone call 0?
21:52:45 <izabera> well, factorization is np complete... so why not use this? . 1 , 2 [ 3 ] 4 < 5 > 6 + 7 - 8 the input file is a list of numbers
21:52:50 <izabera> space separated or whatever
21:53:06 <izabera> factor each one, if it has 1-8 factors it's a valid command
21:53:11 <izabera> otherwise it's a comment
21:54:22 <izabera> so uhm this is cat: 6 30 2 6 210
21:54:43 <izabera> i say so uhm too often
21:55:24 <FireFly> so uhm don't do that
21:55:28 <izabera> why :(
21:56:01 <FireFly> factorfuck eh
21:56:12 <izabera> nice name ^^
21:57:04 <izabera> or brainfactor o_o
21:57:24 <FireFly> True
21:57:33 <FireFly> That's less profane, too
22:00:07 <izabera> well actually
22:00:15 <izabera> i'm not sure it's np complete
22:00:23 <izabera> it doesn't actually need the factors
22:00:27 <izabera> just how many of them
22:00:32 -!- AnotherTest has quit (Remote host closed the connection).
22:01:50 <elliott> izabera: so that's as hard as breaking RSA with large enough numbers, I guess?
22:02:46 <izabera> well that was the point
22:03:07 <FireFly> Well, with RSA you need to find the actual factors and not just the number of factors, o?
22:03:08 <FireFly> no*
22:03:28 <FireFly> I mean, usually I would guess the number of factors is known to be 2 for RSA
22:04:08 <elliott> okay, fair
22:05:44 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:05:59 -!- ProofTechnique has joined.
22:23:07 -!- Tritonio has quit (Remote host closed the connection).
22:38:21 -!- v^ has joined.
22:39:27 -!- function has quit (Ping timeout: 244 seconds).
22:41:14 -!- ^v has quit (Ping timeout: 265 seconds).
22:42:04 -!- sebbu has joined.
22:46:07 <rdococ> imagine if we interpreted programs like elements of a set
22:46:32 <izabera> done
22:48:21 <rdococ> string S state T = S*(R^N) transition R = S*T program P = T^N
22:49:04 <rdococ> so you'd have set of all strings S, treat it like how you'd treat the set of all integers or rationals or reals, then you can do stuff
22:49:23 <rdococ> or
22:49:28 <izabera> do stuff?
22:49:33 <rdococ> yeah
22:49:44 <rdococ> or, omit transitions from the definition of a state
22:50:15 <rdococ> string S, state T = S, transition R = S*T, program P = (T*R)^N
22:50:36 <rdococ> hmm
22:51:20 <rdococ> a state is a string, a transition is a set containing a string and a state, a program is a set containing sets containing a string and a state
22:52:16 <rdococ> hmm
22:52:53 -!- Froox has joined.
22:53:45 -!- Froo has joined.
22:55:11 <rdococ> a set of all finite state automaton, then, would be ((C^N)*(C*(C^N)))^N, where C is the set of all natural numbers from 0 to 255, N is the set of all natural numbers
22:55:23 <rdococ> if you're using characters instead of strings
22:55:56 -!- v^ has quit (Read error: Connection reset by peer).
22:56:36 <rdococ> or, program P could be a function mapping two numbers to one number
22:56:45 <rdococ> p(x, y) = z
22:56:48 -!- Frooxius has quit (Ping timeout: 256 seconds).
22:56:59 <rdococ> p(input, state) = newState
22:57:20 <rdococ> using my sense of mathematics,
22:58:00 -!- Froox has quit (Ping timeout: 276 seconds).
22:58:30 <rdococ> hmm
22:59:05 <rdococ> then a program could just be a series of derps
22:59:08 <rdococ> A+B=C
22:59:13 <rdococ> B+A=C
22:59:20 <rdococ> or other statements
22:59:24 <rdococ> opened+lock=closed
23:05:06 -!- conehead has quit (Ping timeout: 252 seconds).
23:05:09 -!- variable has joined.
23:05:44 -!- conehead has joined.
23:08:02 <rdococ> oh variable's back!
23:08:06 <rdococ> variable = 3
23:08:26 <variable> rdococ, OH NO
23:08:38 <variable> rdococ, you can't set me the same value more than once
23:08:54 <rdococ> you're already 3?!
23:09:05 <rdococ> function f() return variable end
23:09:08 <rdococ> f()
23:09:29 -!- rdococ has changed nick to object.
23:09:53 <object> hi, I'm a first class object.
23:09:58 -!- object has changed nick to rdococ.
23:11:10 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
23:15:03 -!- staffehn_ has quit (Read error: Connection reset by peer).
23:15:09 -!- staffehn has joined.
23:23:02 <rdococ> I will find a way to manufacture anti-sleep pills so I will never have to sleep again
23:23:18 <izabera> it's called coffee
23:24:02 <rdococ> I wish
23:24:17 <rdococ> wait..
23:24:20 <rdococ> that's it!
23:24:31 <rdococ> I will get my hands on coffee.
23:24:50 <rdococ> nobody can stop me from my internet now!!!
23:27:34 <oren> From personal experience I can tell you instant coffee can be about 5 times as strong as espresso if you put too much powder in.
23:28:06 <izabera> yeah it becomes closer to cocaine than espresso
23:28:19 -!- TieSoul_ has joined.
23:28:34 <oren> espresso is a bit stronger than coffee from a moka pot,and drip coffee is like flavored water
23:30:18 <rdococ> do I have to have coffee?
23:31:03 <oren> ideally, you should use freshly ground coffee beans, ys
23:33:25 -!- yorick_ has joined.
23:33:44 -!- FreeFull_ has joined.
23:36:46 -!- hjulle has quit (Ping timeout: 250 seconds).
23:36:46 -!- FreeFull has quit (Ping timeout: 250 seconds).
23:36:54 -!- yorick has quit (Ping timeout: 250 seconds).
23:36:54 -!- gniourf has quit (Ping timeout: 250 seconds).
23:37:04 -!- hjulle has joined.
23:37:34 -!- TieSoul_ has quit (Read error: Connection reset by peer).
23:37:36 -!- gniourf has joined.
23:37:44 -!- TieSoul has quit (Ping timeout: 248 seconds).
23:37:44 -!- fractal has quit (Ping timeout: 248 seconds).
23:37:53 -!- TieSoul has joined.
23:44:01 -!- Sprocklem has quit (Ping timeout: 255 seconds).
23:46:13 -!- fractal has joined.
23:56:29 -!- vodkode_ has quit (Remote host closed the connection).
←2015-04-14 2015-04-15 2015-04-16→ ↑2015 ↑all