<whitequark>
never touched the thing in my damn life
<whitequark>
ec: hey did you think out transactions
<whitequark>
wanna hear
* whitequark
zzzzz
<whitequark>
fucked all night with this ruby parser AGAIN
<whitequark>
but now it should support literally every single insane part of syntax
<whitequark>
and there is only one thing left which I didn't implement from parse.y (except warnings but fuck warnings)
<whitequark>
do you have a ruby eval around?
<whitequark>
bf>> ++++++.
<whitequark>
purr: you dumbfuck
<whitequark>
bf> +++++.
<purr>
whitequark: [5]. Output: "\u0005"
<whitequark>
oh, so which one is valid syntax?!?!?!
<whitequark>
ruby>> "foo"
<whitequark>
rb>> "foo"
<whitequark>
ruby> "foo"
<whitequark>
rb> "foo"
* whitequark
grrrr
<whitequark>
fuck it, I'm getting some sleep.
Determinist has quit [Ping timeout: 256 seconds]
Determinist has joined #elliottcable
<ec>
hi
<purr>
ec: hi!
<ec>
sleep well, whitequark
<ec>
whitequark: purr's got no Ruby. He should, but making safe, evaluatable environments for every language, is not something I want to get into right now.
<ec>
whitequark: in all likelyhood, after the rewrite, I'm going to give him his own, dedicated VM. Something tiny from Joyent or something; something I can image, and reboot.
<ec>
whitequark: *then* I can start adding other languages I'm a little less sure are safe, and half-arsed sandboxing for them. Too many filesystem-access methodologies and too much pen-testing expertise on Freenode for me to not be paranoid about it ;)
<joelteon>
whitequark: i'm starting to see what you mean by a dumb mindset in the ruby community
<joelteon>
because the canonical accepted way to highlight code blocks in something markdown generates, for example, is to manipulate the node tree with nokogiri and replace code blocks with highlighted code blocks
<joelteon>
that's kinda how it is in ruby because of the language philosophy
<joelteon>
you can monkeypatch anything whenever you want
eligrey-space has quit [Remote host closed the connection]
eligrey has joined #elliottcable
alexgordon has joined #elliottcable
<joelteon>
i just created a volume group called Fred
gazoombo has quit [Quit: Connection closed for inactivity]
<niggler>
lol ruby
<purr>
lol
dsamarin has quit [Ping timeout: 264 seconds]
dsamarin has joined #elliottcable
dsamarin has quit [Read error: Operation timed out]
owenb__ has quit [Ping timeout: 260 seconds]
fwg has quit [Ping timeout: 245 seconds]
dnyy has quit [Ping timeout: 264 seconds]
fwg has joined #elliottcable
fwg has quit [Changing host]
fwg has joined #elliottcable
dsamarin has joined #elliottcable
gazoombo has joined #elliottcable
dsamarin has quit [Ping timeout: 264 seconds]
dsamarin has joined #elliottcable
<whitequark>
joelteon: as in
<joelteon>
as in
<whitequark>
monkeypatch nokogiri to output highlighted code blocks instead?
<joelteon>
well, i think that would be an easier way
<joelteon>
maybe not performant
<joelteon>
but the mindset is "do something clever"
<joelteon>
not "make it fast"
<whitequark>
"make it fast" is an equally wrong mindset.
<joelteon>
what would be the proper way to do it
<whitequark>
the mindset? "easy/common things should be easy, hard things should be possible, and (as a consequence) it should be hard to accidentally shoot yourself in the leg)
<whitequark>
the proper way? subclass a markdown parser
<whitequark>
ahhh I know what you mean by that markdown example
<whitequark>
it wasn't nokogiri, it was a markdown parser which was monkeypatched
<whitequark>
yes, I agree here.
Determinist has quit [Ping timeout: 256 seconds]
Determinist has joined #elliottcable
dsamarin has quit [Ping timeout: 276 seconds]
<ec>
hi
<purr>
ec: hi!
<whitequark>
hi
<purr>
whitequark: hi!
<ec>
a whitequark appears
<ec>
you weren't kidding, you *don't* sleep
<whitequark>
lol
<purr>
lol
<whitequark>
ec: btw
<whitequark>
there are universal techniques of sandboxing
<whitequark>
os-level
<whitequark>
use them.
<ec>
ooo not a bad idea
<ec>
lol seems so over-kill for an IRC bot
<ec>
Dry cheerios. Breakfast of champions.
<ec>
butts
<ec>
unicorns
<ec>
unicorn-butts
<ec>
-34 unicorn, butt
<ec>
aw
dsamarin has joined #elliottcable
owenb__ has joined #elliottcable
dnyy has joined #elliottcable
<ec>
-find spec
<purr>
ec: Found: perspective and temp spec
<purr>
joelteon: hi!
<joelteon>
hi
<joelteon>
hi!
<joelteon>
hi!
prophile has quit [Read error: Operation timed out]
ELLIOTTCABLE has quit [Remote host closed the connection]
ELLIOTTCABLE has joined #elliottcable
<ec>
micahjohnston: thanks for saying you respect me. Just read that
<ec>
whitequark: Know your pain, a bit (re: ruby parsing). Once spent a few months trying to write a pure-XML-and-regex syntax-hilighter for Ruby source that was *actually robust*. Failed. It was a painful mess.
<whitequark>
ec: it's not possible
* ec
nods
<ec>
I know.
<ec>
But I wanted one 99.9% more accuate than the *extremely* half-arsed ones out there
<whitequark>
because sometimes parsing depends on whether the last identifier is lvar or not
<whitequark>
AND lexing
<whitequark>
ie
<whitequark>
a / b # /
<whitequark>
if a is an lvar, that's division
<whitequark>
if not, it's a method call with regexp
<ec>
yep, I know
<whitequark>
they introduced this in 1.9.2, fucktards
<ec>
very familiar
<ec>
luckily for a syntax hilighter, *some* of that didn't matter.
PragCypher has quit [Remote host closed the connection]
<alexgordon>
oh man that picture
<alexgordon>
it flashes!
<ec>
“Forms of address: Dominants generally call other Doms by their name or nickname. When address subs, generally names or nicknames are the norm. Of course, this is after obtaining permission to speak to them from their "Top" if they are collared.”
<ec>
hi, alexgordon, whitequark, prophile
<ec>
looks like the European gang's all here.
<alexgordon>
I dunno, where does whitequark live?
<ec>
moscow
<whitequark>
s,live,exist,
<alexgordon>
ec: boggles the mind that someone would go to a bondage party and endure this bullshit, *but remain fully clothed*
<ec>
RIGHT.
<ec>
the one I linked, is far from fully-clothed
<ec>
looks like a full-on orgy party, massively attended
<ec>
multiple “scenes” (which means groups of people having sex in a particular place)
<ec>
Is it judgmental of me to be imagining this with almost exclusively blubbery, deformed, or old people attending?
<alexgordon>
judgemental AND accurate
<prophile>
s/or //
<ec>
oh gods prophile oh gods
<alexgordon>
"NO LIQUOR" lol
<purr>
lol
<ec>
RIGHT!?
<alexgordon>
no nudity, no alcohol, wtf is this?
<ec>
Why the FUCK would you go to this.
<ec>
See a lot of disgusting sexually-excited people … lose discrimination of whom you engage in your delicious fetishes with … not be allowed to drink, if that's your thing, or have a smoke after presumably getting off, if *that* is,
<alexgordon>
LOL @ the requested attire section
<alexgordon>
wtf is "Cyber"
<alexgordon>
no trousers?
<alexgordon>
also I didn't know "Chains" was an attire
<purr>
beep.
<ec>
alexgordon: wat.
<alexgordon>
so many rules...
<alexgordon>
ec: so paws me up
<ec>
Gimmie a moment
<ec>
Slowest-ass internet, omfg
<ec>
OMFGAJNOGKEBUAWITAUWOTONAWT
<ec>
gonna kill it
<ec>
gonna kill it all
<ec>
deathdeathdetah
* ec
is channeling micahjohnston
<ec>
th'fuck does @postmodern_mod3 have me blocked?
ELLIOTTCABLE has quit [Remote host closed the connection]
<alexgordon>
hi ec
ELLIOTTCABLE has joined #elliottcable
<ec>
so.
<ec>
what's next.
<ec>
we covered masks, in detail, and you made an analogy to GC.
<whitequark>
where?!
<whitequark>
oh I see
<ec>
whitequark: what?
<whitequark>
ec: description of masks
<ec>
so, now the down-n-dirty implementation details
<ec>
of the scheduling
<ec>
nothing magical here, just boring
<ec>
at least, if it's magical, it's only because of what we've already described
<ec>
you've got N reactors
<ec>
each reactor processes “a juxtaposition”
<whitequark>
a what
<ec>
the only operation in this VM
<alexgordon>
whitequark: a reactor
<ec>
reactor == stage
<whitequark>
no no
<ec>
sorry, trying to use a better name
<whitequark>
juxtaposition
<whitequark>
wat?
<alexgordon>
ec: light water or boiling water?
<ec>
remember Scripts?
<whitequark>
reactor is a common term which kinda means the thing you think of
<whitequark>
it's a pattern
<ec>
"foo" "bar" "baz"
<ec>
I don't know how to explain this “smartly”
<ec>
so I'll just do it the dumb way I always have :x
<whitequark>
explain this *somehow*.
<whitequark>
i don't care
<ec>
`foo bar baz` in Paws, is <locals>['foo']['bar']['baz'] in JavaScript.
<ec>
parentehesis are indirection in cPaws; so sub-expressions:
<whitequark>
wait wait wait
<whitequark>
I don't see this being turing-complete
<ec>
`foo (bar baz) widget` being <locals>['foo'][ <locals>['bar']['baz'] ]['widget']
<ec>
a “juxtaposition” is that foo[...]
<ec>
for instance, if we take “foo” as a value, a given of some sort, we can then juxtapose the label 'bar' against that value
<ec>
foo['bar']
<joelteon>
an index?
<ec>
the first node in an expression is special-cased: it's juxtaposed against the execution's “locals.” Which is as close as we get to any sort of scoping/variables/whatever.
<ec>
nope, joelteon
<ec>
so.
<ec>
in the program `foo bar baz`,
<ec>
the first juxtaposition is locals[ Label<foo> ]
<ec>
the result of which we'll call Object-foo
<ec>
the second juxtaposition is Object-foo[ Label<bar> ]
<ec>
with me?
<joelteon>
so what does that do
<ec>
getting to that.
<ec>
just making clear how expressions in Scripts, break down into a series of juxtapositions-to-be-preformed.
<ec>
i.e. operations to be schedule.
<ec>
not discussing *what* those operations do, yet (it's dynamic. <foreshadowing>)
<ec>
alexgordon: with me?
<ec>
(and/or whitequark if you're following along, I suppose)
* vil
is observing
<ec>
whitequark: while I'm waiting on alexgordon to wander his attention back over this-a-way,
<alexgordon>
reading
<ec>
whitequark: something I forgot to bring up when you and I were discussing vonn-neumann and related topics.
<vil>
apparently I have managed to pick this up previously, because I remember how all of this works
<ec>
whitequark: remind me to explain to you our analogy/concept of Rut. Something we've been using for years in this channel, it's conducive to meaningful discussion of these topics
<ec>
vil: not surprisingly. ;)
<vil>
:3
<ec>
vil: why don't *you* write a Paws, too? :D
<whitequark>
ec: i know about rut
<ec>
whitequark: oh? talked to micahjohnston about it already? :O
<whitequark>
likely
<vil>
ec: yeah yeah someday
<whitequark>
hey prophile
<whitequark>
if you/me write a paws compiler someday
<whitequark>
let's make it in ocaml
<whitequark>
<3 ocaml and good llvm bindings
<purr>
Let it be known that whitequark hearts ocaml and good llvm bindings.
<whitequark>
oh. unintended
<whitequark>
true though
<whitequark>
-loves whitequark
<purr>
whitequark: whitequark loves git, console, purr, foo, Adrian Thurston, LLVM, alsa, Tomorrow Bright, llvm, #llvm, rotting rat fetuses with birth defects, chicken, anime, notebooks with full-HD screens, ec, Atomic Object, and ocaml and good llvm bindings.
<prophile>
it'd be written in paws surely
<whitequark>
-hates whitequark
<purr>
whitequark: whitequark hates semicolonless javascript, javascript, any kind of javascript, and having to maintain his own LLVM tree.
<whitequark>
-- did I say I fucking hate javascript
<purr>
Let it be known that whitequark hates did I say I fucking hate javascript.
<whitequark>
-hates whitequark
<purr>
whitequark: whitequark hates semicolonless javascript, javascript, any kind of javascript, having to maintain his own LLVM tree, and did I say I fucking hate javascript.
<whitequark>
yes, much better.
<vil>
lol
<purr>
lol
<vil>
--hates vilhalmer
<vil>
oops
<joelteon>
--hates joelteon
<vil>
-hates vil
<purr>
vil: vil hates Eclipse and applets.
<vil>
that sounds about right
<joelteon>
objective c--
<joelteon>
wait
<vil>
-hates SphereCat1
<purr>
vil: SphereCat1 doesn't hate anything :)
<joelteon>
how do you
<vil>
yay!
<vil>
joelteon: other way
<vil>
prefix notation, dude
<vil>
only way to go anyway
<vil>
-- c++
<purr>
Let it be known that vil hates c++.
<vil>
for example
<ec>
guys. moving on.
<vil>
yes
<ec>
ocaml. I should learn that and watch you write a compiler in it. :D
<alexgordon>
-- c--
<purr>
Let it be known that alexgordon hates c--.
<ec>
alexgordon: hi?
<ec>
postfix notation works
<ec>
but only for non-spaced (i.e. single words)
<alexgordon>
c----
<purr>
Let it be known that alexgordon hates c--.
<ec>
prefix works for *any* string.
<ec>
“foo++” “foo ++” “foo-bar ++” all work
<prophile>
±± politics
<ec>
prophile: cheater.
<whitequark>
ec: ocaml is neat.
<prophile>
it's not cheating, it's just taking the initiative
<ec>
also, “<3 foo” and “<disapproval eyes> foo” work
<purr>
Let it be known that joelteon disapproves of objective-c.
<joelteon>
ಠ_ಠ objective-c
<purr>
Let it be known that joelteon hates objective-c.
<joelteon>
-- objective-c
<purr>
Let it be known that joelteon hates ##c.
<joelteon>
-- ##c
<joelteon>
-hates joelteon
<purr>
joelteon: joelteon hates ##c, #css, javascript, css, and objective-c.
<ec>
back on topic. I've got a needy girlfriend here, and the only reason I'm allowed to be here is that I'm “working.”
<ec>
so, working.
<ec>
-stop
<prophile>
##c is pretty bad
<whitequark>
why do you jate ##c so much
<whitequark>
should I go there
<joelteon>
because they idolize zhivago
<ec>
it's just full of assholes. always has been.
<ec>
oh, and zhivago, jesus christ
<joelteon>
who is the single worst person that is involved in technology including richard stallman
<alexgordon>
ec: lol type with one hand, fulfil needs with the other
<ec>
zhivago and zenspider
<ec>
why does everybody who starts with a Z suck?
<joelteon>
zrichard ztallman
<whitequark>
ec: oh also I talk with zenspider
<prophile>
zach holman is a pretty cool guy
<zec>
whitequark: stay away from me.
<zec>
lol, the one time I met him in person
<whitequark>
you told me
<zec>
oh, I did
<whitequark>
besides
<zec>
bah
<zec>
anyway
<whitequark>
if I'm a dick to him 'cause he's a dick to me
<whitequark>
then how am I better
<zec>
anyway: I'm widely hated, I should definitely have a Z-name
<whitequark>
so, whatever
<zec>
Oh, I'm not a dick to him
<zec>
as I said, my introduction was entirely genial: “Hi! I'm elliott! You hate me on the Internet!”
<whitequark>
I KNOW RIGHT
<zec>
I just stay away from *anything* invlving him
<zcable>
there we go.
<zcable>
I feel like I'm in some secret club of douchebags, now. I wasn't *truly initiated* before, but now I have a Z-name, and thus can fly with the big dogs. zenspider, zhivago, zcable.
<whitequark>
zhivago?
vil is now known as zvil
<zvil>
i am ZEEVILLLLLL
<zvil>
MUHUHAHAHA
* zvil
points out that paws is still not happening
zvil is now known as vil
<zcable>
good point
<zcable>
I'm now a Z-name, that means I get to mercilessly and unilaterally kickban people.
<vil>
oh no
* vil
dducks
<zcable>
So TALK PROGRAMMING-LANGAUGE DESIGN AND IMPLEMENTATION, MINIONS.
<zcable>
is dduck like ddis?
<whitequark>
zcable: fuck you
<whitequark>
also
<whitequark>
llvm 3.3
<whitequark>
<3 llvm 3.3
<vil>
is there's a duck unicode character?
<zcable>
why, specifically?
<vil>
type can I's?
<whitequark>
zcable: too arrogant
<zcable>
<zcable>
no, why <3 llvm
<vil>
凫
<whitequark>
zcable: about eight micro-dijkstras
<zcable>
I *know* why fuck-me. <3
<vil>
apparently that means wild duck
<whitequark>
zcable: uh... it's likely the best existing infrastructure for a static compiler?