<alexgordon>
ELLIOTTCABLE: thinking about stream fusion
<ELLIOTTCABLE>
alexgordon: was sat
<alexgordon>
ELLIOTTCABLE: man you have so much to learn :P
<alexgordon>
ELLIOTTCABLE: stream fusion is when you combine operations such as map and filter so they can be implemented without copying the list they run over
<alexgordon>
hence achieving Faster™
<ELLIOTTCABLE>
iiiiiinteresting
<alexgordon>
it honestly is
<ELLIOTTCABLE>
So, a specific case of taking a set of common operations, and combining them into one operation behind-the-scene
<alexgordon>
right
<ELLIOTTCABLE>
I.e. "What CPUs Do"
<alexgordon>
CPUs usually do the opposite
<alexgordon>
intel CPUs are just a RISC core
<alexgordon>
they have this CISC instruction set which gets translated by microcode into RISC operations
<alexgordon>
so when you use say the AES instruction it actually turns it into a bunch of RISC instructions
<ELLIOTTCABLE>
word
<ELLIOTTCABLE>
CISC?
<alexgordon>
CISC = lots of specialized instructions
<alexgordon>
and move the reverse instruction to the top because it affects indexes (but not data) whereas the others affect data (but not indexes)
<alexgordon>
these kinds of high level optimizations are really interesting to me, because most high level languages (like ruby/python) just dumbly copy the data, whereas most low level languages are too low level to express them
<alexgordon>
so we can think about "stream operations" as being in a few different categories
<alexgordon>
there's index mappings (Int -> Int) like reverse
<alexgordon>
then there's index predicates (Int -> Bool) like tail()
<alexgordon>
data mappings like well, map
<alexgordon>
and data predicates like filter
<alexgordon>
there's also more complex combinations like indexed maps
<alexgordon>
hm, not sure if scans are ok for fusion
<alexgordon>
haskell seems to do it
dskuza has quit [Ping timeout: 258 seconds]
<alexgordon>
concat is an interesting one
<alexgordon>
concat is basically an inner loop
<alexgordon>
then there's things like find which are a conditional with a break statement
<alexgordon>
split is interesting, it's the opposite of concat, so you're turning [T] into [[T]]
prophile has joined #elliottcable
<ELLIOTTCABLE>
hi
<purr>
ELLIOTTCABLE: hi!
<vigs>
hi
<purr>
vigs: hi!
<vigs>
hi
<purr>
vigs: hi!
<alexgordon>
prophile: STREAM FUSION MAN
<prophile>
that's my favourite jazz subgenre too!
<alexgordon>
prophile: ha
Sorella has quit [Quit: Ex-Chat]
<ELLIOTTCABLE>
vigs!
<ELLIOTTCABLE>
prophile: hi
<prophile>
hey
PragCypher has quit [Quit: Leaving]
vil has joined #elliottcable
<ELLIOTTCABLE>
vil!
<ELLIOTTCABLE>
long-time-no-see!
prophile has quit [Quit: The Game]
zackkitzmiller has joined #elliottcable
<zackkitzmiller>
who the fuck are there 37 people in here
<ELLIOTTCABLE>
that's not english.
<zackkitzmiller>
how*
<ELLIOTTCABLE>
well, either sex, or magic
<ELLIOTTCABLE>
really only two possibilities
<katlogic>
zackkitzmiller: people like EC with pokemon fetish attract sycophants
* katlogic
used to have 100+ head channel too long time ago but it died out eventually. one needs to water it like flower or it withers.
<katlogic>
ELLIOTTCABLE: So keep us entertained, don't let us wither!
* ELLIOTTCABLE
pats katlogic
* ELLIOTTCABLE
waters purr
* purr
rr
* ELLIOTTCABLE
waters purr
* purr
rrr
<ELLIOTTCABLE>
see, it grew
<Willox>
*gets suspended from steam*
<Willox>
This better not be for reporting dem exploits
<ELLIOTTCABLE>
Willox: did you really :D
<ELLIOTTCABLE>
oh my god, after all that :D
<Willox>
I think it is for my name
<Willox>
I had my name set to \u200E (ltr mark)
<Willox>
but I set it through their own settings dialog how can that be against the rules
<ELLIOTTCABLE>
zackkitzmiller: Hi! Have you written a Paws, yet?
<Willox>
That'd explain why they have frozen my name as "me"
<Willox>
which is a dickmove
<ELLIOTTCABLE>
my e-mail address means I show up in Google chats as “me.” to everybody.
<ELLIOTTCABLE>
everybody complains about it.
<cuttlebone>
alexgordon: jazz was what i first thought of when i glanced at your comment too :p
<cuttlebone>
ELLIOTTCABLE:
<ELLIOTTCABLE>
YES!
<cuttlebone>
ugh i feel like shit after last night
<ELLIOTTCABLE>
wat hapen
<ELLIOTTCABLE>
i blame zackkitzmiller
<cuttlebone>
went to a concert, went crazy, super moshy, also party after
<zackkitzmiller>
do it.
<zackkitzmiller>
blame me.
<ELLIOTTCABLE>
super-moshy™
<ELLIOTTCABLE>
zackkitzmiller: I'll put you in a box with @gqbrielle.
<ELLIOTTCABLE>
it's a very small box.
<ELLIOTTCABLE>
cuttlebone: so, I'm ready to implement a PoC for insanities.
<zackkitzmiller>
okies.
<ELLIOTTCABLE>
really simple shit.
<cuttlebone>
poc?
<ELLIOTTCABLE>
proof-of-concept
<Willox>
ELLIOTTCABLE: mine does the same
<cuttlebone>
oh ok
<Willox>
me@wiox.me
<ELLIOTTCABLE>
tagging of the data-graph, and then infection form there on out
<cuttlebone>
seriously thought person of color
<cuttlebone>
lol
<purr>
lol
<zackkitzmiller>
lol
<zackkitzmiller>
\o.
<ELLIOTTCABLE>
zackkitzmiller: o7
<zackkitzmiller>
L7
<ELLIOTTCABLE>
zackkitzmiller: I can't remember, what do you write?
<zackkitzmiller>
weenie
<zackkitzmiller>
novels.
<zackkitzmiller>
poetry.
<zackkitzmiller>
anythign really.
<ELLIOTTCABLE>
no, as in, code, y'douche
<zackkitzmiller>
At this very moment, I’m write ruby. though I wish I was not.
<eligrey>
they support sandboxed native code for drm but not portable sandboxed native code for all
<eligrey>
(pnacl)
<katlogic>
$ git describe
<katlogic>
LJX-103-g403a6bc
<ELLIOTTCABLE>
gotcha
<katlogic>
ELLIOTTCABLE: tl;dr
<cuttlebone>
zackkitzmiller: Danny Brown
<katlogic>
But do they honestly think that opensourced drm will fly?
<ELLIOTTCABLE>
what?
<katlogic>
Apparently its yet to be determined if that is "sufficient means of protection"
<katlogic>
ELLIOTTCABLE: In the US, it is illegal to reverse engineer binary blob to bypass DRM.
<katlogic>
But what if DRM is opensource?
<ELLIOTTCABLE>
er,
<ELLIOTTCABLE>
you're confusing me with eligrey
<katlogic>
eligrey: s/ELLITOCABLE/eligrey/
<katlogic>
gah
<ELLIOTTCABLE>
ELLITOCABLE
<eligrey>
idk ask ELLIOTTCABLE
<katlogic>
ELLIOTTCABLE: keep your impostors in check!
<ELLIOTTCABLE>
wrong eli
<eligrey>
ELLIOTTCABLE: change the topic to the worst topicstealerest cult
<eligrey>
pls
<eligrey>
because you literally are
<ELLIOTTCABLE>
eligrey: wat
<eligrey>
you even chose to refine the topic i gave you before
<eligrey>
i mean didnt give you
<eligrey>
said
<ELLIOTTCABLE>
could you.
<ELLIOTTCABLE>
*possibly*.
<ELLIOTTCABLE>
be a bigger troll.
<eligrey>
i wanted to eventually use the topic myself
<eligrey>
but i didnt know youd take it for yourself
<katlogic>
hm
katlogic changed the topic of #elliottcable to: when we enter into programming languages we aren't primordial ape fuckers anymore. we're severed from the real forever, codemned to make a crude parody of the truth called art; a description of the sublime our shit covered skeletons can never experience.
<katlogic>
does that work?
ELLIOTTCABLE changed the topic of #elliottcable to: wait, we can change the topic?
<eligrey>
more cult
ELLIOTTCABLE changed the topic of #elliottcable to: more cult
PragCypher has joined #elliottcable
yorick has quit [Remote host closed the connection]