ec changed the topic of #elliottcable to: #
<ELLIOTTCABLE> alexgordon: what am I putting in paws?
<alexgordon> ELLIOTTCABLE: lattice based programming
<alexgordon> ask whitequark
<alexgordon> fuck if I understand it
<ELLIOTTCABLE> wassat
<whitequark> ELLIOTTCABLE: see links to "Too Much Theory" above
<ELLIOTTCABLE> meh busy
<ELLIOTTCABLE> trying to fix my vim GOD DAMNIT HELP ME SO MUCH GRRUAGIBWRA
* whitequark shrugs
<purr> ¯\(º_o)/¯
<ELLIOTTCABLE> I have the following line.
<ELLIOTTCABLE> in my vimdc.
<whitequark> ELLIOTTCABLE: use sublime
<ELLIOTTCABLE> vimrc.
<whitequark> problem solved
<ELLIOTTCABLE> autocmd BufEnter * if &ft != 'nerdtree' | execute 'sign place 9999 line=1 name=dummy buffer=' . bufnr('') | endif
<whitequark> nerdtree?
<ELLIOTTCABLE> somehow … I still get a gutter, in my nerdtree
<ELLIOTTCABLE> if I comment out the line ENTIRELY,
<ELLIOTTCABLE> I get no gutter anywhere.
<devyn> GOD I LOVE THIS BAND
jvulc|znc has quit [Ping timeout: 246 seconds]
alexgordon has quit [*.net *.split]
jvulc has quit [*.net *.split]
cuttle has quit [*.net *.split]
gozala has quit [*.net *.split]
eligrey has quit [*.net *.split]
sharkbot has quit [*.net *.split]
jesusabdullah has quit [*.net *.split]
purr has quit [*.net *.split]
irclogger_com has quit [*.net *.split]
inimino has quit [*.net *.split]
devyn has quit [*.net *.split]
yrashk has quit [*.net *.split]
wudofyr has quit [*.net *.split]
dskuza has quit [*.net *.split]
Sgeo_ has quit [*.net *.split]
Nuck has quit [*.net *.split]
upgrayeddd has quit [*.net *.split]
gazoombo has quit [*.net *.split]
brr has quit [*.net *.split]
gkatsev has quit [*.net *.split]
vil has quit [*.net *.split]
jdhartley has quit [*.net *.split]
Navarr has quit [*.net *.split]
jeannicolas has quit [*.net *.split]
joelteon has quit [*.net *.split]
othiym23 has quit [*.net *.split]
ChanServ has quit [*.net *.split]
incomprehensibly has quit [*.net *.split]
duckinator has quit [*.net *.split]
ELLIOTTCABLE has quit [*.net *.split]
sammcd has quit [*.net *.split]
prophile has quit [*.net *.split]
_whitelogger has joined #elliottcable
<ELLIOTTCABLE> FUCK EVERYTHING
<joelteon> yea
<alexgordon> ELLIOTTCABLE: hi
<joelteon> hi fellers
<purr\GH> [woof] ELLIOTTCABLE opened issue #2: Wide-char / Unicode support https://github.com/ELLIOTTCABLE/woof/issues/2
<ELLIOTTCABLE> alexgordon: hi
<ELLIOTTCABLE> alexgordon: sorry, busy bloodying my head against the brick wall of Unicode support in JavaScript
<ELLIOTTCABLE> alexgordon: http://ell.io/tt$woof/issues/2
<alexgordon> ELLIOTTCABLE: I'm glad you agree that "wide characters" are the most idiotic bullshit ever
<ELLIOTTCABLE> how do you mean?
<ELLIOTTCABLE> not everything is ASCII, English, simple text.
<ELLIOTTCABLE> what is the “most idiotic bullshit ever” is that computers are based on a text-processing system that *assumes* as much.
<ELLIOTTCABLE> What we need is a new operating system and network protocol and everything-fucking-else, built to *disnecessitate* Unicode, entirely.
<ELLIOTTCABLE> Nothing matters but text, but there's more to text than text.
<ELLIOTTCABLE> some day, after summiting my programming-language mountain, I'm going to move to a cave in Norway, and spent twenty years developing a text-only operating system.
<ELLIOTTCABLE> something excellent, beautiful, flexible. No nerdy, geekbeard, linux-y bullshit.
<joelteon> geekbeard
<ELLIOTTCABLE> Something a designer would love. Something your grandma would love.
<ELLIOTTCABLE> Something fully supporting everything you could possibly consider “text,” not just some columns-and-rows of ASCII bullshit.
<ELLIOTTCABLE> something without useless fucking images, or colorful scrollbars, or windows, or borders, or buttons. Just text. Lots, of beautiful, text.
<ELLIOTTCABLE> </rant>
<joelteon> what about web browsing
<ELLIOTTCABLE> but yeah. Unicode support in JavaScript? Kill me now.
<alexgordon> ELLIOTTCABLE: "wide characters" are stupid because the only two representations for unicode that make sense are utf-8 and codepoints
<ELLIOTTCABLE> alexgordon: errrr, that's not what wide-characters mean.
<ELLIOTTCABLE> do you mean surrogate pairs?
<alexgordon> that's what it means in js!
<ELLIOTTCABLE> “wide character” is a command-line thing. Graphemes that take up more than one column.
<alexgordon> I meant like wchar_t
<joelteon> i've also seen it mean
<joelteon> yeah, like wchar_t
<ELLIOTTCABLE> sorry, I speak ‘Unicode,’ not ‘flawed-programming-language-spec.’
<ELLIOTTCABLE> I miiiiiiight be a bit grumpy. Sorry guys. Insanely difficult few days.
<joelteon> isn't that called a "double-width character"?
<ELLIOTTCABLE> not necessarily double-width. Could be triple-width, or more. *shrug*
<purr> ¯\(º_o)/¯
<ELLIOTTCABLE> Speaking of which, that's enough computer time. bbl back to acting as caretaker for convalescent.
<alexgordon> ELLIOTTCABLE: :\ how long have you been up for now?
<ELLIOTTCABLE> long time
<ELLIOTTCABLE> foodtime I suppose.
<ELLIOTTCABLE> excellllleeeeent
<ELLIOTTCABLE> getting there, getting there …
chjj has joined #elliottcable
alexgordon has quit [Quit: Computer has gone to sleep.]
whitequark has joined #elliottcable
<ELLIOTTCABLE> chjj: Hey! (=
<chjj> ELLIOTTCABLE: hey
<ELLIOTTCABLE> chjj: I'm headed out to grab food; I'll tether once I get to Perkins, and sit down and chat for a few. Say, fifteen or twenty minutes from now? You got a couple? (=
<chjj> ELLIOTTCABLE: i'm actually kind of busy tonight
* ELLIOTTCABLE nods
<ELLIOTTCABLE> it can wait. obviously nothing time-sensitive.
<chjj> roger
<ELLIOTTCABLE> When's best for you? I'm only mildly busy this week.
<chjj> maybe we can discuss it on github?
<ELLIOTTCABLE> well, just wanted to chat about it first
<chjj> alright
<chjj> sometime tomorrow then
* ELLIOTTCABLE grins
<ELLIOTTCABLE> cool by me. fly safe. <3
<chjj> roger
eligrey has quit [Quit: Leaving]
eligrey has joined #elliottcable
eligrey has quit [Read error: Connection reset by peer]
eligrey has joined #elliottcable
<cuttle> ELLIOTTCABLE:
<cuttle> ELLIOTTCABLE: debugging js is *so* frustrating
<cuttle> ELLIOTTCABLE: :p
<joelteon> should I write something in go? i'm curious about it
<ELLIOTTCABLE> hi
<purr> ELLIOTTCABLE: hi!
<ELLIOTTCABLE> cuttle: welcome to what we all already knew.
<ELLIOTTCABLE> cuttle: what, in specific, is bugging you?
<cuttle> ha ha
<cuttle> bug
<ELLIOTTCABLE> joelteon: the answer is no, as I was telling dskuza the other day
<joelteon> why not
<ELLIOTTCABLE> cuttle: yes yes we all know I'm funny etcetcetc
<cuttle> idk go seems
<cuttle> *way* funner than C
<ELLIOTTCABLE> cuttle: I'm dealing with Unicode in JS.
<cuttle> and way faster than ruby etc.
<ELLIOTTCABLE> which is, just, so much of a clusterfuck it's not even funny.
<joelteon> i'm not writing stuff in C
<cuttle> so I mean
<cuttle> and it's got a great stdlib and community and shit
<joelteon> i've written C
<cuttle> i'd say Go for it
<ELLIOTTCABLE> but it's not got the portability or universality of C.
<cuttle> sure
<ELLIOTTCABLE> if I'm going to work in any low-level language, it's simply not going to be anything but C.
<cuttle> but C is like
<cuttle> getting anally raped
<cuttle> a lot fo the time
<ELLIOTTCABLE> and if it *were* anything other than C, it'd be Rust.
<cuttle> rust is in huge flux
<joelteon> if i had to write a compiled language it would be rust
<joelteon> or haskell
* ELLIOTTCABLE nods
<cuttle> and is not as simple and fun as go
<ELLIOTTCABLE> I know that.
<joelteon> orrrrrrrrrrrrrr C
<cuttle> i will go with rust in the future
<cuttle> for like
<joelteon> C is a lot of fun
<cuttle> compilers and shit
<ELLIOTTCABLE> Luckily, I'm not likely to be writing low-level stuff for several more years.
<cuttle> but go for now is like actually in a sweet spot
<ELLIOTTCABLE> and even then, as mentiond above, it'll still be in goddamn C.
<cuttle> not for kernels, but for everything slightly above that
<ELLIOTTCABLE> “I will go with rust in the future”
<joelteon> I really want to do my own language
<cuttle> like I honestly think I'm going to write a compiler in Go now
<ELLIOTTCABLE> there we go
<joelteon> just to learn how to do a language
<cuttle> I just convinced myself
<ELLIOTTCABLE> let's do a Go/Rust bridge
<joelteon> Grust
<ELLIOTTCABLE> lololol
<purr> lololol
<cuttle> lol
<ELLIOTTCABLE> Ro*
<ELLIOTTCABLE> short names ftw
<joelteon> "Gusto"
<joelteon> there we go
<ELLIOTTCABLE> Rusto?
<ELLIOTTCABLE> ew no
<ELLIOTTCABLE> Gusto sounds too generic-new-programming-language
<cuttle> heh gusto
<cuttle> gust
<ELLIOTTCABLE> like, I wouldn't blink twice *at all* if a new programming language showed up on Hacker News named gusto
<cuttle> like wind
<ELLIOTTCABLE> I'd just ignore it.
<joelteon> how about "urethra
<joelteon> "
<cuttle> Gust: a Go-Rust bridge
<ELLIOTTCABLE> gotta have an attention-grabbing name. ;)
<ELLIOTTCABLE> Gust ain't bad
<ELLIOTTCABLE> but Ro is still better ;)
<cuttle> haha
<cuttle> reminds me
<joelteon> call it "C, you fucking idiot"
<ELLIOTTCABLE> WHY ARE WE EVEN TALKING ABOUT THIS IT MAKES NO SENSE
<cuttle> I brought my Go board up here
<joelteon> "what language are you writing it in?"
<cuttle> got to play some Go
<ELLIOTTCABLE> CYFI
<joelteon> "C, you fucking idiot"
<ELLIOTTCABLE> errrr
<joelteon> someone needs to make a language called butts
<joelteon> with a build tool called cleft
<ELLIOTTCABLE> cuttle: http://ell.io/tt$woof/issues/2 *that
<joelteon> and a package manager called glute
<ELLIOTTCABLE> joelteon: *please* make a language called butts.
<joelteon> ok
<joelteon> i'll make a language called butts
<joelteon> B
<joelteon> utts
<ELLIOTTCABLE> if you're not an idiot and it's not totally Rut, I'll totes contribute. Just 'cause of the name.
<joelteon> okay
<cuttle> lul what's woof?
<ELLIOTTCABLE> myLibrary.butt
<cuttle> joelteon: do NOT make it a reskin of brainfuck
<ELLIOTTCABLE> cuttle: oh, just some yak-shaving for Paws.js
<joelteon> no
<joelteon> it's gonna be a proper language
<joelteon> compiled
<cuttle> ok cool
<ELLIOTTCABLE> good.
<ELLIOTTCABLE> ugh, compiled?
<joelteon> yeah suck dicks
<cuttle> I want to make a genuine fast compiled language
<joelteon> or maybe not
<ELLIOTTCABLE> just do something dynamic with a jit.
<cuttle> with graph rewriting shit
<joelteon> okay jit then
<cuttle> i mean probably vm yeah but yeah
<ELLIOTTCABLE> cuttle: what was that stuff whitequark was talking about earlier? I trust *you* can explain it to me.
<cuttle> don't want java vm start times
<cuttle> ELLIOTTCABLE: what specifically?
<joelteon> it has good performance though
<joelteon> >_>
<ELLIOTTCABLE> errrr, idk
<ELLIOTTCABLE> alexgordon said it was over his head
<cuttle> oh with alex ok
<ELLIOTTCABLE> meh talk later code now. by guys. <3
<ELLIOTTCABLE> time to debug this shit.
<cuttle> devyn: i suppose i am a low-door :p
<ELLIOTTCABLE> oh, btw, woof is just percival, cord, and etc rewritten
<cuttle> ELLIOTTCABLE: oh did i tell you how i've resolved not to drink very much in the future
<cuttle> just like little bits
<ELLIOTTCABLE> it's me writing something that I'm absolutely excellent at, instead of doing anything new or innovative.
<cuttle> because, *every* time, I make everyone around me super mad at me
<ELLIOTTCABLE> alexgordon does parsers.
<ELLIOTTCABLE> I do CLIs.
<cuttle> hahaha
<ELLIOTTCABLE> I don't *like* CLIs, or think they're important or innovative,
* cuttle nods
<ELLIOTTCABLE> but *fuck* if I don't know a lot about ANSI escapes and Unicode and termcap and ncurses and *not*-ncurses, and …
<ELLIOTTCABLE> so.
<cuttle> whitequark: ooh lattices
<ELLIOTTCABLE> gonna make something like `console.dir()`, but better. And apply everything I know.
<joelteon> there's apparently a language called butts already
<cuttle> ELLIOTTCABLE: haha yeah you have me far outgunned on that front
<ELLIOTTCABLE> joelteon: if it's a turing tarpit, ignore it.
<joelteon> ok
<ELLIOTTCABLE> I've written command-line data-inspectors of some sort, no less than five times. *five*.
<ELLIOTTCABLE> two in Ruby, three in JavaScript.
<ELLIOTTCABLE> this is my sixth, and I'm going to apply everything I learned from all of those.
* ELLIOTTCABLE shrugs
<purr> ¯\(º_o)/¯
<ELLIOTTCABLE> very unimportant, but just something I need to exist.
<cuttle> my CS homework: !((!a1 . !a0) . (!a1 . b1) . (!a1 . b0) . (a1 . !a0 . b1) . (a1 . a0 . b1 . b0))
<ELLIOTTCABLE> cuttle: “low-door?”
<cuttle> that is a NAND-only <= function on the (a1, 0) and (b1, b0) binary functions
<cuttle> ELLIOTTCABLE: devyn, weeaboo that he is, was talking about the word for non-drinker in japanese
<cuttle> means low-door, referring to having a low tolerance
<cuttle> I think
<ELLIOTTCABLE> k. I'm closing IRC to Get Shit Done.
<ELLIOTTCABLE> love, cuttle <3
<cuttle> aw ok
<joelteon> i haven't closed weechat in ages
<cuttle> BREKAING BAD EPISODE IS OUT
<cuttle> WATIING FOR IT TO DOWNLOADOADODAODAOODOAD
<joelteon> it's been running for 8 weeks
<cuttle> joelteon: ELLIOTTCABLE will still be online, just closing his client
<joelteon> lel
<cuttle> don't wanna miss those messages
<ELLIOTTCABLE> lololol
<purr> lololol
<joelteon> just gonna x the window
<ELLIOTTCABLE> re-opened *just* to say this
<ELLIOTTCABLE> … no idea why that /me'd
<cuttle> haha look at the t.co link-lengthener
<ELLIOTTCABLE> fucking hate t.co
<cuttle> me too
<cuttle> twitter should: relax 140 characters in case of links
<ELLIOTTCABLE> fucking fucking fucking hate it
<cuttle> instead of
<ELLIOTTCABLE> riiiiight?
<cuttle> store links as fucking single point of failure awful
<ELLIOTTCABLE> k *now* gone bai
<joelteon> sure thing bud
<cuttle> aw
<cuttle> ok
<cuttle> ELLIOTTCABLE: bye
<whitequark> fuck
<whitequark> two boards I have are dead
<whitequark> and on the remaining one there's a faulty button and buzzer
<whitequark> well, it's not that much unexpected, but still annoying
<purr> <alexteabaggordon> honors dorms ski wax room
eligrey has quit [Quit: Leaving]
<purr\GH> [woof] mathiasbynens comment on issue #2: FWIW:... https://github.com/ELLIOTTCABLE/woof/issues/2#issuecomment-24901343
<purr> <alexgordon> I remember browsing through this ruby code and it was so riduclously cramped, like it had been written on a tamagotchi
<purr> <sephr> he was clearly moaning "SEPHR"
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
_whitelogger has joined #elliottcable
cloudhead has joined #elliottcable
Sgeo_ has quit [Read error: Connection reset by peer]
_whitelogger has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
_whitelogger_ has joined #elliottcable
_whitelogger has quit [Remote host closed the connection]
_whitelogger_ has joined #elliottcable
Sorella has joined #elliottcable
Sorella has joined #elliottcable
_whitelogger_ has joined #elliottcable
<purr> <elliottcable> If you mention CoffeeScript, I'm going to slap you with my tornado.
brr has joined #elliottcable
PragCypher has joined #elliottcable
fwg has joined #elliottcable
alexgordon has joined #elliottcable
Sorella has quit [Quit: Ex-Chat]
yorick has joined #elliottcable
<purr> <elliottcable> oh gods eboyjr is a progress bar
niggler has joined #elliottcable
fwg has quit [Ping timeout: 240 seconds]
<yorick> eboyjr is a progress bar? I knew it
<joelteon> hi foggets
eligrey has joined #elliottcable
eligrey has quit [Read error: Connection reset by peer]
eligrey has joined #elliottcable
<joelteon> ok, i gotta start designing butts
<joelteon> what kind of focus do we want
<alexgordon> "This Arab-Israeli patriotic song is really infamous in Russian internet circles. It is called "Bladi" (Arabic for "my country"), which sounds like "whores" in Russian. The first words of the chorus - "Ya bladi, jawwek hadi, ma ahlaki, ya bladi" (O my country, your climate is soft, what is more beautiful than you, o my country?) - sounds rather close to "Where do whores live, yeah, the whores, the furry whores?" in Russian. The rest of the
<alexgordon> song sounds no better, what with misheard "Russian" lyrics someone provided. Given that a huge proportion of Israeli Jews are Russian-speaking, it's a wonder no one in the audience burst into laughter."
<joelteon> oh man, what are the odds
<alexgordon> "There are two state lotteries in Chile - the oldest and largest is the Polla Chilena de Beneficencia note . Originally, the word "polla" meant "betting pool", a meaning that's still in vigour in most of Spanish-Speaking Latin America... but in Spain, it's slang for "penis". Invariably, Spaniards visiting Chile are amused by this particular lottery and some of its advertising: "Juegue con la polla y sea feliz." ("Play with the lottery and be
<alexgordon> happy.")"
<joelteon> amazing
fwg has joined #elliottcable
<alexgordon> oh man emmerdale
<alexgordon> "Woolworths put a children's bunk-bed for sale on their website under the name Lolita, and seemed genuinely baffled that people didn't take it well"
<purr> Lolita
<alexgordon> thanks purr
fwg has quit [Ping timeout: 252 seconds]
<cuttle> -what
<purr> <alexgordon> micahjohnston: eboyjr: 'it turns out that' clang doesn't support grapefruits
<cuttle> -what
<purr> <alexgordon> is that when the asians arrive?
<cuttle> -what
<purr> <IamTash> it's chaos and it makes me smile.
<cuttle> -what
<purr> <devyn> no, the plastic kind
<cuttle> -what
<purr> <alexgordon> currently problem: two while loops
<cuttle> -what
<purr> <Nuck____________> devyn________: Srsly bro
<cuttle> -what
<purr> <Nuck> Dildos are the next printers?
<cuttle> -what
<purr> <prophile> I wish nigger was more socially acceptable because it's a great onomatopoeia for the sound of a helicopter. niggerniggerniggerniggerniggerniggernigger
<cuttle> -what
<purr> <whitequark> alexgordon: well, I'm all for sex being side-effect free
<cuttle> -what
<purr> <elliottcable> dude, birdy nam nam
<cuttle> -what
<purr> <micahjohnston> devyn: say everyone in the world eats shit for breakfast and dies at twelve after having quadruplets
<cuttle> -what
<purr> <devyn> nerrrrrrrrrrl
<cuttle> -what
<purr> <joelteon> you don't realize how much pressure there is for the cool kids to rub their faces in poop these days
<cuttle> -what
<purr> <Nuck> purr isn't C
<cuttle> -what
<purr> <banisterfiend> you just struck me as a naruto kind of guy
<cuttle> -what
<purr> <alexgordon> my arse is a abacus
<alexgordon> what?
<alexgordon> hi cuttle
fwg has joined #elliottcable
fwg has quit [Read error: Connection reset by peer]
<whitequark> alexgordon: lol @ blyadi song
<purr> lol
<whitequark> it is indeed hilarious and sort of well known
<purr> <elliottcable> I feel like Nuck and devyn just both turned into purrs, and some meta-devyn is controlling them via ^O^O.
<purr> <alexgordon> eboy just had an orgasm aftershock
<joelteon> when did i say that
<joelteon> i don't remember saying that
niggler has quit [Quit: Textual IRC Client: www.textualapp.com]
alexgordon has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
<joelteon> play with the penis and be happy
PragCypher has quit [Quit: Leaving]
<purr\GH> [System] ELLIOTTCABLE pushed 7 new commits to Master: https://github.com/ELLIOTTCABLE/System/compare/44192577824b...15f548a8ca06
<purr\GH> System/Master 9c6a27b elliottcable: (- vim fix) Fixing the gutter-highlighting
<purr\GH> System/Master 3aad46c elliottcable: (vim fix incomplete) Trying to get rid of the gutter on the NERDTree buffer
<purr\GH> System/Master af6e81e elliottcable: (- shell new) mvan alias
<purr\GH> [woof] ELLIOTTCABLE comment on issue #2: @mathiasbynens I'll already be using Browserify for other reasons, and if I npm-install it, then my code can `require()` it the same way it `requires()` anything else. Simply more expedient for my specific uses, here. ;)... https://github.com/ELLIOTTCABLE/woof/issues/2#issuecomment-24955238
<whitequark> wait
<whitequark> someone SERIOUSLY CONSIDERED THAT?!
<whitequark> WTF
<joelteon> wat
<joelteon> does anybody know what happens if you use unicode combining characters on zero-width characters?
<whitequark> "it depends"
<whitequark> unicode standard will provide you a reference rendering, but real-world engines almost certainly are going to do something weird
<joelteon> which is what I was afraid of
<joelteon> ok, deja vu at least just draws it like a dash
alexgordon has joined #elliottcable
<alexgordon> lexer: done (ish). parser: done (ish), parse tree: done (ish)
<alexgordon> we're on to: SEMA!
<whitequark> that was fast
<whitequark> also I'm lost on tvtropes
<whitequark> halp
<joelteon> alexgordon: you were RIGHT
<joelteon> but for the wrong reason
<joelteon> it turns out a bare ampersand CANNOT appear in body text
<joelteon> it must either be part of 1. a tablump or 2. an HTML entity
<joelteon> so I can optimistically tokenize based on that
<joelteon> instead of building an AST, I have a token stream I can render directly
<alexgordon> whitequark still?! hahaha
<joelteon> you get lost in tvtropes for like six hours
<whitequark> uh yes it's been 2.5 hours
<joelteon> i've done it
<whitequark> joelteon: six hours?
<whitequark> how about TWO DAYS
<joelteon> yeah
<joelteon> like that
<cuttle> hi alexgordon
<cuttle> alexgordon: your arse is an abacus
<cuttle> alexgordon: help me design the last bit of my thing
<cuttle> alexgordon: well first, the name of the repository
<cuttle> alexgordon: and then, the last bit
<alexgordon> hi cuttle
<cuttle> hi alexgordon
<alexgordon> cuttle: FURROW IS COMING TOGETHER
<cuttle> alexgordon: coo
<alexgordon> I'm doing SEMA
<alexgordon> or as jeannicolas knows it, smegma
<cuttle> semantics?
<alexgordon> semantic analysis
<purr> <Nuck> Richard Stallman would be *so* pissed at elliottcable.
<alexgordon> hm
<alexgordon> need some kind of stack while I'm sema-ing
<alexgordon> consider the "continue" statement. I need to check that one of its parent statements is a loop
<alexgordon> could achieve that with parent pointers but I'm trying to avoid that
<joelteon> you know i'm a god damned genius
<joelteon> now I can apply transformations to only plain text nodes
<alexgordon> lol joelteon
<purr> lol
<alexgordon> cuttle: what's the thing?
<cuttle> alexgordon: a game thing in js
<joelteon> it is obviously that your a foggot
<alexgordon> sema is hard! is there any other kinds of errors you can get with break/continue statements?
<alexgordon> apart from them not being in a loop
<joelteon> no
yorick has quit [Remote host closed the connection]
<alexgordon> can't think of anything
<joelteon> what's sema
<alexgordon> just checked clang, the answer is nope
<alexgordon> joelteon: SEMantic Analysis
<joelteon> oh
<alexgordon> but I can't be bothered to type that
<alexgordon> :P
<joelteon> wow sema looks complicated
<alexgordon> joelteon: yeah it's the most complicated part of compiling
<alexgordon> in the front end anyway
<joelteon> that's gonna be the worst part
<alexgordon> yah
<alexgordon> everything else is rather automatic
<alexgordon> but sema involves thinking :P
<joelteon> i hate that
<alexgordon> me too
<joelteon> so ruby raises a LocalJumpError if break is in the wrong context
<joelteon> resolved at runtime
<joelteon> that's much easier
<alexgordon> -_-
<joelteon> and slower
<joelteon> heh
<alexgordon> I like compilers
<joelteon> me too
<alexgordon> to tell me when something is wrong
<alexgordon> without having to run it
<joelteon> wouldn't a functional language be easier to write sema for
<alexgordon> C can do that
<alexgordon> if your language can't do something that C can do, it's probably not very good
<alexgordon> /troll
<alexgordon> joelteon: for sure, but furrow isn't completely functional
<joelteon> oh
<alexgordon> it has loops and conditionals and variables
<alexgordon> hm, is furrow purely functional? I suppose it is in a way
<alexgordon> as far as internal state goes
<alexgordon> there's no global variables or pointers
<joelteon> like, it would be easier to manage control flow using recursion instead of for/continue/break
<alexgordon> joelteon: I disagree with this
<alexgordon> I hate recursion
<alexgordon> recursion is a poor man's loop
<alexgordon> (THAT's going to piss of whitequark)
<alexgordon> *off
<joelteon> sure
<joelteon> but you don't have to break out of recursion
<joelteon> you just return something
<alexgordon> joelteon: yeah and you end up with spaghetti
<joelteon> i dunno
<joelteon> recursion makes more sense than iteration to me
<alexgordon> hold on, I'll fetch proof
<alexgordon> spaghetti.
<alexgordon> a loop would make that INFINITELY clearer
<joelteon> ok
<alexgordon> hahaha
<joelteon> how would you make that a loop
<joelteon> transpose, i mean
<alexgordon> easy
<alexgordon> notice it only works on [[a]]
<alexgordon> it's not a general transpose
<alexgordon> so just have two loops, with output[i][j] = input[j][i]
<joelteon> ok
<joelteon> what about non-rectangular lists?
<alexgordon> I dunno, but I'm sure it's doable
<joelteon> sure, but recursion makes that much simpler
<alexgordon> disagree
<alexgordon> look at it! it's impossible to make any sense out of it
<joelteon> runState, take the output of the state computation and feed it into the next
<joelteon> it reads exactly the same as a loop
<joelteon> except the output would be more like
<joelteon> output += text
<joelteon> or something
<cuttle> alexgordon: not an error, but code after them is useless
<cuttle> in the same block
<cuttle> :p
<alexgordon> cuttle: that's true
<alexgordon> guess that would go in Block rather than ContinueStmt
<joelteon> for { continue }
<joelteon> well, i mean
<joelteon> if you write a lot of haskell, you get used to reading functions that are designed to be recursive
<joelteon> the transpose looks like how i'd write it
<joelteon> it's not anything crazy
<joelteon> what if you had to solve tower of hanoi iteratively
<joelteon> that sounds like a bitch
<alexgordon> I'm not saying recursion is evil
<alexgordon> I'm saying using it instead of loops when a loop would be simpler is evil
<joelteon> oh
<cuttle> but yeah
<cuttle> don't use it exclusively
<alexgordon> now, I do like higher order functions
<cuttle> there are a lot of places recursion is what comes to mind first
<alexgordon> and frequently the solution is not "use recursion" or "use loops" but "combine several functions"
<cuttle> i wish it didn't have to be the primitive in haskell
<alexgordon> I just feel like I'm missing something when I use haskell
<cuttle> like i mean it's elegant that you have nothing else
<cuttle> but yeah
<joelteon> you have not been fully assimilated
<alexgordon> lol I don't WANT be
<purr> lol
<alexgordon> I want to maintain my innocence
<alexgordon> when you start writing code that only "assimilated" people can read, that's either the road to unemployment or job security
<whitequark> alexgordon: (poor man's loop) lolwat
<purr> lolwat
<whitequark> oh, 03:14 <+alexgordon> I'm saying using it instead of loops when a loop would be simpler is evil
<whitequark> then I sorta agree
<whitequark> but I prefer iterating with higher-order functions anyway, with an explicit disregard to their internal implementaiton
<whitequark> oh you said that too
<alexgordon> lol
<alexgordon> TEN STEPS AHEAD OF YOU ;)
<whitequark> lol
<alexgordon> man, I have a new found respect for literals
<alexgordon> they're so easy
<alexgordon> especially boolean literals
<alexgordon> there's literally nothing to do. lex... codegen... done
<cuttle> about recursion and higher order functions
<cuttle> incidentally, that's one reason I like J/K
<cuttle> alexgordon: haha yeah those are easy
<cuttle> haha yeah I think we all agree here
<joelteon> everything should just be literals