00:00:10 <HackEgo> esolanginterptemp-ciol- \ termwrapperOut
00:00:14 <hppavilion[1]> So, for example, Generational Haskell comes from transplanting generators (semicoroutines) (something similar to functions) into Haskell (which is purely-functional)
00:00:40 <int-e> hppavilion[1]: WHAT?!
00:00:52 <HackEgo> moon_ moon_ moon_ moon_ moon_ moon_ moon_ moon_ moon_ moon_ moon_ moon_ moon_
00:00:56 <shachaf> oerjan: what, not even a swat?
00:01:01 <hppavilion[1]> (Hm, I just realized that HackEgo responses will still come through when used by someone you've blocked)
00:01:13 <int-e> hppavilion[1]: why would you extend a language by something the language can already express fairly well...
00:01:32 <oerjan> shachaf: i could make no sense of it.
00:01:34 <hppavilion[1]> int-e: Also, you can generalize the transplanted change into something new
00:02:18 <shachaf> oerjan: i guess it applies to my own puns too in that case
00:02:18 <hppavilion[1]> int-e: For example, a generator in Haskell- by my understanding- would be like a function together with a queue. When the generator is called, its return values (plural) are enqueued- in order- into the queue
00:02:32 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,...
00:02:47 <hppavilion[1]> Then the head of the queue is popped and returned to the caller
00:02:55 <shachaf> hppavilion[1]: Usually people just use a list.
00:03:01 <hppavilion[1]> int-e: I may be misunderstanding generators, though I think that's an iterator
00:03:14 <shachaf> Maybe you should learn Haskell.
00:03:59 <shachaf> oerjan: you're not just going to let that pun slide off the screen are you
00:04:24 <int-e> > unfoldr (\x -> Just (x, x+3)) 2
00:04:25 <lambdabot> [2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,...
00:04:46 <int-e> there, have some "internal state"
00:05:04 <shachaf> int-e: what if i want side effects hth
00:05:28 <int-e> shachaf: then Haskell isn't for you... or you are in iteratee territory.
00:05:31 <shachaf> oerjan: the one you didn't make sense of
00:06:01 <oerjan> my #esoteric window is only 80 x 21, anyway.
00:06:03 <int-e> though perhaps on this channel I should just suggest inlinePerformIO
00:06:32 <hppavilion[1]> <shachaf> oerjan: your puns are typically about one sixth of triassic hth
00:06:48 <int-e> ... I was going to say it should be 80x24 ... but yeah. 80x21 makes sense.
00:06:51 <oerjan> it had slid off before you even started complaining
00:07:13 <oerjan> int-e: it's sharing vertical space with ##nomic.
00:07:25 <int-e> oerjan: okay. didn't expect that.
00:07:40 <int-e> oerjan: I expected a 24 lines (standard) xterm with irssi :P
00:07:41 <oerjan> (which only gets 12 lines, being usually silent.)
00:08:07 <int-e> (-title -status -input)
00:08:15 <oerjan> int-e: it's a max height window but a rather large font.
00:08:35 <int-e> hppavilion[1]: you're making assumptions
00:08:39 <oerjan> and a rather not tall laptop screen
00:08:50 <oerjan> hppavilion[1]: irssi inside tmux
00:09:00 <oerjan> but tmux only takes one line
00:09:27 <fizzie> It's like screen, only different.
00:09:55 <moon_> ` mk quines/ciol// +jrR+RjRr+++++[-p++++P]p_J----[-P+++p]P-oRJ*done;J
00:10:01 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
00:10:03 <shachaf> oerjan: the pun is "halfassic" hth
00:10:09 <moon_> ` mk quines/ciol//+jrR+RjRr+++++[-p++++P]p_J----[-P+++p]P-oRJ*done;J
00:10:10 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
00:10:17 <moon_> `mk quines/ciol//+jrR+RjRr+++++[-p++++P]p_J----[-P+++p]P-oRJ*done;J
00:10:21 <oerjan> hppavilion[1]: when i tried screen it had trouble with unicode and someone suggested tmux was better
00:10:35 <HackEgo> +jrR+RjRr+++++[-p++++P]p_J----[-P+++p]P-oRJ*done;J
00:10:37 <shachaf> tmux has trouble with unicode too
00:11:24 <fizzie> AIUI, screen has a long history of having trouble with Unicode going beyond the BMP. (Is that over now?)
00:11:33 <shachaf> fizzie: I don't think that's over.
00:11:43 <HackEgo> [U+4EA8 CJK UNIFIED IDEOGRAPH-4EA8]
00:11:44 <shachaf> Last I heard they still didn't support four-byte UTF-8 sequences.
00:12:05 <fizzie> I never know whether to blame screen or something else when that doesn't work.
00:12:10 <zzo38> I am making the UTCE specification more now; I am now writing the part about the Infocom character graphics set.
00:12:14 <HackEgo> cat "$(find evil -type f | shuf -n1)" | tr '[:lower:]' '[:upper:]'
00:12:33 <shachaf> My complaint is that I have one tmux session that has two or three clients connected to it at the same time.
00:12:44 <shachaf> I'm only using one of those clients at a time, but I don't want to disconnect the others.
00:12:48 <moon_> scuse me, please dont interupt meat the sec
00:13:03 <shachaf> But tmux always chooses the smallest one for the size of the terminal.
00:13:21 <HackEgo> substructural typing/Not to be confused with structural subtyping.
00:13:30 <moon_> i forgot about that
00:13:33 <shachaf> `rm wisdom/substructural typing
00:13:36 <HackEgo> rm: cannot remove `advice': Is a directory
00:13:58 <moon_> hppavilion[1]: `wisdom
00:14:17 <fizzie> I got hung up on the concept of interrupt meat.
00:14:22 <int-e> `` rm canary; list
00:14:39 <fizzie> No, no, meat was better.
00:14:39 <HackEgo> hppavilion[1] Phantom_Hoover int-e b_jonas boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname
00:14:49 <hppavilion[1]> moon_: To be fair, `wisdom is more definitions whereas `advice could be stuff to do
00:14:51 <int-e> still no new entries.
00:15:16 <HackEgo> mkdir: cannot create directory `advice': File exists
00:15:26 <moon_> lol but you approved
00:15:59 <moon_> who thinks we could have `advice?
00:16:16 <hppavilion[1]> moon_: I'm not qualified to approve because I love new `s
00:16:21 <fizzie> Could and should are two very different things.
00:16:27 <HackEgo> 1:5/And fungot called the cloud internet, and the hard drive *n?x. And the DNS and the server were upon the first day.
00:16:35 <shachaf> I think HackEgo could and shouldn't have `advice as proposed.
00:16:40 <HackEgo> 1:2/And #esoteric was without denizens, and empty; and the order was on the face of the PDP-8. And the software of fungot moved upon the face of the scrollback.
00:17:09 <HackEgo> F="$(find wisdom -name "*$(echo "$1" | lowercase)*" -type f | shuf -n1)"; echo -n "${F#wisdom/}/" | rnooodl; cat "$F" | rnooodl
00:17:17 <moon_> so, make it or not
00:17:45 <shachaf> `` sed -i 's#/"#//"#' bin/wisdom
00:17:55 <shachaf> If you didn't do anything shachaf vetoed, you wouldn't have a lot of fun.
00:18:03 <shachaf> It comes with being a demisaur.
00:18:03 <hppavilion[1]> moon_: The only person here with higher authority than shachaf is fungot iirc
00:18:04 <fungot> hppavilion[1]: but are the problems only when connecting?' the closest thing to this we have in scheme, but can't
00:18:27 <zzo38> Now the document of UTCE assigns the codes for all DEC Technical characters and all Infocom character graphics, as well as VT100 character graphics, PC character set, Russian alphabets, Apple MouseText, and partially single-wide katakana.
00:19:00 <oerjan> <hppavilion[1]> oerjan: Why is it not tabbed? <-- there are other windows not shown
00:19:04 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
00:19:09 <fungot> Selected style: enron (subset of the Enron email dataset)
00:19:20 <shachaf> fungot: looking for a good accountant, can you help
00:19:21 <fungot> shachaf: market short to them to you on the same as you guys...darlens should probably be march 31 and enron employees on the list that we found the right formula that would not have a second.
00:19:39 <fizzie> That thing didn't turn out none too good.
00:19:40 <zzo38> I also have to add PETSCII.
00:20:00 <HackEgo> moon_ gamemanj oerjan oerjan elliott oerjan ais523 ais523 FreeFull shachaf shachaf shachaf
00:21:03 <moon_> fungot: hat do you think of the idea of 'advice
00:21:03 <fungot> moon_: second, we respect the minimum the commission ( " commission"
00:21:12 <int-e> . o O ( mk evil/101//Smile at a stranger. )
00:22:00 <oerjan> moon_: stop making arbitrary top level directories in HackEgo.
00:22:23 -!- hppavilion[1] has set topic: The international hub of solid matrices | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | http://esolangs.org/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf | Note: people with cloaks will be treated as if they're from Istanbul (not Konstantiniyye (not Constantinopolis/Constantinople (not Byzantium (not Byzantion)))).
00:22:54 <oerjan> <shachaf> `rm wisdom/substructural typing <-- WHAT
00:23:15 <shachaf> `` hg log wisdom/substructural\ typing | grep summary?
00:23:21 <shachaf> `` hg log wisdom/substructural\ typing | grep summary:
00:23:26 <HackEgo> summary: <shachaf> >wisdom/\'substructural typing\' echo Not to be confused with structural subtyping.
00:23:44 <shachaf> oerjan: if you think it should exist feel free to readd it hth
00:24:17 <hppavilion[1]> oerjan: Personally, I don't think `wisdom should have "not to be confused with"s that aren't followed by a body
00:24:23 <HackEgo> Not to be confused with substructural typing.
00:26:57 <fizzie> shachaf: I keep trying to type Dremel into a PostgreSQL client at home.
00:27:22 <shachaf> fizzie: I wish I could use Dremel. :-(
00:28:29 <fizzie> http://sprunge.us/OUMI <- a rough approximation of the top-50 most referred wisdom entries, in case you want to know what definitely needs keeping.
00:29:15 <shachaf> Wait, why am I so high up?
00:29:24 <fizzie> People are dying to know things about you.
00:29:55 <shachaf> `? misspellings of crosant
00:29:56 <HackEgo> misspellings of crosant? ¯\(°_o)/¯
00:30:01 <zzo38> Keep everyone unless you run out
00:30:08 <HackEgo> the Toe of Harriness's Enclosure
00:30:09 <int-e> `` cd wisdom; echo *con*
00:30:20 <HackEgo> context is a word with many meanings, depending on where it is used.
00:30:27 <int-e> `? conspirabiology
00:30:28 <HackEgo> conspirabiology is where moth colourings form a dot matrix display to send you subliminal messages.
00:31:13 <fizzie> shachaf: FWIW, the person with the most `? shachafs is shachaf. (With a count of 27, a sizeable margin from oerjan's 7.)
00:31:52 <moon_> http://i.stack.imgur.com/uYqPi.png found this while surfing
00:37:15 <int-e> `` perl -e "print \"not arguing with that \"x22"
00:37:17 <HackEgo> not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with that not arguing with tha
00:37:38 <lambdabot> Axman6 says: Haskell is easy, you just apply functions to arguments, and then you apply them to other arguments. Axman6's girlfriend: I don't like conflict
00:37:44 <lambdabot> mike-burns says: Oh good, a semantic argument. Goodnight.
00:37:46 <oerjan> int-e: you don't need `` for perl -e hth
00:37:50 <lambdabot> ghc says: Illegal unlifted type argument
00:37:51 <lambdabot> Jafet says: unsafeCoerce takes any argument. AND IT WINS THAT ARGUMENT.
00:37:51 <lambdabot> ghc says: On Alpha, I can only handle 4 non-floating-point arguments to foreign export dynamic
00:38:54 <HackEgo> Can't open perl script "print 1": No such file or directory
00:39:06 <int-e> perl's just too magical.
00:40:35 <int-e> . o O ( dwim/ITYM gwim, guess what I mean. )
00:41:05 <HackEgo> File "<string>", line 1 \ print(1) \ ^ \ IndentationError: unexpected indent
00:41:28 <oerjan> `` python -c 'print(1)'
00:42:01 <zzo38> There is room for additional non-JIS double-wide characters in UTCE, since banks 0xA0 and 0xFF are not used.
00:42:47 <zzo38> Also character codes 0x80 to 0xA0 and character code 0xFF are not used within any double-wide bank so far.
00:42:56 <HackEgo> zzo38 is not actually the next version of fungot, much as it may seem.
00:44:01 <moon_> best 404 error page ever: odu.org/
00:44:12 <moon_> *https://www-s.acm.illinois.edu/siggraph/eoh_projects/eoh2002.html
00:45:19 <oerjan> @tell boily <boily> Moon_: Mhelloon_. what with the snail cannon? <-- i refused to let em use the swatter, so e had to shell out for a personal weapon
00:45:49 <fizzie> That's a really old 404 joke, I really don't think acm.illinois.edu is where it originated.
00:45:59 <oerjan> that line feels so empty without a hth
00:46:27 <shachaf> is hth your personal weapon
00:46:50 <FireFly> and does it have some documentation?
00:46:54 <oerjan> shachaf: didn't you use it first
00:47:15 <shachaf> i think i got hth from you
00:47:44 <fizzie> http://motherboard.vice.com/read/probably-the-most-uncanny-404-page "Cole Gleason, chair of ACM@UIUC, tells me that the 404 page dates back at least to 2003. It's not known who wrote it initially." that's a good internet archeology spelunking expedition subject for someone.
00:47:45 <zzo38> FireFly: This document http://zzo38computer.org/textfile/miscellaneous/utce but it is incomplete
00:48:04 <shachaf> FireFly: maybe you should go work with fizzie
00:48:11 <lambdabot> Local time for fizzie is Wed May 4 00:48:10 2016
00:48:41 <oerjan> fizzie: hi shachaf and i can't agree who used hth first twh
00:48:47 -!- Warrigal has changed nick to tswett.
00:50:59 <int-e> at least 2001: http://msgboard.snopes.com/cgi-bin/ultimatebb.cgi?ubb=print_topic;f=103;t=000053
00:51:12 <fizzie> oerjan: Well, I mean, my logs aren't any sort of authoritative source, but at least based on a rough search, the first #esoteric occurrence would be 2008-04-22 10:37:29 <fizzie> ITYM "olkoslept" HTH HAND.
00:51:38 <oerjan> shachaf: well surprise out of left field, there
00:52:03 <shachaf> oerjan: i might still have gotten it from you
00:52:03 <oerjan> fizzie: also itym "okloslept"
00:52:17 <int-e> (pretty sure that www.scintilla.utwente.nl site is where I saw it first)
00:52:26 <shachaf> oerjan: some people think "olkoslept" is correct
00:52:32 <shachaf> we should hold an oklopoll
00:53:02 <fizzie> oerjan: The second occurrence in my logs is 2008-08-10 12:32:42 <fizzie> Mostly used in the construction "ITYM 'foo' HTH HAND". -- I think I was explaining something -- and then a gap of almost two years, followed by four <oerjan> comments in 2010 that use the now-familiar lowercase end-of-sentence hth.
00:53:38 <shachaf> four <oerjan> comments in 2010 that use the now-familiar lowercase end-of-sentence?
00:53:58 <oerjan> shachaf: try putting "<oerjan>" in quotes
00:54:08 <shachaf> the now-familiar lowercase end-of-sentence what?
00:54:16 <fizzie> Try putting the hth in quotes too hth
00:54:32 * oerjan swats shachaf -----###
00:54:53 <fizzie> (The shachaf hth use starts from 2012-11-20 onwards.)
00:55:07 <shachaf> elliott got mad at me for using hth in #haskell and elsewhere
00:55:26 <shachaf> also elliott probably got mad at me for other things
00:57:56 <FireFly> can we get a plot of hth over time too?
00:58:04 <fizzie> I think I've done that.
00:59:01 <fizzie> I will attempt to get some sort of a sketch, assuming I can recall what the PostgreSQLese is for strftime_usec.
01:00:59 <fizzie> FireFly: http://sprunge.us/XhiZ there's some per-month counts.
01:02:37 <int-e> `` grep mad wisdom/elliott
01:03:45 <FireFly> http://xen.firefly.nu/up/2016-05-04_020336.png hm
01:03:50 <int-e> so it's a summer thing... buzzing mosquitos, chirping cicadas, hthing people
01:04:22 <int-e> (I was looking at 2013)
01:04:46 <fizzie> "It was the summer of '13", like the song goes.
01:05:15 <FireFly> zzo38: interesting encoding
01:06:45 <oerjan> <shachaf> `olist 1035 <-- huh i was thinking the sound might do that but not that it might _help_ them.
01:07:47 <shachaf> oerjan: I don't think that's a sound. I would guess that it's just a lake.
01:08:55 * oerjan hits shachaf with the saucepan ===\__/
01:09:49 <moon_> `mk bin/ciolf//file=$1 data=$(cat "$file") sh -c "ciol $data"
01:10:07 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/ciolf: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/ciolf: cannot execute: Permission denied
01:10:14 <moon_> `mkx bin/ciolf//file=$1 data=$(cat "$file") sh -c "ciol $data"
01:10:22 <HackEgo> cat: quine/ciol: Not a directory \ Segmentation fault
01:10:48 <HackEgo> ^ \ :-( \ !\.´ \ 71ab5gx8 \ 99 \ 99bb \ advice \ bdsmreclist \ bin \ canary \ cat \ cdescs \ Complaints.mp3 \ :-D \ daoyu.c \ dog \ emoticons \ equations \ esobible \ etc \ Eternity \ evil \ factor \ foo \ good \ hia \ hw \ ibin \ interps \ karma \ le \ lib \ ls_dev \ marsha \ misle \ paste \ ply-3.8 \ quine \ quines \ quotes \ ReUariBw \ share
01:11:03 <moon_> `ciolf quines/ciol
01:12:15 <oerjan> `mkx bin/ciolf//ciol "$(cat "$1")"
01:12:27 <HackEgo> +jrR+RjRr+++++[-p++++P]p_J----[-P+++p]P-oRJ*done;J
01:14:00 <HackEgo> brainfuck.fu \ egobot.tar.xz \ emmental.hs \ factor-linux-x86-64-0.95.tar.gz \ fizziecoin.jpg \ fueue.c \ grph.c \ ploki \ ploki-0.6.5.1.tar.bz2 \ u8tbl.c \ ul.emm
01:14:44 -!- Phantom_Hoover has joined.
01:14:54 <moon_> `mk src/ciol/helloworld.ciol//rHello, World!;
01:15:08 <moon_> `ciolf src/ciol/helloworld.ciol
01:16:06 <moon_> `mkx bin/bff//bf "$(cat "$1")"
01:16:17 <oerjan> iirc there's an even shorter way than using cat but i always get confused about it.
01:16:26 <moon_> `bff src/brainfuck.fu
01:17:08 <moon_> `` echo efzdfcvfdesfzds | bff src/brainfuck.fu
01:17:15 <oerjan> shachaf: no, it needs to be an argument...
01:17:43 <shachaf> I don't remember the exact syntax.
01:17:47 <shachaf> `` echo "$(< wisdom/oerjan)"
01:17:50 <oerjan> moon_: that's not a brainfuck program but a brainfuck interpreter in fueue
01:17:53 <HackEgo> Your infamous mysterious evil cackling overlord oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who mildly dislikes Roald Dahl. He can never remember the word "amortized" so he put it here for convenience. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
01:18:23 <moon_> src needs some organization
01:18:39 <shachaf> Why would you organize by language?
01:18:44 <oerjan> moon_: it wasn't big enough for that.
01:19:47 <moon_> a file based command for bf and ciol is basically a good thing
01:21:03 <moon_> shachaf: what do you think?
01:21:31 <moon_> about ciolf and bff
01:21:40 <moon_> the file based scripts for ciol and bf
01:22:35 <moon_> `ciolf src/ciol/helloworld.ciol
01:23:29 <HackEgo> ` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ?? \ ¿ \ ' \ @ \ * \ ؟ \ \ \ \ 1492 \ 2014 \ 2015 \ 2016 \ 2017 \ 5quote \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ aglist \ allquotes \ analogy \ anonlog \ append \ arienvenido \ as86 \ aseen \ asm \ autowelcome \ bardsworthlist \ before \ benvenuto \ bf \ bff \ bienvenido \ bienvenue \ blessyou \ bookof
01:24:32 <oerjan> the problem is that's not very modular :(
01:25:03 <oerjan> also i'm not sure it didn't already exist somewhere. HackEgo has a lot of cruft.
01:25:23 <moon_> not very modular ho
01:25:36 <oerjan> moon_: making a new command for every old one.
01:26:40 <moon_> gfd`mkx bin/genf//$2 "$(cat "$1")" something that would ork like this (altho this is invalid, think about the $2) would work for that
01:26:53 <FireFly> shachaf: huh. is that <filename behaviour POSIX, or just a bash extension?
01:27:08 <oerjan> there's also the whole interps/ stuff which also contains brainfuck interpreters, although not that easily used on a filename iirc
01:27:52 <oerjan> (interps/ basically is a half-assed port of half of EgoBot's features)
01:28:10 <FireFly> oerjan: I don't understand the 'new command' point
01:28:11 <fizzie> I'm sure it's at least 2.25 asses.
01:28:36 <moon_> you-can-only-run-this-once is not needed
01:28:41 <moon_> it deleted bin's content
01:28:46 <moon_> `rm bin/you-can-only-run-this-once
01:28:50 <oerjan> FireFly: making both ciolf and bff to add the same feature to ciol and bf
01:29:16 <FireFly> right, a f command that wraps the functionality would be more useful
01:29:17 <oerjan> `culprits bin/you-can-only-run-this-once
01:29:23 <HackEgo> moon_ tswett tswett tswett
01:29:39 <moon_> http://codu.org/projects/hackbot/fshg/index.cgi/file/2b92018dd204/bin/you-can-only-run-this-once
01:30:13 <moon_> why dont e make one then firefly?
01:30:40 <FireFly> I'd probably get it wrong anyway
01:31:07 <oerjan> i'm mostly wondering what to call it.
01:31:24 <moon_> oer, you need to get onto tswett for that one :P
01:32:44 <tswett> So what are we getting on about?
01:32:50 <hppavilion[1]> moon_: I think e is supposed to be used as a third person pronoun
01:33:01 <moon_> [20:29] <oerjan> `culprits bin/you-can-only-run-this-once [20:29] <HackEgo> moon_ tswett tswett tswett [20:29] <moon_> http://codu.org/projects/hackbot/fshg/index.cgi/file/2b92018dd204/bin/you-can-only-run-this-once
01:33:12 <FireFly> matches the C file convention
01:33:14 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: you-can-only-run-this-once: not found
01:33:28 <moon_> e dont need you wiping the bin folder
01:33:44 <oerjan> and then the question of whether it should work as `f or `` f
01:33:59 <tswett> `run cat '#!/bin/rm' > bin/you-can-only-run-this-once; chmod +x you-can-only-run-this-once
01:34:03 <HackEgo> cat: #!/bin/rm: No such file or directory \ chmod: cannot access `you-can-only-run-this-once': No such file or directory
01:34:17 <tswett> `run echo '#!/bin/rm' > bin/you-can-only-run-this-once; chmod +x you-can-only-run-this-once
01:34:20 <HackEgo> chmod: cannot access `you-can-only-run-this-once': No such file or directory
01:34:30 <tswett> `run chmod +x bin/you-can-only-run-this-once
01:34:34 <tswett> hppavilion[1]: try it now!
01:34:40 <oerjan> tswett isn't up to date on the latest `mkx developments
01:34:43 <HackEgo> ^ \ :-( \ !\.´ \ 71ab5gx8 \ 99 \ 99bb \ advice \ bdsmreclist \ bin \ canary \ cat \ cdescs \ Complaints.mp3 \ :-D \ daoyu.c \ dog \ emoticons \ equations \ esobible \ etc \ Eternity \ evil \ factor \ foo \ good \ hia \ hw \ ibin \ interps \ karma \ le \ lib \ ls_dev \ marsha \ misle \ paste \ ply-3.8 \ quine \ quines \ quotes \ ReUariBw \ share
01:34:49 <HackEgo> ` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ?? \ ¿ \ ' \ @ \ * \ ؟ \ \ \ \ 1492 \ 2014 \ 2015 \ 2016 \ 2017 \ 5quote \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ aglist \ allquotes \ analogy \ anonlog \ append \ arienvenido \ as86 \ aseen \ asm \ autowelcome \ bardsworthlist \ before \ benvenuto \ bf \ bff \ bienvenido \ bienvenue \ blessyou \ bookof
01:34:49 <tswett> hppavilion[1]: and again!
01:34:59 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: you-can-only-run-this-once: not found
01:35:00 <moon_> bin was deleted -.-
01:35:14 <HackEgo> monad//Monads are just monoids in the category of endofunctors.
01:35:16 <tswett> moon_: you mean... bin/bin?
01:35:24 <hppavilion[1]> tswett: A better challenge is you-can-only-run-this-twice
01:35:30 <HackEgo> ls: cannot access bin bin: No such file or directory
01:35:35 <tswett> hppavilion[1]: that's an interesting one.
01:35:37 <HackEgo> ls: cannot access bin/bin: No such file or directory
01:35:41 <HackEgo> ` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ?? \ ¿ \ ' \ @ \ * \ ؟ \ \ \ \ 1492 \ 2014 \ 2015 \ 2016 \ 2017 \ 5quote \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ aglist \ allquotes \ analogy \ anonlog \ append \ arienvenido \ as86 \ aseen \ asm \ autowelcome \ bardsworthlist \ before \ benvenuto \ bf \ bff \ bienvenido \ bienvenue \ blessyou \ bookof
01:35:42 <fizzie> "Run file if it exists, otherwise interpret as code" is a heuristic that rarely goes wrong. And doesn't need extra commands. Maybe with a disambiguation -e argument for those rare cases.
01:35:45 <hppavilion[1]> tswett: After that, make you-can-only-run-this-pice
01:36:13 <moon_> oh god quantum uncertainity has arrived
01:36:31 <moon_> pi times would need a quantum cpu
01:36:42 <hppavilion[1]> tswett: 3 times definitely, then the remaining 0.14159... times are left up to implementation
01:36:57 <hppavilion[1]> tswett: The winner is determined by awesomeness of implementation behavior
01:37:12 <HackEgo> #!/bin/sh \ if [ $(date +%Y) != "$(basename "$0")" ] \ then echo "Hello, world!" \ fi
01:37:37 <HackEgo> ls: invalid option -- ' ' \ Try `ls --help' for more information.
01:37:46 <HackEgo> -rwxr-xr-x 1 5000 0 80 Jan 1 00:05 bin/1492 \ -rwxr-xr-x 1 5000 0 79 Dec 9 04:12 bin/2014 \ -rwxr-xr-x 1 5000 0 80 Dec 31 20:32 bin/2015 \ -rwxr-xr-x 1 5000 0 79 Jan 1 18:00 bin/2016 \ -rwxr-xr-x 1 5000 0 79 Jan 1 18:00 bin/2017
01:38:18 <moon_> `ciolf src/ciol/helloworld.ciol
01:38:23 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: main: not found
01:38:38 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: maim: not found
01:38:38 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: maim: not found
01:39:06 <moon_> `mk bin/maim// echo $1 has been badly maimed!
01:39:11 <moon_> `maim hppavilion[1]
01:39:13 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/maim: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/maim: cannot execute: Permission denied
01:39:20 <moon_> `mkx bin/maim// echo $1 has been badly maimed!
01:39:24 <moon_> `maim hppavilion[1]
01:39:25 <HackEgo> hppavilion[1] has been badly maimed!
01:39:40 <HackEgo> #!/bin/sh \ shuf -n 1 share/8ballreplies
01:40:55 <hppavilion[1]> `mkx bin/maim//shuf -n 1 share/maimery | sed "s/\$target/$1"
01:41:06 <hppavilion[1]> `mkx bin/maim//shuf -n 1 jnk/maimery | sed "s/\$target/$1"
01:41:13 <moon_> `mkx bin/uristfail//echo urist was killed in a goblin seige attempting to retreive a spare sock #temportary
01:41:21 <oerjan> hppavilion[1]: no jnk/
01:41:31 <hppavilion[1]> `mkx bin/maim//shuf -n 1 share/maimery | sed "s/\$target/$1"
01:41:35 -!- tswett_ has joined.
01:41:37 <HackEgo> urist was killed in a goblin seige attempting to retreive a spare sock
01:41:41 -!- jaboja has quit (Ping timeout: 276 seconds).
01:41:52 <HackEgo> sed: -e expression #1, char 16: unterminated `s' command
01:41:53 <tswett_> `echo <CTCP>ACTION does something<CTCP>
01:42:00 <hppavilion[1]> `mkx bin/maim//shuf -n 1 share/maimery | sed "s/\$target/$1/"
01:42:05 <tswett> Well, that didn't work.
01:42:07 <HackEgo> oerjan has been badly maimed!
01:42:55 <moon_> make a command to add new maimery hppavilion[1]
01:43:02 <HackEgo> U+0001 <control> \ UTF-8: 01 UTF-16BE: 0001 Decimal:  \ . \ Category: Cc (Other, Control) \ Bidi: BN (Boundary Neutral)
01:43:07 * oerjan chants I BEFORE E at moon_
01:43:29 <fizzie> `f ciol src/ciol/helloworld.ciol
01:43:31 <fizzie> It's the minimum viable implementation of 'f', but it's there.
01:44:17 <moon_> fizzie: ${1%% *} "$(< ${1#* })" wtf does that mean?!
01:44:28 <oerjan> <tswett> Well, that didn't work. <-- yeah ACTIONs were disabled when HackEgo added botloop protection.
01:45:05 <HackEgo> /hackenv/bin/f: line 1: ${1#* }: ambiguous redirect
01:45:29 <moon_> `f ciol src/ciol/helloworld.ciol
01:45:40 <HackEgo> /hackenv/bin/f: line 1: ciol: No such file or directory
01:45:44 <HackEgo> HackEgo has been badly maimed!
01:45:51 <HackEgo> Now where did I leave my jumper cables...
01:46:11 <HackEgo> /hackenv/bin/append: line 1: : No such file or directory
01:46:18 <moon_> anything similar to append?
01:46:33 -!- tswett_ has quit (Ping timeout: 240 seconds).
01:46:34 <fizzie> I did say it was the minimum viable. Don't expect it to do anything reasonable if you don't actually give it both a command and a file.
01:48:28 <moon_> `maim hppavilion[1]
01:48:29 <HackEgo> hppavilion[1] has been badly maimed!
01:48:31 <fizzie> And ${1%% *} "$(< ${1#* })" just maps `f foo bar -> foo "$(< bar)"
01:48:32 <moon_> `maim hppavilion[1]
01:48:35 <moon_> `maim hppavilion[1]
01:48:38 <moon_> `maim hppavilion[1]
01:48:39 <HackEgo> Now where did I leave my jumper cables...
01:48:40 <moon_> `maim hppavilion[1]
01:48:43 <moon_> `maim hppavilion[1]
01:48:46 <moon_> `maim hppavilion[1]
01:48:47 <HackEgo> hppavilion[1] has been badly maimed!
01:48:49 <moon_> `maim hppavilion[1]
01:48:49 <HackEgo> *grumbles something about a broken hacksaw*
01:48:53 <moon_> `maim hppavilion[1]
01:49:01 <HackEgo> just lost an arm! \ just lost an leg! \ just got fried by jumpercables! \ just melted off their fingers! \ just froze off their fingers!
01:49:06 <HackEgo> *grumbles something about a broken hacksaw*
01:49:14 <HackEgo> test has been badly maimed!
01:49:26 <oerjan> hppavilion[1]: might want to chop off final spaces
01:49:47 <oerjan> some other commands had trouble with that and tab expanding nicks
01:50:12 <HackEgo> $target has been badly maimed! \ *draws their sword* \ I'll get the bears \ *sigh* \ Now where did I leave my jumper cables... \ *grumbles something about a broken hacksaw* \ just lost an arm! \ just lost an arm! just lost an leg! just got fried by jumpercables! just melted off their fingers! just froze off their fingers! \ just lost an leg!
01:51:01 <HackEgo> $target has been badly maimed! \ \ *draws their sword* \ I'll get the bears \ *sigh* \ Now where did I leave my jumper cables... \ *grumbles something about a broken hacksaw* \ just lost an arm! \ \ just lost an arm! \ just lost an leg! just got fried by jumpercables! just melted off their fingers! just froze off their fingers! \ just lost an
01:51:14 <HackEgo> just got fried by jumpercables!
01:51:27 <moon_> i put $target before that
01:51:33 <HackEgo> sed: -e expression #1, char 15: unterminated `s' command
01:51:44 <HackEgo> $target has been badly maimed! \ \ *draws their sword* \ I'll get the bears \ *sigh* \ Now where did I leave my jumper cables... \ *grumbles something about a broken hacksaw* \ just lost an arm! \ \ just lost an arm! \ just lost an leg! just got fried by jumpercables! just melted off their fingers! just froze off their fingers! \ just lost an
01:51:58 <oerjan> `` sed -i '7,$s/^ */$target /' share/maimery
01:52:19 <oerjan> hppavilion[1]: except what you did first broke it
01:52:36 <HackEgo> oerjan has been badly maimed!
01:52:40 <oerjan> maybe it was already done
01:52:55 <oerjan> hppavilion[1]: as i said, make it strip final space
01:53:09 <HackEgo> hppavilion[1] just melted off their fingers!
01:53:41 <HackEgo> hppavilion[1] just melted off their fingers!
01:53:44 <HackEgo> hppavilion[1] just melted off their fingers!
01:53:53 <HackEgo> $target has been badly maimed! \ \ *draws their sword* \ I'll get the bears \ *sigh* \ Now where did I leave my jumper cables... \ $target *grumbles something about a broken hacksaw* \ $target just lost an arm! \ $target \ $target just lost an arm! \ $target just lost an leg! just got fried by jumpercables! just melted off their fingers! just
01:54:16 <HackEgo> \ $target has been badly maimed! \ \ \ \ *draws their sword* \ \ I'll get the bears \ \ *sigh* \ \ Now where did I leave my jumper cables... \ \ $target *grumbles something about a broken hacksaw* \ \ $target just lost an arm! \ \ $target \ \ $target just lost an arm! \ \ $target just lost an leg! just got fried by jumpercables! jus
01:54:43 <oerjan> hppavilion[1]: oh i see the problem. echo `cat bin/maimery` rejoins the lines in bin/maimery with spaces before echoing them. you wanted just cat.
01:55:05 <moon_> https://catmacros.files.wordpress.com/2009/07/cat-halp-1-1.jpg
02:00:02 <oerjan> also this became a _lot_ harder to fix because you kept (including moon_) kept using HackEgo after the error happened.
02:00:55 <oerjan> let me see. i think a temporary file is in order.
02:01:01 <HackEgo> \ $target has been badly maimed! \ \ \ \ *draws their sword* \ \ I'll get the bears \ \ *sigh* \ \ Now where did I leave my jumper cables... \ \ $target *grumbles something about a broken hacksaw* \ \ $target just lost an arm! \ \ $target \ \ $target just lost an arm! \ \ $target just lost an leg! just got fried by jumpercables! jus
02:02:02 <oerjan> `` grep . share/maimery >/tmp/1; mv /tmp/1 share/maimery
02:02:09 <HackEgo> $target has been badly maimed! \ *draws their sword* \ I'll get the bears \ *sigh* \ Now where did I leave my jumper cables... \ $target *grumbles something about a broken hacksaw* \ $target just lost an arm! \ $target \ $target just lost an arm! \ $target just lost an leg! just got fried by jumpercables! just melted off their fingers! just fro
02:02:38 -!- moon_ has quit (Ping timeout: 250 seconds).
02:03:40 <oerjan> `` sed -i '6s/[^ ]* //;8d;10s/! just/!\n just/g' share/maimery
02:03:47 <HackEgo> $target has been badly maimed! \ *draws their sword* \ I'll get the bears \ *sigh* \ Now where did I leave my jumper cables... \ *grumbles something about a broken hacksaw* \ $target just lost an arm! \ $target just lost an arm! \ $target just lost an leg! \ just got fried by jumpercables! \ just melted off their fingers! \ just froze off the
02:04:11 <HackEgo> just melted off their fingers! \ just froze off their fingers! \ $target just lost an leg! \ $target \ $target just got fried by jumpercables! \ $target \ $target just froze off their fingers! \ $target \ $target just melted off their fingers! \ $target
02:04:57 <oerjan> `` grep ' [^ ]' share/maimery >/tmp/1; mv /tmp/1 share/maimery
02:05:09 <HackEgo> $target just lost an arm! \ $target just lost an arm! \ $target just lost an leg! \ just got fried by jumpercables! \ just melted off their fingers! \ just froze off their fingers! \ $target just lost an leg! \ $target just got fried by jumpercables! \ $target just froze off their fingers! \ $target just melted off their fingers!
02:05:23 -!- Moon_ has joined.
02:06:24 <oerjan> `` sed -i '7,$s/^ *[^$]/$target /' share/maimery
02:06:39 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/share/maimery
02:06:48 <Moon_> Lol this is still going?
02:07:19 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
02:07:21 <HackEgo> $target just lost an arm! \ $target just lost an arm! \ $target just lost an leg! \ just got fried by jumpercables! \ just melted off their fingers! \ just froze off their fingers! \ $target just lost an leg! \ $target just got fried by jumpercables! \ $target just froze off their fingers! \ $target just melted off their fingers!
02:08:04 <oerjan> `` sed -i '7,$s/^ *\([^$ ]\)/$target \1/' share/maimery
02:08:35 <HackEgo> cat: usercmds: No such file or directory
02:08:48 <Moon_> `cat shared/usercmds
02:08:49 <HackEgo> cat: shared/usercmds: No such file or directory
02:09:05 <Moon_> `cat share/usercmds
02:09:06 <HackEgo> f: give the data from a file as the argument to a command like bf \ bf: simple brainfuck intepreter, bf brainfuck code
02:09:25 <oerjan> `` sed -i '7,11d' share/maimery
02:10:25 <oerjan> `` sed -i '7s/an/a/' share/maimery
02:11:15 <oerjan> obviously, i should have just used vim and `fetch.
02:12:15 -!- Cale has joined.
02:12:21 -!- boily has joined.
02:13:08 <Cale> I was told to bring my printf library here :D
02:13:10 <HackEgo> Cale: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
02:13:33 <coppro> took you long enough to get here!
02:13:54 <coppro> everyone from #haskell seems to make it here eventually
02:14:08 <Cale> Well, I have too many channels open
02:14:18 <lambdabot> oerjan said 2h 28m 45s ago: I'll have you know I punned before shachaf was even born (or so I assume, my memory is a bit vague)
02:14:18 <lambdabot> oerjan said 1h 28m 58s ago: <boily> Moon_: Mhelloon_. what with the snail cannon? <-- i refused to let em use the swatter, so e had to shell out for a personal weapon
02:14:19 <Cale> https://hackage.haskell.org/package/category-printf-0.1.0.0
02:14:47 * boily lightly mapoles oerjan with one hand.
02:14:47 <Cale> (that's the version with the docs already in place but it has screwy upper bounds, so the new version fixes that)
02:15:33 <Cale> anyway, I use the cokleisli category for the comonad of functions out of a monoid m to get an oddly-practical library for typed printf format specifications
02:15:49 <Cale> and it's basically a typed stack programming language
02:15:57 <Cale> *Main> :t printfLn (dup . s . " plus " . swap . dup . s . " equals " . apply2 (+) . s)
02:15:57 <Cale> printfLn (dup . s . " plus " . swap . dup . s . " equals " . apply2 (+) . s)
02:15:57 <Cale> :: (Num t, Show t) => t -> t -> IO ()
02:15:57 <Cale> *Main> printfLn (dup . s . " plus " . swap . dup . s . " equals " . apply2 (+) . s) 4 6
02:15:57 <Cale> 4 plus 6 equals 10
02:16:19 <Moon_> `cool rhello calle, our new friend;
02:16:20 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cool: not found
02:16:33 <Cale> https://hackage.haskell.org/package/category-printf-0.1.0.1/src/src/Control/Category/Printf.hs -- everything is pretty much a one-liner
02:16:39 <shachaf> Cale: Didn't people make stack languages that you can use with just application, rather than (.)?
02:16:44 -!- Kaynato has joined.
02:16:49 <Cale> yeah, I've done that before as well...
02:16:51 <Moon_> `ciol rhello cale, our new friend, autocorrect is stupid;
02:16:54 <HackEgo> hello cale, our new friend, autocorrect is stupid
02:17:01 <shachaf> Maybe you can make it work here for printfing.
02:17:13 <coppro> Cale: oh boy, way to nerdsnipe me
02:17:16 <shachaf> But maybe the OverloadedStrings instance would have to be too general.
02:17:21 <shachaf> coppro: Do you band with other Seans of the Hunt?
02:17:26 <Moon_> You can make programs for hackego
02:17:34 <oerjan> shachaf: hm that reminds me i still got my unfinished fmap experiment open in vim.
02:17:39 * coppro goes to understand the ((->) m) comonad
02:17:39 <Moon_> Hackego is a Unix system
02:18:03 <Moon_> Ciol was made in windows and compiled for Unix
02:18:04 <shachaf> coppro: It's the same sort of thing as the (m,) Monad.
02:18:13 <Cale> coppro: Well, if you think about a function out of a monoid, you can apply that function to the identity, which gives you a natural mapping (m -> a) -> a
02:18:15 <boily> Moon_: did you install linux during my absence?
02:18:33 <Moon_> Lazy and shiternet
02:18:52 <Moon_> I think evil is broken
02:18:58 <Cale> coppro: and you also have a somewhat obvious way to turn a function (m -> a) into a function (m -> m -> a) which just multiplies its two arguments before applying the given function
02:19:01 * boily stares sternly at Moon_
02:19:28 <Cale> coppro: so that's your extract and duplicate
02:20:00 <coppro> extend is (m -> a -> b) -> (m -> a) -> (m -> b)...
02:20:07 <Moon_> `f ciol src/ciol/helloworld.ciol
02:20:16 <oerjan> <Moon_> In c <-- Cale is a haskell expert. sadly HackEgo lost its haskell abilities in a server move.
02:20:20 <shachaf> coppro: Don't worry about extend, you can write it with duplicate and extract.
02:20:27 <HackEgo> cat: f: No such file or directory
02:20:31 <coppro> shachaf: it helps me understand the semantics though
02:20:51 <Moon_> Could we reimplent haskell?
02:20:55 <Cale> For this library, you probably want to think about Cokleisli for that comonad directly
02:21:00 <shachaf> coppro: Also (e ->) is a monad and (e,) is a comonad exactly when e is a comonoid.
02:21:01 <oerjan> Moon_: in fact iirc he once maintained lambdabot
02:21:20 <Cale> Its identity is just the extract we already talked about
02:21:50 <oerjan> Moon_: haskell is tricky to implement. although i recall Taneb was part of a student project doing it.
02:21:53 <coppro> shachaf: right. And all haskell types are comonoids, correct?
02:22:21 <shachaf> Well, sure, if you want to be pedantic about it.
02:22:43 <Moon_> That's a shame oerjan
02:22:44 <oerjan> (_GHC_ haskell can only be implemented by GHC, though. more extensions than you can shake a stick at.)
02:23:20 <Cale> So anyway, for the purposes of this library, we think about Cokleisli ((->) m) a b
02:23:23 <shachaf> oerjan: i've shaken a stick at ghc's extensions before hth
02:24:09 <Cale> as something which may write something in the monoid m, while "changing the type of printf from a to b", roughly
02:24:18 <oerjan> <Moon_> I think evil is broken <-- no, the creator just got so overwhelmed by what he'd done that he deleted all the entries except one.
02:24:27 -!- jaboja has joined.
02:24:42 <Cale> For example, something which adds a responsibility to provide another argument of type t would have type Cokleisli ((->) m) a (t -> a)
02:24:46 <coppro> Cale: how do you get "write something"?
02:25:03 <coppro> isn't it receiving an m, not producing one?
02:25:13 <Cale> Well, given some x :: m, you have Cokleisli ($ x)
02:25:33 <Cale> ($ x) :: (m -> a) -> a
02:25:44 <shachaf> > run (now "hi " . later show . now "!") 1
02:25:53 <Cale> and so Cokleisli ($ x) :: Cokleisli ((->) m) a a
02:26:06 <Moon_> `culprits bin/evil
02:26:15 <coppro> Cale: ok, think I follow
02:26:23 <HackEgo> cat "$(find evil -type f | shuf -n1)" | tr '[:lower:]' '[:upper:]'
02:26:28 <Moon_> It's not evil enough
02:26:35 <Cale> So we have that as a formatter called c in the library
02:26:45 <Cale> https://hackage.haskell.org/package/category-printf-0.1.0.1/src/src/Control/Category/Printf.hs -- have a look at the source code
02:26:53 <Moon_> TSWEET deleted everything else
02:26:55 <Cale> c is used to write the IsString instance
02:27:06 <Cale> instance (a ~ b, IsString s, Monoid s) => IsString (Cokleisli ((->) s) a b) where
02:27:06 <Cale> fromString = c . fromString
02:27:35 <Cale> The equality constraint is just to help type inference not get confused
02:27:55 <Cale> It'll commit to the instance, and later decide that a and b really need to be the same type
02:28:11 <boily> what is "~" in this context?
02:28:19 <oerjan> <shachaf> oerjan: i've shaken a stick at ghc's extensions before hth <-- well that was before. now there are simply too many kinds hth
02:28:22 <Cale> a ~ b means that a and b must be the same type
02:28:27 <HackEgo> share/maimery//$target has been badly maimed! \ *draws their sword* \ I'll get the bears \ Now where did I leave my jumper cables... \ *grumbles something about a broken hacksaw* \ $target just lost an arm! \ $target just lost an leg! \ $target just got fried by jumpercables! \ $target just froze off their fingers! \ $target just melted off their f
02:28:44 <coppro> Cale: yep, I see what's happening now
02:29:18 <Cale> Yeah, thank Ryan Trinkle for showing me that trick... and he told me whose blog he got it from, but I forget right at the moment
02:29:20 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
02:29:31 <Moon_> yay, i set a\upna]]]\|\\
02:29:43 <Cale> So the next thing after that is i
02:29:45 <Moon_> ya y i set up a better keyboard for my android
02:29:47 <Cale> i :: Format m a (m -> a)
02:29:47 <Cale> i = Cokleisli id
02:30:04 <Cale> Oh, btw, type Format m = Cokleisli ((->) m)
02:30:16 <Cale> basically just because I got tired of typing all the punctuation
02:30:53 <boily> Cale: why can't you simply write (Cokleisly ((->) s) a a) if "a" and "b" are the same?
02:31:37 <Cale> boily: basically because sometimes GHC won't *know* that the two types are the same when it's trying to figure out which instance of IsString to apply, and it won't commit to the instance in that case
02:31:52 <HackEgo> Moon is a person, not an unretroreflectorey object.
02:32:12 <Cale> boily: When it's selecting which instance to apply, GHC won't look at the constraint before the =>
02:32:26 <oerjan> <Moon_> yay, i set a\upna]]]\|\\ <-- [citation needed]
02:32:38 <Cale> and it only considers that part *after* deciding to commit to using that instance
02:33:17 <boily> aaaaaah! sudden illumination.
02:34:42 <coppro> Cale: ok, let me try to write s now
02:35:02 <coppro> we have formatString . show :: t -> s
02:35:16 <Cale> fromString, you mean?
02:35:25 <coppro> fromString . show :: t -> m
02:36:12 <coppro> now, i :: Format m a (m -> a)
02:37:27 <coppro> so... s = (. (fromString . show)) <$> i
02:38:35 <Cale> yeah, that works
02:40:12 -!- Moon__ has joined.
02:40:42 <oerjan> Moon__: you never left hth
02:41:04 <Cale> I have spliceWith :: (Monoid m) => (t -> m) -> Format m a (t -> a)
02:41:15 <Cale> and I defined spliceWith f = Cokleisli (. f)
02:41:22 <Cale> but that's the same as fmap (. f) i
02:41:27 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: haskall: not found
02:41:47 <Cale> and I defined s = spliceWith (fromString . show)
02:42:36 <Cale> I should add things like padding and more numeric formatting stuff like C printf has.
02:42:56 -!- Moon_ has quit (Ping timeout: 250 seconds).
02:43:32 <Cale> The other cool thing which is coming soon
02:43:55 <Cale> Is that reflex is going to get an update in the next few weeks which will add an Applicative instance for Dynamic
02:44:11 <Cale> and that means that we'll be able to lift monoid instances through Dynamic
02:44:40 <Cale> and have printfWith dynText using reflex-dom -- a printf with dynamically varying arguments
02:46:12 <Cale> (and of course, we'll need instance (Reflex t, IsString m) => IsString (Dynamic t m) where fromString = constDyn . fromString
02:48:01 <Cale> There are various other things which you could do with this and reflex-dom -- e.g. it could be used to string together widgets
02:48:12 <coppro> Cale: the thing that would stop me from using it, of course, is having to manipulate the stack directly
02:48:28 <Cale> Well, you don't usually really have to manipulate the stack in sensible uses of it
02:49:07 <coppro> if you want to use an argument multiple times, I wonder if there's a way to get it to work using type-level nats
02:49:37 <Cale> Actually, yes.
02:49:46 <Cale> You can do it with a type class
02:50:57 <Cale> Also, look at the implementation of the stack manipulation things
02:51:17 <Cale> It's possible that using arr directly would be preferable to using dup/swap/etc. in most cases
02:52:23 <Cale> *Main Data.String Control.Arrow> printfLn (arr (\k x y -> k x y (x+y)) . s . " plus " . s . " equals " . s) 4 6
02:52:23 <Cale> 4 plus 6 equals 10
02:55:36 <oerjan> . o O ( will all this inline away... )
02:55:42 <Cale> Which of course means that we can use the proc/do Arrow-notation to write formatters, which I haven't really begun to explore
02:55:56 <Cale> I bet it does, haha
02:56:07 <Cale> It's all newtypes and tiny definitions
02:56:28 <Cale> tiny and non-recursive definitions
02:57:28 <coppro> oh yeah, arrows are a thing
02:57:56 <Cale> unfortunately, it doesn't interact with laziness very nicely
02:58:15 <Cale> Like, if you try f = dup . s . f or something
02:58:25 <Cale> you can't get it to print an infinite string
02:58:55 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
02:59:45 -!- boily has quit (Quit: STAIRCASE CHICKEN).
03:01:32 <Cale> oops, just realised the type of skip is overly restrictive too
03:07:57 <Cale> But yeah, it's cool, I feel with this, we have a pretty good understanding of what printf format specifiers really "are", in some sense.
03:12:32 <coppro> things like this make me wish I was back in academia
03:12:48 <coppro> I'm actually impressed this didn't require type-level math logic either
03:27:00 <Cale> I'm just working as a Haskell programmer, and basically a portion of my free time is spent on academic sorts of things :)
03:29:07 <HackEgo> ls: cannot access ./---##,: No such file or directory
03:34:32 -!- lambda-11235 has joined.
03:45:20 -!- Phantom_Hoover has quit (Remote host closed the connection).
03:45:36 -!- centrinia has joined.
04:09:35 -!- jaboja has quit (Ping timeout: 244 seconds).
04:15:07 -!- lambda-11235 has quit (Max SendQ exceeded).
04:15:40 -!- lambda-11235 has joined.
04:16:02 <shachaf> oerjan: Maybe Cale can figure out the fmap thing.
04:16:32 <coppro> Cale: do you work in Brantford?
04:16:52 <coppro> I spend too much of my free time on gaming stuff & politics for that...
04:19:19 <coppro> Cale: hah! I googled "cale haskell" and it turns out there's a guy by that name who works at Bungie!?
04:19:51 <coppro> then I remembered /whois exists
04:19:59 <coppro> shachaf: what fmap thing?
04:20:33 <shachaf> There were a few different things.
04:21:07 <shachaf> One of them was writing an expression using using only (.) that makes an arbitrary grouping function like (\a b c d e f -> a (b (c d)) (e f))
04:21:54 <coppro> do you mean that you're given a grouping function and your goal is to write it using (.)?
04:26:58 -!- MDude has changed nick to MDream.
04:29:50 <zzo38> I have found something I and my brother have written a long time ago about a new kind of Pokemon game, that can be played on PC (it is unclear whether DOS or purely PC) or on Nintendo DS. There was all various sort of strange stuff
04:31:52 <zzo38> One thing was a cheat code to make all of your pokemons to be level 100. On the PC version the cheat code is to push all keys simultaneously, and on the DS version the cheat code is when it ask you for your name, type A and then switch to Japanese and try to add a dakuten mark to the A twenty times (nothing will happen the first nineteen times).
04:39:32 <shachaf> zzo38: Well, the first nineteen times maybe it increments a counter.
04:39:53 <shachaf> If truly nothing happened the first nineteen times then nothing would happen the twentieth time either.
04:40:38 <zzo38> Well, yes, it would increment a counter, but nothing else (no display of such counter or any other effect, and presumably you lose the chance if you do anything else)
04:44:29 -!- Moon__ has quit (Quit: Page closed).
04:45:37 <coppro> shachaf: what else was there?
04:47:33 <zzo38> If you name your character "VOID" you lose the game instantly.
04:49:27 <zzo38> Also one of the items in the game is a "fuse"; if you use it then it confuses your own active pokemon.
04:49:39 <zzo38> Also it is possible to sell badges.
04:51:01 <shachaf> I think some of the other questions were solved.
04:52:29 -!- centrinia has quit (Quit: Leaving).
04:52:36 <coppro> shachaf: isn't the one about grouping functions just a special case of @pl?
04:53:05 <shachaf> Well, the original question was whether you could do it without parentheses.
04:53:38 <coppro> how would you do that?
04:58:43 <oerjan> coppro: not with just (.)
04:59:15 <coppro> oh, like lambdas and stuff?
04:59:58 <zzo38> Before the final set of battles you must enter the "Special Finals", which have several special sets of rules, including such things as 2 vs 1, doing the battle inside of a moving elevator, and other special rules. Also rename/delete is allowed anywhere, and pokemon moves used outside of battle still require PP and cannot be used if you have run out of HP.
05:00:03 <oerjan> coppro: that you can do grouping with combinations of (.) is easy. the next question was whether you can apply that recursively to flatten the grouping function as well. and with just (.) the answer is "obviously" no because (.),(.)(.),(.)(.)(.),... repeats after a while.
05:00:39 <oerjan> coppro: so the question now is, can you do it with only a few functions, each of which are combinations of (.)s
05:01:20 <oerjan> (if you have infinitely many, you can do it: (.).(.).(.). ... . (.) are enough
05:01:56 <oerjan> i.e. you can write any grouping function as f_1 ... f_n where each f_i is of that form.
05:04:01 <oerjan> (n might be 0, which is the only way to get id afaict)
05:04:24 <oerjan> (unless you have id in the basis)
05:05:31 <oerjan> and also, only considering bases of functions that are themselves combinations of (.). if you can use arbitrary combinators not just "grouping", then there's a well-known method using CPS transformation.
05:06:58 <oerjan> so the question is: Is there a finite basis that can construct all groupings this way
05:07:36 <oerjan> i started looking at {(.), (.)(.)} as a possible basis but i lost concentration quickly.
05:08:46 <oerjan> coppro: psst, Cale's surname is in his /whois hth
05:09:00 <oerjan> coppro: never mind me reading scrollback one line at a time
05:18:28 <Cale> coppro: I live in Brantford and work out of my house. My employer is in New York.
05:22:02 <Cale> coppro: I work for Obsidian Systems on web applications for various clients written entirely in Haskell.
05:22:49 <Cale> coppro: Especially interesting is that we're using reflex-dom and ghcjs to build the frontends.
05:29:40 -!- pelegreno has quit (Remote host closed the connection).
05:32:00 -!- pelegreno has joined.
05:38:21 -!- centrinia has joined.
05:40:10 -!- pelegreno has quit (Remote host closed the connection).
05:41:21 -!- pelegreno has joined.
05:48:37 -!- pelegreno has quit (Remote host closed the connection).
05:49:51 -!- pelegreno has joined.
06:07:52 <coppro> why is getting the crystal cruiser so hard :(
06:32:02 -!- lambda-11235 has quit (Quit: Bye).
06:35:27 -!- singingboyo has joined.
06:52:15 <newsham> Adam Yedidia, a PhD student at MIT (but an MEng student when he did most of this work), has explicitly constructed a one-tape, two-symbol Turing machine with 7,918 states, whose behavior (when run on a blank tape) can never be proven from the usual axioms of set theory, under reasonable consistency hypotheses.
06:52:20 <newsham> http://www.scottaaronson.com/blog/?p=2725
06:56:06 <oerjan> gah scott is really speeding up his posting
06:56:23 * oerjan opened his 5th shtetl-optimized tab
06:59:38 <shachaf> oerjan is clearly not shtetl-optimized-optimized
07:01:40 <oerjan> well, i'm following comment threads and those have been active last week.
07:01:57 <zzo38> Aether Hack {U} Instant ;; Change text of target spell or permanent by replacing all instances of one named (i.e. not power/toughness) counter type word with another. (Does not affect what a keyword ability does.) Do you like this?
07:06:44 <shachaf> Hmm, I guess there are various uses.
07:07:22 <shachaf> It seems like maybe it should only work until end of turn, if it's affecting a permanent?
07:08:31 <zzo38> No it lasts permanently like Artificial Evolution and Magical Hack and Sleight of Mind.
07:09:18 <zzo38> Also like those other cards, it can be used with your own and with opponent's cards, possibly including circumstances you have not anticipated.
07:09:32 <shachaf> It should say "(This effect lasts indefinitely.)".
07:11:03 -!- rdococ has joined.
07:11:27 <zzo38> Yes it could have that reminder text if you want to.
07:13:17 <zzo38> You can try to see what possible uses there are, with official cards and/or with other custom cards. One use would be to reset something such as Delaying Shield. Another thing you can do is to replace "experience counter" with "poison counter" or vice-versa. There are a lot more.
07:17:14 <shachaf> You could use it on Dark Depths.
07:18:18 <zzo38> Yes, that too, it can make it to trigger immediately.
07:25:55 -!- Kaynato has quit (Ping timeout: 244 seconds).
07:27:52 -!- pelegreno has quit (Remote host closed the connection).
07:29:07 -!- pelegreno has joined.
07:37:55 -!- singingboyo has quit (Quit: leaving).
07:55:20 -!- oerjan has quit (Quit: leaving).
09:26:39 -!- AnotherTest has joined.
09:40:44 -!- AnotherTest has quit (Ping timeout: 260 seconds).
09:42:50 -!- J_Arcane has quit (Ping timeout: 244 seconds).
10:00:23 -!- nisstyre has quit (Changing host).
10:00:23 -!- nisstyre has joined.
10:31:33 -!- AnotherTest has joined.
11:02:03 <ski> <ski> Cale : oh. yes i remember figuring out that concatenative language trick, years ago :)
11:02:08 <ski> the nice thing with this CPS trick for concatenative is that the stack is naturally heterogenous, and that composition reads from left-to-right (or perhaps that's not nice, depending on how you look at it) ..
11:04:02 <ski> the not so nice thing is that it's CPS, perhaps with a very thin wrapping
11:06:17 -!- boily has joined.
11:08:34 <ski> well, for clarification, i should say that i didn't have the part involving the monoid `m'. only the CPS part
11:17:04 -!- AnotherTest has quit (Ping timeout: 250 seconds).
11:31:27 -!- AnotherTest has joined.
11:46:23 -!- centrinia has quit (Quit: Leaving).
12:02:45 <fizzie> Subject: So many people out of work...get that Degree and rise to the top
12:03:12 <fizzie> They've added strikeout in the middle of "key" words -- I wonder if that actually does work for avoiding spam filters.
12:03:43 <fizzie> "car<s>e</s>er>, "p<s>r</s>ogram", etc.
12:05:18 <boily> Get your Authentic Dr. Fizzie Degree Certificate Now!
12:06:29 <fizzie> This is the one that advertised "No Examination! No Study! No Class!"
12:06:40 <fizzie> And Fast Worldwide Shipping.
12:07:08 <fizzie> It's also "100% Confidenial" [sic], which I can't help thinking is some sort of a pun.
12:08:20 <boily> it works to a degree.
12:17:41 -!- ybden has joined.
12:20:38 -!- boily has quit (Quit: SWITCH CHICKEN).
12:34:19 <FreeFull> fizzie: Clearly you only can get a pogram from them
12:34:57 -!- J_Arcane has joined.
12:42:57 -!- spiette has quit (Quit: :qa!).
12:57:14 -!- Alcest has joined.
13:10:33 -!- augur has quit (Ping timeout: 240 seconds).
13:44:49 <fizzie> FreeFull: A pogram for my carer.
13:59:12 -!- augur has joined.
14:23:03 -!- Sgeo has quit (Ping timeout: 240 seconds).
14:31:47 -!- `^_^v has joined.
14:39:54 -!- spiette has joined.
14:55:13 -!- Kaynato has joined.
15:07:18 -!- ybden has quit (Ping timeout: 244 seconds).
15:16:45 -!- ybden has joined.
15:17:59 -!- nycs has joined.
15:21:20 -!- `^_^v has quit (Ping timeout: 276 seconds).
15:25:58 -!- nycs has quit (Quit: This computer has gone to sleep).
15:28:31 -!- `^_^v has joined.
15:29:40 -!- `^_^v has quit (Client Quit).
15:32:05 -!- Phantom_Hoover has joined.
15:35:19 -!- `^_^v has joined.
15:43:13 -!- `^_^v has quit (Quit: This computer has gone to sleep).
15:45:41 -!- `^_^v has joined.
16:14:45 -!- jaboja has joined.
16:28:35 -!- Phantom_Hoover has quit (Quit: Page closed).
16:31:22 <int-e> (I thought I knew what that means but it doesn't fit in Phantom_Hoover's line)
16:42:20 -!- Reece` has joined.
17:11:50 -!- nisstyre has quit (Ping timeout: 276 seconds).
17:13:04 -!- Kaynato has quit (Ping timeout: 252 seconds).
17:14:33 -!- jaboja has quit (Ping timeout: 240 seconds).
17:15:33 -!- nisstyre has joined.
17:15:57 -!- jaboja has joined.
17:42:58 -!- Akaibu has joined.
17:53:42 -!- hppavilion[1] has joined.
17:57:18 <hppavilion[1]> I'm designing something that I'm not smart enough to implement...
17:57:45 <hppavilion[1]> (Not something impossible, mind you, just something I don't have the required knowledge for (yet!))
17:59:15 <zzo38> What kind of thing is it?
18:02:08 <hppavilion[1]> zzo38: It's a sort of improved hybrid between Mobile and Desktop models
18:03:01 <hppavilion[1]> zzo38: It creates safer & cleaner & more powerful applications without limiting the user by dividing executables into two types- sandboxed and free-floating (names are just off the top of my head)
18:04:32 <hppavilion[1]> zzo38: The sandboxed ones declare all the stuff they need at install time and set up their working environment by telling the OS why sort of things they want- for example, you can have an application where long-term storage is 100% freeform (no file system, just a nice, protected section of non-volatile disk space to use however)
18:07:41 <zzo38> It could still be accessible as a file though so that commands such as dd and mv and rm can be used; if you use rm or rmdir then you can uninstall it. It doesn't seem the filesystem but rather can be made part of design of OS. Internally the storage might look differently but it is helpful to expose as a UNIX filesystem at least.
18:08:23 <zzo38> It mean the user could customize the sandboxing of the program.
18:12:17 <hppavilion[1]> zzo38: Yes, using the free-form filesystem layout is discouraged
18:13:09 <hppavilion[1]> zzo38: And you can remove a sandboxed application at will, there's a distinction between the application itself (the executable(s) when abstraction is stripped away) and the application's memory space
18:13:26 <hppavilion[1]> I think we need a "Politician's Guide to the Interwebz"
18:14:03 -!- jaboja has quit (Ping timeout: 246 seconds).
18:36:21 -!- Phantom_Hoover has joined.
18:46:49 -!- tromp_ has joined.
18:51:12 -!- tromp_ has quit (Ping timeout: 250 seconds).
18:54:22 -!- Kaynato has joined.
18:57:46 <zzo38> I did write the program to reduce colours of a picture to a specified palette (you can independently specify the way to select the best colour per pixel and the dithering algorithm), but not the program to figure out optimized palette, yet.
19:07:56 <zzo38> I don't know if I should need to implement hold-and-modify.
19:15:20 -!- jaboja has joined.
19:17:04 -!- MDream has changed nick to MDude.
19:18:05 -!- gremlins has joined.
19:19:30 -!- Reece` has quit (Ping timeout: 246 seconds).
19:25:04 -!- nisstyre has quit (Changing host).
19:25:04 -!- nisstyre has joined.
19:26:18 -!- jaboja has quit (Ping timeout: 250 seconds).
19:28:13 -!- Kaynato has quit (Ping timeout: 244 seconds).
19:41:53 -!- zzo38 has quit (Quit: zzo38).
19:50:44 <FreeFull> hppavilion[1]: I wouldn't mind the snakes
19:51:06 <FreeFull> I also wanna link something to zzo but he left
19:51:07 <hppavilion[1]> FreeFull: I think that we should make the Consortium actually do it
19:59:03 -!- Reece` has joined.
19:59:24 -!- gremlins has quit (Ping timeout: 246 seconds).
20:01:50 <FreeFull> 20:01:40 -MemoServ(MemoServ@services.)- zzo38 does not wish to receive memos.
20:06:43 -!- rdococ has quit (Quit: Leaving).
20:31:25 <HackEgo> [wiki] [[Var'aq]] https://esolangs.org/w/index.php?diff=46920&oldid=36135 * 2.97.117.195 * (+230) /* External resources */
20:40:42 -!- Reece` has quit (Ping timeout: 246 seconds).
21:13:02 -!- Kaynato has joined.
21:16:07 <HackEgo> [wiki] [[Laconic]] N https://esolangs.org/w/index.php?oldid=46921 * B jonas * (+1058) Created page with "'''Laconic''' is a programming language that compiles to a one-tape two-symbol [[Turing machine]]. The goal for its creation was to create two-symbol Turing machines with ver..."
21:17:41 <b_jonas> Does Laconic count as an esolang?
21:18:06 <b_jonas> I think it does, because its sole purpose is to write short programs in another esolang.
21:18:20 <shachaf> I don't think Turing machines count.
21:19:17 <b_jonas> I guess if Mouse counts because its original purpose was to have a very small interpreter, then Laconic is the same idea.
21:23:38 <hppavilion[1]> F24DBA5FB0A30E26E83B2AC5B9E29E1B161E5C1FA7425E73043362938B9800chaf
21:24:17 <shachaf> you can't just -chaf any old thing
21:24:20 <hppavilion[1]> shachaf: The output of a sha256 hash, converted to hex
21:29:30 -!- centrinia has joined.
21:30:02 <hppavilion[1]> F24DBA5FB0A30E26E83B2AC5B9E29E1B161E5C1FA7425E73043362938B9824chaf
21:31:31 <hppavilion[1]> If normal quantum physics is based on the complexes...
21:31:31 <Phantom_Hoover> hppavilion[1], wait, any sequence of characters ending with 'chaf' is a SHA256 hash of something
21:32:01 <hppavilion[1]> Phantom_Hoover: Yes, but the body of the hash is uppercase and in hex
21:32:07 -!- `^_^v has quit (Ping timeout: 252 seconds).
21:32:22 <hppavilion[1]> Can we substitute the complexes for something weirder to get weird quantum physics? :P
21:33:00 <Phantom_Hoover> oh i thought you'd found something that hashed to *chaf
21:35:52 -!- `^_^v has joined.
21:36:09 <shachaf> but h isn't an exadecimal character
21:37:58 <b_jonas> wow. these two blog posts link each other as sources.
21:38:12 <b_jonas> maybe one of the posters have a time machine.
21:38:24 -!- lynn has changed nick to fcrawl.
21:38:30 -!- fcrawl has changed nick to lynn.
21:38:43 <Phantom_Hoover> shachaf, this is all modulo me misunderstanding the image of SHA256 ofc.
21:47:15 -!- nycs has joined.
21:47:29 -!- `^_^v has quit (Ping timeout: 265 seconds).
22:05:25 <shachaf> Like a hexadecimal, but without the h.
22:05:32 <j-bot> b_jonas: 8.64 11.52
22:06:42 <shachaf> Or maybe it's base-10000000000000000000.
22:07:50 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
22:09:42 -!- nycs has quit (Quit: This computer has gone to sleep).
22:11:20 -!- `^_^v has joined.
22:12:31 -!- centrinia has quit (Ping timeout: 244 seconds).
22:17:47 <quintopia> shachaf: is dorian gray's image an 8-bit greyscale bmp?
22:20:36 -!- moon_ has joined.
22:21:45 <HackEgo> /hackenv/bin/f: line 1: ${1#* }: ambiguous redirect \ /hackenv/bin/f: line 1: : command not found
22:21:55 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: haskell: not found
22:22:09 <moon_> `f ciol rshame haskell doesnt exist;
22:22:21 <HackEgo> /hackenv/bin/f: line 1: ${1#* }: ambiguous redirect
22:22:21 <HackEgo> #!/usr/bin/perl -w \ $_ = join " ", @ARGV; if (s/^([^ ]*) +([^ ]*) +//) { print "$1: "; exec $2, $_; }
22:22:59 <HackEgo> cat: bin/.: Is a directory
22:23:05 <moon_> `ciol rshame haskell doesnt exist;
22:23:06 <HackEgo> shame haskell doesnt exist
22:23:16 <HackEgo> #!/bin/bash \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$1" | rnoooooodl \ echo hi \ exec \ #!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG"#!/bin/bash \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/noooooodl/;s/ *$//") \ topic1=$(echo "$topic" | se
22:23:27 <HackEgo> bin/` bin/̊ bin/ bin/! bin/? bin/¿ bin/' bin/@ bin/* bin/؟ bin/ bin/ bin/e bin/f bin/h bin/q
22:23:40 <HackEgo> /hackenv/bin/؟: line 1: ^: command not found
22:24:29 <HackEgo> /hackenv/bin/¿: line 1: ^: command not found
22:24:43 <moon_> https://catmacros.files.wordpress.com/2009/07/cat-halp-1-1.jpg
22:27:06 <HackEgo> cat: bin/bin: No such file or directory
22:27:38 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/bin: Is a directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/bin: cannot execute: Is a directory
22:44:30 <fizzie> Since the minimal f is clearly too difficult to use, added some error messages to when using it wrong.
22:45:07 <HackEgo> #! /bin/bash \ cmd="$1" \ shift \ f="$*" \ if [[ -z "$f" && "$cmd" == *\ * ]]; then f="${cmd#* }"; cmd="${cmd%% *}"; fi \ if [[ -z "$f" ]]; then echo try: \`f command filename; elif [[ -e "$f" ]]; then "$cmd" "$(< "$f")"; else echo no such file: "$f"; fi
22:45:55 <HackEgo> ^ \ :-( \ !\.´ \ 71ab5gx8 \ 99 \ 99bb \ advice \ bdsmreclist \ bin \ canary \ cat \ cdescs \ Complaints.mp3 \ :-D \ daoyu.c \ dog \ emoticons \ equations \ esobible \ etc \ Eternity \ evil \ factor \ foo \ good \ hia \ hw \ ibin \ interps \ karma \ le \ lib \ lolwhy? \ ls_dev \ marsha \ misle \ paste \ ply-3.8 \ quine \ quines \ quotes \ ReUari
22:46:26 <HackEgo> -rw-r--r-- 1 5000 0 0 May 1 20:23 ^
22:46:50 <HackEgo> -rwxr-xr-x 1 5000 0 32 May 1 20:23 !\.´
22:47:05 <HackEgo> echo 'emergency signal toggled'
22:47:39 <HackEgo> cat: 71: No such file or directory
22:48:24 <HackEgo> rm: cannot remove `^ 71ab5gx8': No such file or directory
22:48:26 <fizzie> Huh, there must be a \r in that file.
22:48:34 <fizzie> There's more to it than that.
22:48:53 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/71ab5gx8
22:49:31 <fizzie> I don't know when HackEgo picked up this "\r terminates the output" thing, I didn't think that was always the case.
22:50:05 <fizzie> But it's clearly not just straightforwardly trying to output it unfiltered, because the standard \rPRIVMSG stuff doesn't do anything bad.
22:50:41 <fizzie> `` echo -e 'foo\nbar\rbaz' # it's just strange
22:50:54 <FireFly> Maybe it just acts as EOF essentially
22:51:23 <fizzie> I mean, it would act as EOF essentially if HackEgo *was* passing it through unfiltered.
22:52:07 <shachaf> i was telling fizzie to hire you, obviously
22:52:07 <HackEgo> bf \ brainfuck.fu \ c \ ciol \ egobot.tar.xz \ emmental.hs \ factor-linux-x86-64-0.95.tar.gz \ fizziecoin.jpg \ fueue.c \ grph.c \ ploki \ ploki-0.6.5.1.tar.bz2 \ u8tbl.c \ ul.emm
22:52:14 <fizzie> HireFly is probably a name for something that exists.
22:52:28 <HackEgo> mv: missing destination file operand after `71ab5gx8 src/bob.c' \ Try `mv --help' for more information.
22:52:35 <fizzie> "Hirefly exists to help small and medium sized organizations hire better, so that more people can be engaged in meaningful work."
22:53:21 <fizzie> All these carriages to return.
22:53:45 <fizzie> My professional recommendation for HackEgo spring cleanups is to go via the fshg.
22:53:50 <HackEgo> cat: lolwhy?: Is a directory
22:55:32 <HackEgo> rm: cannot remove `lolwhy?': Is a directory
23:04:34 -!- AnotherTest has quit (Ping timeout: 260 seconds).
23:14:38 <b_jonas> The more I think about the rust language, the more I think that its language level use-once values really add a lot of expressivity to it.
23:16:55 <moon_> damnit, the puns are taking revenge on me
23:19:49 <quintopia> what is the largest n for which S(n) has been determined?
23:20:26 <shachaf> I hope S is the successort function here.
23:21:39 -!- Sgeo has joined.
23:27:59 <b_jonas> quintopia: I think Aaronson's blog post answers that question.
23:30:15 <fizzie> I seem to recall the Wikipedia article having a table.
23:30:37 <tromp> is the Laconic author in this channel?
23:33:17 <shachaf> I don't think the author is particularly laconic.
23:34:16 <quintopia> i like that Yedidia has managed to get an academic paper out of a code golf
23:35:13 <quintopia> I wonder if PPCG could improve on the Yedidia TM.
23:35:46 -!- spiette has quit (Quit: :qa!).
23:38:30 <tromp> goldbach only needs 267 bits
23:38:49 <tromp> their paper appears to use 4964
23:41:44 -!- Naraka has quit (Remote host closed the connection).
23:42:44 -!- oerjan has joined.
23:48:40 <oerjan> `learn IMHO means "In my humble omniscience".
23:48:43 <HackEgo> Learned 'imho': IMHO means "In my humble omniscience".
23:50:02 <oerjan> `learn IMHO means "In my holy omniscience".
23:50:06 <HackEgo> Relearned 'imho': IMHO means "In my holy omniscience".
23:50:14 <oerjan> hppavilion[1]: thx tdh hand
23:50:49 <oerjan> `learn IMHO means "In My Holy Omniscience".
23:50:52 <HackEgo> Relearned 'imho': IMHO means "In My Holy Omniscience".
23:52:21 <oerjan> <hppavilion[1]> I'm designing something that I'm not smart enough to implement... <-- tell me, are you _trolling_ for snarks? :P
23:52:48 <int-e> hppavilion[1]: "that shouldn't be hard"
23:52:49 <oerjan> because i have to resist making one
23:53:38 <moon_> *reading up on anti-piracy measures*
23:53:46 <oerjan> (which means i failed to meta-resist it, i guess)
23:54:06 <oerjan> moon_: i think the Somalia operation worked pretty well
23:55:47 <oerjan> . o O ( maybe we should send RIAA there on a conference )
23:56:39 <oerjan> otoh i saw someone get downvoted on reddit for wanting to torrent the ramanujan movie, so there is _some_ nuance there.
23:57:21 <int-e> tromp: well there's a downside to a) targeting turing machines and b) compiling from a comparatively high level language.
23:57:30 <oerjan> hppavilion[1]: mostly cod, some haddock
23:58:39 <oerjan> int-e: y'all did see the aaronson link yesterday? (hm, i've not got around to finish reading it yet)
23:58:48 <lambdabot> arising from a use of ‘show_M710835518429648114410516’
23:58:48 <lambdabot> The type variable ‘a0’ is ambiguous
23:59:12 <lambdabot> (Typeable a, Typeable b, FromExpr c) => (a -> b) -> c
23:59:45 <int-e> oerjan: well, I saw it mentioned and didn't have time... now I've followed the link to the paper on the esolang page on Laconic