rckts has quit [Quit: Computer has gone to sleep.]
alexgordon has quit [Quit: Computer has gone to sleep.]
<jesusabdullah>
accelerando starts strong
<jesusabdullah>
imo
Sgeo has quit [Read error: Connection reset by peer]
devyn has quit [Read error: Connection reset by peer]
<ec>
incomprehensibly: OH MY GOD REALLY!?
<incomprehensibly>
ec: yeah really
<incomprehensibly>
going to soon though once I'm out of the house and don't have to conceal my tv watching
<incomprehensibly>
:p
<incomprehensibly>
agh gtggggg :(
Sgeo has joined #elliottcable
<incomprehensibly>
jesusabdullah: yeah i like the russian speech thing on the lobsters
<ec>
incomprehensibly: hi
<ec>
ick bye
<incomprehensibly>
ec: hi
<incomprehensibly>
:p
<incomprehensibly>
yeah
<ec>
minecraft?
<incomprehensibly>
OUT OF THE HOUSE ON THURSDAY
<ec>
I've got something I need to test
<incomprehensibly>
BUT HAVE TO GO TO BED
<incomprehensibly>
:(
<ec>
wrote an installer-script for my server
<ec>
OMG I HEARD
<ec>
DUDE LET'S HAVE A PARTY
<incomprehensibly>
OUT OF THE HOUSE ON THURSDAY
<incomprehensibly>
YEAH FOR REALS
<ec>
where're you moving to.
<incomprehensibly>
the U of U dorms
<ec>
I'll come visit and bring EVIL THINGS.
<incomprehensibly>
haha sweet
<ec>
liquor or drugs or girls or books
<ec>
writing an install-script for my server
<ec>
just had my girlfriend's best-friend flip shit on me because I tried to walk her through installing Forge into her minecraft
<ec>
and she's a minecraft nut, so I was super-surprised
<ec>
so.
<ec>
I figure it's easier to say “open Terminal.app, and paste this in: ruby -e "$(curl -fsSL http://ell.io/mods/install)"
<incomprehensibly>
i have been drunk once
<incomprehensibly>
and been in the company of drunk people but had to drive home too soon quite a few times :p
<incomprehensibly>
been high several times
<incomprehensibly>
and nbome one time
<incomprehensibly>
aghaghaghahg gtg
<incomprehensibly>
:(
<incomprehensibly>
talk tomorrow?
<jesusabdullah>
incomprehensibly: lobsters?
devyn has joined #elliottcable
<ec>
-learn mods = Run the following to install Minecraft Forge, and the mods necessary to play on our Minecraft server: `ruby -e "$(curl -fsSL http://ell.io/mods/install)"`
<purr>
ec: Learned `mods`.
<ec>
-learn alias forge = mods
<purr>
ec: Learned `forge` => `mods`.
<ec>
-mods
<purr>
ec: Run the following to install Minecraft Forge, and the mods necessary to play on our Minecraft server: `ruby -e "$(curl -fsSL http://ell.io/mods/install)"`
incomprehensibly has quit [Ping timeout: 264 seconds]
gozala has quit [Ping timeout: 264 seconds]
gazoombo has quit [Ping timeout: 245 seconds]
ec has quit [Ping timeout: 245 seconds]
upgrayeddd has quit [Ping timeout: 245 seconds]
ec has joined #elliottcable
<ec>
woah
<ec>
I got lost o_O
<joelteon>
where
incomprehensibly has joined #elliottcable
gozala has joined #elliottcable
gazoombo has joined #elliottcable
upgrayeddd has joined #elliottcable
<whitequark>
devyn: well I could stream eight 1080p HD movies
<devyn>
whitequark: hold on what was that in reply to
<whitequark>
200mbit internet not very useful
<devyn>
oh I wasn't saying 200mbit was not useful
<devyn>
I was saying treating forall/forany as category and cocategory isn't
<devyn>
lol
<purr>
lol
<whitequark>
ahhhh
<whitequark>
well sure it isn't
<whitequark>
but can I? :D
<whitequark>
I guess I really should read TAPL
<devyn>
heh
<whitequark>
I'm also sort of lost on another topic
<whitequark>
you see, I probably have the only case ever when restricting computation to be done *only* with monads is useful
<whitequark>
there is a technique for (surprise) embedded development, when you treat your internal side-effecting actions with monads, and using that as a reasoning framework, prove that your program never hangs. this of course rules out arbitrarily recursive data structures, but
<whitequark>
in embedded they are often forbidden as is, so it doesn't take much.
<whitequark>
however that doesn't deal with user input, and this is why you need comonads! so, you represent it with a comonad, and once again you're able to prove that with finite input, your program always terminates
<whitequark>
I'm afraid however that about zero people from my target audience will be able to understand, simultaneously, the importance of it, the internal logic of it, and the implementation of it
<whitequark>
so it's probably useless.
<devyn>
just leave that up to analyzer tools after the fact
<devyn>
if you give your compiler a decent API, people will do what they want with it
<whitequark>
makes sense
<whitequark>
well, see, the compiler "is" the API.
<whitequark>
there is nothing in the language which you cannot access from inside the language!
<whitequark>
well, actually, there is, because you don't probably want to optimize it all on your own
<devyn>
so you could implement something like clang static analyzer from within? :p
<whitequark>
sort of
<whitequark>
it would be much easier to implement it as a pass on IR, though.
<devyn>
and can you do that from within the language?
<whitequark>
no, for a variety of reasons
<devyn>
fair enough. so you need an API for custom IR passes, then
<whitequark>
yeah
<whitequark>
compiler plugins
<devyn>
yeah.
eligrey has quit [Quit: Leaving]
* ec
smiles
<ec>
I love it when I watch this room do productive things.
yorick has joined #elliottcable
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
<whitequark>
also lol @ ec calling foundry "very academic"
<purr>
lol
<whitequark>
"very academic" in my view includes formalization of small-step operational semantics and a proof of soundness in coq
<whitequark>
(not that I would object...)
<whitequark>
(... to someone writing that impenetrable stuff for me)
Sgeo has quit [Read error: Connection reset by peer]
<whitequark>
devyn: hey hey
<whitequark>
I just realized I have a *really* neat, simple and easy to understand system for assigning meaning to type variables and variances
<ec>
It's a fairly nice, high-end place. And relatively cheap for what it is.
<ec>
Keyword ‘relatively.’ G'damn cities. ddis
<ec>
k, shower, food, etc.
<joelteon>
guhdamn
alexgordon has joined #elliottcable
<alexgordon>
yo
<alexgordon>
is ec still here?
<alexgordon>
WHERE HAS HE GONE
<joelteon>
hey, uh, anybody know how to figure out who an IP belongs to
<alexgordon>
joelteon: yes
<whitequark>
whois
<joelteon>
no kidding
<joelteon>
why did reiser kill his wife?
<alexgordon>
joelteon: write to their ISP saying "IP address XYZ was reported at <time> torrenting Backdoor Sluts 9, for which we own the intellectual property rights. Please give us the name and address of the user"
<joelteon>
oh good idea
<joelteon>
except it's my server
<alexgordon>
:P
<joelteon>
or it used to be
<alexgordon>
...
<joelteon>
otte.rs points to a server that i used to own and now I can't find fit
<alexgordon>
THEN THE IP BELONGS TO YOU
<joelteon>
find it
<joelteon>
right
<joelteon>
but who gave it to me is the question
<joelteon>
it might be buyvm's, someone set up a new website and my stale DNS entry is still pointing to them
<alexgordon>
lol
<purr>
lol
<joelteon>
oh, he was mad about custody stuff
<joelteon>
i see
<joelteon>
i have to wait for the DNS entry to update before i send this help message to last.fm
<whitequark>
joelteon: reiser ?
<joelteon>
yeah
<joelteon>
i would be pretty mad if my wife was inventing illnesses in my children, but I would NOT strangle her
<joelteon>
oh well
<alexgordon>
joelteon: reiser is a psychopath...
<joelteon>
yeah looks that way
<joelteon>
is reiserFS any good?
<alexgordon>
in its day
<joelteon>
oh well
<ec>
hi
<purr>
ec: hi!
<ec>
I have coffee, bitch
<joelteon>
i have bitch coffee
<ec>
that's pretty great sounding coffee
yorick has quit [Remote host closed the connection]
<alexgordon>
ec!
<joelteon>
I'm listening to Fleshgod and writing code
<joelteon>
this is an ok day
<whitequark>
sounding coffee
<whitequark>
is it like a sounding rocket
<ec>
hi whitequark
<ec>
no, it's more like a sounding rod
<ec>
;)
<joelteon>
it's like a rounding socket
* whitequark
is watching servant x service
<whitequark>
it consists entirely of awkward situations.
<whitequark>
and people in awkward situations discussing other awkward situations.
<whitequark>
ad infinitum
<whitequark>
why exactly is their boss a stuffed animal
<whitequark>
oh right, that's awkward.
<ec>
what is this show? some sort of Russian Mafia shit?
<ec>
I've really, really let my organization-system pile up.
<ec>
I'm up to Inbox 34.
<ec>
Ugh, my Form 1 shipment was pushed back, my Automatic shipment was pushed back, ALL OF MY COOL KICKSTARTER TOYS ARE DELAYED
<ec>
I've been waiting for these things half a year! C'MMON GUYS
<ec>
http://3dtin.com/ looks fucking impressive, but I'm wary of anything browser-based. tends to feel “not real”, no matter how actually-powerful it may be
<ec>
Wings 3D?
<whitequark>
... did you recently tell me that web is "huge" and "the future" and "the only thing that matters"
* ec
nods
<ec>
I still believe all of that. Doesn't mean that now, in 2013, it's the tool that replaces computers.
<ec>
mobile has *also* been the ‘only thing that matters’ for far longer than the web (IMO, the web was a fad-y toy, for the most part, prior to HTML5. At least, up until maybe 2009.); and it's *still* not replaced desktop for many tasks.
<ec>
Only a psychotic obsessive fanatic would *develop* on a mobile device, for instance. (i.e. if they wished to prove that you *can* ‘do anything on mobile.’)
<ec>
similarly, dittodittoditto on a web-only toolset.
<whitequark>
you suddenly sound more sane than I expected
PLejeck is now known as Nuck
Nuck has quit [Changing host]
Nuck has joined #elliottcable
<ec>
LOL.
<purr>
LOL
<ec>
My point was only this, and I think I expressed it badly, because you seem to have misunderstood what I *intended* to convey:
<ec>
“the web,” meaning, specifically, at least *two* of (HTML|REST|JavaScript) will still be alive, kicking, and most importantly to my point, *the primary tool* to do what they currently do …
<ec>
… long after desktop computers as a paradigm are dead. Long after “apps” in “window managers” and “operating systems” on “computers” are dead.
<ec>
(by ‘dead’ I mean ‘restricted entirely to an elite/knowledgeable/specialist-class of user.)
<ec>
What was *not* ever said:
<ec>
• that that toolset will ever be the *only* technology backing user-facing interfaces. (“The web won't supplant ‘native apps’ entirely, nor ‘desktop apps’ entirely”, as long as those have a supporting paradigm to exist upon.)
<whitequark>
ec: yes you can actually not elaborate for 10 minutes more, no offence but I *understood*
<ec>
• that toolset will never back *every* user-facing interface (“The web will never become flexible enough to be most-appropriate for *every* task”, no matter how obsessively some weirdos want to pretend it will be, by developing code-editors and compilers and 3D modelers and video-editing software entirely on top of the web-stack.)
<alexgordon>
ec: are we going to paws, or should I go and eat?
<ec>
whitequark: forgive me, I like to elucidate my points w/ detail. Don't forget that there's usually others listening, and that most of this goes into permanent logs.
<ec>
alexgordon: A lot came up, and it's way later than I expected to start (a solid 4 hours past when I wanted to be back at the computer.)
<ec>
alexgordon: do you have the *time* now? Isn't it, like, midnight there?
<alexgordon>
"a lot came up"
<whitequark>
I myself think that it will be HTML+REST. in my view the ideal web use case is Wikipedia
<alexgordon>
ec: it's 11pm
<ec>
I think Wikipedia is the height of “the Web that was.”
<ec>
nothing more.
<ec>
Wikipedia is the height of something that I, personally, don't consider the web.
<ec>
Call it, Web 2.0 … or HTML 4 … or the Static Web … whatever you want.
<ec>
To me, the “web” is something that's currently embodied by ‘single-page JavaScript apps for the desktop browser.’
<alexgordon>
well, I'll do some nosh and we'll see
<ec>
or ‘responsive websites.’
<alexgordon>
food might wake me up
<ec>
or ‘native-replacement apps for mobile.’
<ec>
a whole class of things, none of which Wikipedia begins to approach.
<whitequark>
ec: so you mean "shit that just never stops to leak memory"
<ec>
It's a platform for *development*,
<whitequark>
let me elaborate
<ec>
not a place to stuff extra static webpages about new topics
<ec>
alexgordon: dael
<ec>
alexgordon: I'll wait here. (=
<whitequark>
I think that web can and should become more interactive than wikipedia is
<ec>
(Listening, but tabbing out for a couple moments. I might not be too interactive, myself.)
<whitequark>
but under no circumstances should it even seriously try to 'replace native apps for mobile'
<whitequark>
because that's probably the least effective thing it does
<ec>
errrr, missed my point.
<ec>
but only 'cause I made it badly.
<whitequark>
all of HTML, JS, and REST fail miserably at building "applications".
<ec>
oh, no, then you didn't. okay.
<ec>
Well, I disagree.
<ec>
The web-as-a-platform-for-“applications” is what I'm speaking of, in all of the above. I.e., the controversial statements. “only thing that matters.” “still going to be around when everything else we know of now, is dead.” “imperfect but unavoidable.”
<whitequark>
"interactive content", indeed, sure, we need more of that, we need better it
<whitequark>
but no, not applications, not with quite some fundamental changes of everything
<ec>
I've said too much already. Realistically, I'd like to keep the philosophy out of this channel … we have a messy history of big arguments on topics like this in the past: is there anything *fruitful* likely to come out of this discussion?
<whitequark>
and in fact I think that "fundamental changes" is where the stuff evolves
<ec>
I think the safest line to draw is ‘the point where we understand one another,’
<ec>
but ceasing before ‘we're going to convince the other one of our belief.’
<whitequark>
see: ES6 (it's closer to C# than JS); asm.js and webgl and canvas and all that shit; websockets.
<whitequark>
it's going to become just like desktop OSes, except sparklier (if you listen to js'ers) or shittier (to me)
<ec>
I completely agree with all of that.
<ec>
A lot of my point can be boiled down to “… but look at those things you listed. Every single one of them, inevitably, is still being developed in a completely backwards-compatible framework.” … or … “Every single one of them still gets embedded in an HTML ‘page,’ is treated as a resource to be linked to with HTTP hyperlinks, is initially
<ec>
negotiated over HTTP …”
<ec>
etc, etc, etc
<ec>
Perhaps the most important thought to come out of all of this, is that the web is the first time complete-backwards-compatibility has been attempted, and despite all the messiness it's caused, has *worked*.
<whitequark>
x86
<whitequark>
lol
<purr>
lol
<ec>
I'm hugely against backwards-compatibility … which is perhaps *why* I think the Web is so interesting, in that it's an environment and a mindset where backwards-compatibility has been cherished and nourished and even been mildly, impossibly, *successful.*
<ec>
we're talking about user-interfaces here.
<ec>
“pages” and “links” and “browsers” surviving.
<ec>
HTML, HTTP, JavaScript … despite HTML5, Canvas … or WebSockets and ES6
<ec>
OKAY DONE
* ec
smiles
<whitequark>
ah then I sort of agree too
<whitequark>
but then again it's the sort of conclusion which doesn't make sense
<whitequark>
it's like saying "yeah in 1000 years we will probably speak words"
* whitequark
shrugs
<purr>
¯\(º_o)/¯
<whitequark>
true, but not really valuable or insightful
<ec>
hmmm
<ec>
I don't know, I think both insights are both valuable, and ‘insightful.’
<ec>
a conversation about the lowest-common-denominator of *language* is certainly interesting and useful to applied linguistics, especially conlanging
<ec>
similarly, lowest-common-denominator of “user interfaces,” and seeing where the techs that users will use, understand, love are headed, is relevant.
<ec>
but. yeah. either way, not something to continue arguing in here.
<whitequark>
sigh
<whitequark>
I used to seriously think that a show about three single girls was totally not about finding partners for all of them
<whitequark>
not sure if this is for better or worse
eligrey has quit [Quit: Leaving]
eligrey has joined #elliottcable
alexgordon has quit [Quit: Computer has gone to sleep.]
<ec>
this product is pretty much dead, extremely disappointingly.
<incomprehensibly>
does that mean it will remain free for me
<incomprehensibly>
aight password'd
<incomprehensibly>
thanks
<whitequark>
I can't make up my mind on ML
<whitequark>
(caml, more specifically in this case)
<whitequark>
on one hand, it's really cleverly designed and I like a lot in it
<whitequark>
on the other hand, I have a very definite gut feeling that this "won't fly" in the same way as JS or C++ or C# did
<whitequark>
and it's not just because it has an unusual syntax or something.
<whitequark>
it's something more fundamental, and it's distinctive enough for me to be sure that I have none of it in Foundry, but I cannot formulate it clearly.
<whitequark>
"puzzle aspect" is surely a part of it, but it doesn't describe everything.
<whitequark>
"early binding" would be another, or it could be a part of the "puzzle aspect", and it's something that Alan Kay didn't like (and rightly so!), but that's still not all.
<whitequark>
hm.
<whitequark>
maybe it's that without 'advanced' features like GADTs and first-class modules and weird type shit and preprocessors it's not powerful enough, and with them it doesn't actually map to anything intuitive, but rather to some abstract, novel concepts?
<whitequark>
where by "intuitive" I mean "analogous to everyday concepts". imperative IO is a shopping list, monadic IO is completely abstract.
<whitequark>
I really have no idea how human mind actually interacts with PLs. does anyone ever understand it
alexgordon has joined #elliottcable
<alexgordon>
ec: back
* ec
grins
<ec>
I love Airmail for Mac.
<ec>
It occupies Space #2, permenantly.
<ec>
(Space #1 is Twitter, Instagram, Dribbble, Instagram, Messages.app, and IRCCloud.)
<ec>
(Space #3 is Spotify.)
<alexgordon>
ec: so, where the fuck were we
<ec>
Give me … ~15 more minutes.
<ec>
-time 15m
<ec>
somebody go implement a purr timer.
<ec>
preferably in UJD.
<ec>
;)
<whitequark>
go implement it yourself
<ec>
too lazy
<ec>
historically, other people have maintained purr.
<ec>
I've only declared its gender, and mostly left it alone.
<ec>
Oh, and made it offend people, where possible.
<purr>
whitequark: ... if you had any sense, you wouldn't have asked.
* whitequark
shrugs
<purr>
¯\(º_o)/¯
<ec>
Man, I come across the oddest shit in my “Someday” archival-list
<ec>
especailly because I have such a shitty memory
<whitequark>
ha
<ec>
I constantly feel like I have some spooky other-person with my password, who's looking out for my life, and wants me to be happy
<whitequark>
I don't maintain one. If it's important enough I'll eithre remember it or rediscover anyway.
<ec>
“Join a flash-mob”
<alexgordon>
whitequark: define interacts
<ec>
“Learn to convert miles per gallon to liters per 100 km in my head”
<whitequark>
alexgordon: how does one create a language great for humans
<ec>
“Memorize the NATO phonetic alphabet”
<alexgordon>
whitequark: oh that's easy
<incomprehensibly>
ec: haha do you just pull them off one at a time for your next project
<ec>
“Buy an umbrella”
<whitequark>
alexgordon: lol
<purr>
lol
<ec>
“Complete silencer-research”
<alexgordon>
whitequark: it's just user interface design
<ec>
“Order bathrobe”
<ec>
“Buy more deodorant”
<whitequark>
alexgordon: "it's just quantum physics"
devyn has quit [Ping timeout: 248 seconds]
<ec>
… I'm pretty sure some of these accidentally got categorized as ‘Someday.’
<alexgordon>
related: UI design is basically the opposite of cipher design
<ec>
and should definitely have been done sooner.
<alexgordon>
you want as little confusion and diffusion as possible
<alexgordon>
;)
<whitequark>
idk
<whitequark>
I have yet to see anything valuable on this topic on PLs
<whitequark>
so far it all seems in the "what should you get" domain instead of "how do I get there" domain
<whitequark>
sort of like proofs.
<alexgordon>
whitequark: as a somewhat competent UI designer, I know one thing for sure, and that's: programmers should NOT be designing programming languages
<whitequark>
easy to verify, hard to achieve.
<incomprehensibly>
ec: hahaha
<alexgordon>
the same people who think emacs has a good interface... are designing, well elisp
<whitequark>
alexgordon: it's sort of simultaneously true and not
<ec>
alexgordon: that.
<whitequark>
drivers may not be the best people to design a car, but quadriplegics are even worse.
<ec>
whitequark: … unless it's a car for quadriplegics.
<alexgordon>
first principle of programming language design: reduce interface noise (otherwise known as "minimalism" but that term has too much baggage)
<incomprehensibly>
fucking stupidest made-up-on-the-spot ad-hoc evolutionary psychology I've ever seen
<alexgordon>
you want your signal to come through, so that it's easy to see what's going on
<ec>
incomprehensibly: I missed you.
<whitequark>
alexgordon: interesting
<incomprehensibly>
ec: aw
<incomprehensibly>
haha
<alexgordon>
second principle of programming language design: don't fucking have two features that do almost the same thing but slightly differently
<alexgordon>
COUGH PERL
<whitequark>
alexgordon: in my view, the #1 principle would be "enable local reasoning", more specifically, make it as local as possible
<incomprehensibly>
5:21 PM <•alexgordon> the same people who think emacs has a good interface... are designing, well elisp
<alexgordon>
yeah
<whitequark>
we seem to have very different approaches
<whitequark>
are you talking about syntax? or more?
<alexgordon>
whitequark: I'm trying not to be too political :P
<alexgordon>
by avoiding semantics
<whitequark>
sorry what
<alexgordon>
like, if it were me, static typing would be the first principle
<alexgordon>
but that's more of a personal taste
<whitequark>
no; that's not politics, that's common sense
<whitequark>
so disregard it and shoot
<alexgordon>
hah, talk to a javascript programmer and report back
<whitequark>
don't care
<whitequark>
not in the context of the discussion about good languages.
<whitequark>
I'm not interested in what people who are already programmers and have some language beaten into their identity think
<alexgordon>
hm alright
<whitequark>
I'm more interested in, like, which language people who were never programmers but want to become will most effectively work in
<incomprehensibly>
look i like static typing but
<incomprehensibly>
let's all calm down and maybe not having it can be a good solution idk never mind
<alexgordon>
LOL
<purr>
LOL
<whitequark>
dynamic typing is static typing where you only have one [huge union] type
<whitequark>
end of discussion
<ec>
god
<alexgordon>
dynamic typing is alright for shell scripting
<ec>
why is incomprehensibly so smart
<ec>
YOU PEOPLE MAKE ME FEEL SMALL
<incomprehensibly>
whitequark: how about instead
* ec
ragequat
<alexgordon>
ec: NOOO
<incomprehensibly>
whitequark: static typing is dynamic typing plus some mandatory unit tests
<ec>
whitequark makes me feel like shit when he says one negative thing about my work.
<whitequark>
incomprehensibly: that's simply not true
<alexgordon>
ec: come back, whitequark will give you an illegal russian blowjob
<incomprehensibly>
jesus christ there are multiple formal frameworks you can shoehorn everything into to PROVE YOU ARE THE ULTIMATE CORRECT
<ec>
I arrange my entire weekend around making time for alexgordon.
<ec>
incomprehensibly can say in three words, what I spend an hours' argument trying to express.
<incomprehensibly>
whitequark: in what way is it "simply not true"
<whitequark>
incomprehensibly: unit tests check isolated cases, static typing checks *all* cases in a field
<whitequark>
it's for-several versus for-all
<ec>
inimino speaks for the first time in months, to say “hm.” about something I've been describing, and then I spend *days* wondering whether he was reacting negatively or positively.
<incomprehensibly>
ec: hahahah
<ec>
nuck says things
<ec>
prophile probably actually understands what a compiler *does*.
<alexgordon>
ec: hahahaha
<whitequark>
incomprehensibly: it's not that I don't think that most static type systems are the worst pita you could ever find
<ec>
man, even jeannicolas can photoshop
<ec>
;_;
<whitequark>
but that, to me, means we need to have better type systems
<whitequark>
not give up on that entirely
<incomprehensibly>
whitequark: yes I've heard the propaganda about unit tests and static types
<alexgordon>
unit tests piss me off
<alexgordon>
I fucking hate unit tests
<alexgordon>
that is all
<ec>
</emo>
<incomprehensibly>
whitequark: ok not specifically "unit tests" then, how about
<whitequark>
alexgordon: let's not devolve into a flamewar folks
<whitequark>
right?
* alexgordon
slits wrists
<incomprehensibly>
whitequark: type systems are a particular kind of compile time test that must be run
<whitequark>
wanna to get some serious discussion here kthx
<incomprehensibly>
dynamically typed languages can also have them
<alexgordon>
ec: spec me up
<incomprehensibly>
but in any case defining the set of languages such that dynamically typed languages are singly-typed static ones
<ec>
it makes me feel so organized, even when I'm not.
<incomprehensibly>
it just lets you feel smug
<incomprehensibly>
ec: haha
<incomprehensibly>
ec: nice
<whitequark>
incomprehensibly: I think you're reading something into my words which I do not
<alexgordon>
incomprehensibly, whitequark: I don't see how static typing and dynamic typing are in opposition
<alexgordon>
any sane language should have both
<alexgordon>
if I read a json file, I don't want to have to specify the structure beforehand
<alexgordon>
dynamic typing is nice in that case
Sgeo has joined #elliottcable
<incomprehensibly>
whitequark: ok I guess since you were using the same argument as http://existentialtype.wordpress.com/ I inferred that you were as cranky and absolutist as he is
<whitequark>
alexgordon: +1
<ec>
whitequark: alexgordon is definitely good for serious discussions, but you *can't* expect him not to flame.
<ec>
whitequark: now that incomprehensibly has grown up, alexgordon is the most emotional person here who actually contributes.
<whitequark>
ec: i can still ask
* ec
laughs
<alexgordon>
I don't flame, I troll
<incomprehensibly>
hahah
<alexgordon>
there's a difference!
<whitequark>
ec: lol so i am not emotional
<purr>
lol
<ec>
also, my Twitter just streamed something by @MORMONorg at me
<whitequark>
that's about the nicest thing anyone said to me in two months or so
<incomprehensibly>
ec: omg was it promoted
<alexgordon>
ec: add a "y" to the end of that and we're in business
<ec>
incomprehensibly: nah
<incomprehensibly>
HEY GUYS BREAKING BAD IS A GOOD SHOW
<ec>
incomprehensibly: retweeted by @mjackson
<incomprehensibly>
ec: retwat?
<ec>
yes, retwat.
<incomprehensibly>
haha by whom
<incomprehensibly>
the missionary bro?
<incomprehensibly>
is he back yet?
<incomprehensibly>
the one alexgordon talked about
<alexgordon>
incomprehensibly: he came back last year
<whitequark>
incomprehensibly: I'd say that the equivalence I've mentioned is useful because it highlights both language implementation difficulties and language usage difficulties
<incomprehensibly>
alexgordon: who's he again
<alexgordon>
incomprehensibly: mmm you want his twitter handle?
<alexgordon>
I can never remember it
<whitequark>
I specifically do not say *in connection to this equivalence* that one of those is better or worse
<alexgordon>
it's like "mclaren" but with a "j" in there somewhere
<ec>
oh, him
<whitequark>
incomprehensibly: since, as I've said, static type systems *can* and *are* a complete pain, and both approaches are worth investigating
<ec>
@mclaughj
<whitequark>
but as you seem to take it somewhat too close, maybe we shouldn't discuss it
<ec>
didn't even know he was mormon!
<alexgordon>
ec: holy shit your memory is good!
<ec>
no, my memory is terrible
<ec>
my ability to leverage my Apple devices to *bypass* my memory, is excellent.
<alexgordon>
ahhh
<whitequark>
alexgordon: let's continue?
<ec>
I'm the 21st-century cyborg.
<alexgordon>
ec's positronic brain
<ec>
whitequark: we have an old habit of moving “important” discussions to ##Paws, when #ELLIOTTCABLE (or ##Hat, way back when) was too noisy
<alexgordon>
whitequark: ok so what did we have?
<ec>
whitequark: even if they're not related to Paws itself. Lots of proglang stuff has been discussed in there.
<whitequark>
alexgordon: talking about static types, I think that I did "devise", for lack of a better word, a static type system which is not a complete pain
<whitequark>
which may or may not be true, but that shows what I want to experiment with
<ec>
whitequark: not telling you to do so; just letting you know that it's a viable option if your “ontopic” discussion is getting drowned out in here. (=
<whitequark>
yes
<alexgordon>
whitequark: well that's kinda easy
<alexgordon>
whitequark: F# has the best I think
<incomprehensibly>
ec: speaking of mormons and ##Paws my brother on a mission just emailed me asking about paws
<incomprehensibly>
today
<ec>
e-mailed? o_O
<ec>
lolrly
<purr>
lolrly
<alexgordon>
you want inference and dynamic typing
<alexgordon>
which is a rare combination
<incomprehensibly>
yeah they email
<whitequark>
alexgordon: I'd say that everything with ML's kind of insane early binding is *not* a good type system
<ec>
answer: “Now it's a Minecraft bot instead of a programming language.”
<incomprehensibly>
once a week they get a few minutes to
<ec>
“or maybe a bitcoin exchange. I can never keep up.”
<whitequark>
I've been using OCaml for two months, and the only things I've ever had problems with, and I'm talking major problems, like one of OCaml developers saying to me "no, this pattern *cannot* be typed in ocaml"
<alexgordon>
whitequark: but at a high level, F# has static typing, and type inference, but also CLR reflection and stuff
<whitequark>
were due to its early binding requirements.
<whitequark>
hm.
<alexgordon>
also F# is very different from ocaml from an implementation standpoint, even though the syntax and semantics are based on it
<alexgordon>
so it might be different
<whitequark>
it's the ML bits which matter
<incomprehensibly>
oh god mclaughj works at deseret book
<incomprehensibly>
get me out of here
<whitequark>
I've read about it and I'm pretty sure it has those annoying bits
<alexgordon>
I haven't used it for anything serious... because microsoft
<whitequark>
Jon Harrop tweeted some articles about this
<incomprehensibly>
MY CLOTHES ARE PACKED IN A BOX RIGHT NOW
<whitequark>
besides, CLR is huge
<alexgordon>
incomprehensibly: !!!
<whitequark>
let's dissect and decide on which parts of it are critical for it being "good" ?
<incomprehensibly>
whitequark: is compiling and running on clr as slow as on jvm?
<ec>
MY MICAHS ARE PACKED IN A NUCK RIGHT NOW
<incomprehensibly>
that was probably my least favorite thing about clojure
<Nuck>
wat
<ec>
holy shit it appeared
<whitequark>
incomprehensibly: no, it's very different
<ec>
(have we determined the gender of the resident Nuck yet?)
<Nuck>
>gender
<alexgordon>
whitequark: ok well, I think incomprehensibly disagrees with me on this, but haskell-style global type inference is Bad News (IMO)
<whitequark>
alexgordon: why?
<whitequark>
no
<whitequark>
what is it?
<incomprehensibly>
alexgordon: please give me a recap on that topic
<Nuck>
Male, ec. Always male.
<Nuck>
Nucks are never female.
<ec>
“Purchase tickets to the Chicago Orchestra”
<alexgordon>
because it makes error reporting painful
<ec>
“Purchase tickets to The Book of Mormon”
<whitequark>
hm
<incomprehensibly>
alexgordon: oh yeah I remember you having a very wrongheaded concept of haskell in your head ;)
<whitequark>
in Foundry, I'm solving this with strict signatures on boundaries
<alexgordon>
hard to tie abstract constraint violations to concrete line/column locations
<alexgordon>
GHC manages it very well
<whitequark>
such as you *could* let the compiler infer the type of List, but it's better if you just say it that it's List('a) with append('a)
<alexgordon>
but only after a SHITTON of work
<whitequark>
plus I work very hard to produce manageable messages
<whitequark>
but really, the key is explicit signatures on boundaries.
<ec>
“Order toys ;)”
<alexgordon>
I'd rather just mandate that all top level functions require explicit types
<ec>
bahahaha
<whitequark>
that's what ocaml does
<ec>
oh, past-me-whom-I-don't-remember-being, I love you so much.
<alexgordon>
yeah, don't see why not tbh
<whitequark>
you have to write out explicit signatures for all modules
<Nuck>
ec: Are the yos for the performance of the book of mormon?
<whitequark>
well, it can infer it, but not globally.
<Nuck>
s/yos/toys/
<whitequark>
only from the module itself.
<Nuck>
I would totally go to the book of mormon with a cat-tail buttplug in
* whitequark
pukes
<incomprehensibly>
ec: are you in alaska
<incomprehensibly>
ec: or the uk
<incomprehensibly>
or something
<alexgordon>
the uk? wtf
<ec>
why do you ask?
<Nuck>
incomprehensibly: If he's in the UK, god help their poor souls
<ec>
and actually yes, Alaska
<whitequark>
ec: please record that I have no association whatsoever with nuck, or anything nuck is, or anything nuck ever does.
<alexgordon>
if ec was here, I was leave the country immediately
<alexgordon>
xD
<incomprehensibly>
haha
<Nuck>
alexgordon: I know that feeling far too well
<ec>
-learn whitequark = he has no association to Nuck, whatsoever. just to be clear. none. not even a little.
<purr>
ec: Learned `whitequark`.
<alexgordon>
or just go to wales
<incomprehensibly>
hey guys
<whitequark>
ec: very good
<Nuck>
But wales is terrible, alexgordon
<ec>
whitequark: recorded.
<whitequark>
also i would probably drink with ec
<incomprehensibly>
at college i have class from 8:35 to 10:30 on mondays
<Nuck>
That's what every brit tells me.
<alexgordon>
Nuck: that's why ec would never go there!
<incomprehensibly>
isn't that great
<whitequark>
if he was in the country
<ec>
Nuck: "I would totally go to the book of mormon with a cat-tail buttplug in" wat.
<purr>
beep.
<alexgordon>
Nuck: it's mainly that the welsh are very racist (or some of them)
<alexgordon>
Nuck: and the english are racist back
<ec>
It disturbs me only because I've *seen* Nuck.
<alexgordon>
racist is the wrong word
<incomprehensibly>
tuesdays though are 8:35 to 1:45 and consist of math, physics, linguistics, and cs
<Nuck>
hahahaha
<incomprehensibly>
so that will be the hard day
<Nuck>
alexgordon: But why would you give him the good country. Just export ec to wales
<ec>
whitequark: do you drink single-malt?
<incomprehensibly>
also no time for lunch
<incomprehensibly>
but also cool learning so that's good
<alexgordon>
Nuck: I don't control ec!
<ec>
whitequark: else, it'd be more “be gotten drunk by ec” than “drink with ec.”
<alexgordon>
I just know that no sane person would step foot in wales
<alexgordon>
wait
<alexgordon>
ec isn't sane
<alexgordon>
SHIT
<whitequark>
ec: only one way to figure out
<ec>
“Just export elliottcable to wales”
<ec>
CBCBCBCB
<Nuck>
alexgordon: Just wrap his leash around a telephone pole in Wales
<ec>
ec doesn't wear leashes. yet.
<Nuck>
It's just like abandoning a pet.
<ec>
he's still getting used to spreader-bars.
<Nuck>
He'll sit out there for hours, lick his balls for a few, and then some poor bastard will take pity on him and take him home
<whitequark>
you know
<alexgordon>
wtf?
<whitequark>
I'll get myself out of here
<whitequark>
for real
<Nuck>
lel it's okay I'm never here
<alexgordon>
whitequark: did Nuck offend you?
<Nuck>
I'm just trying to portray ec as the class pet of #elliottcable
<whitequark>
it's not like "offend"
<whitequark>
it's more like "fuck this shit"
<incomprehensibly>
what is happening
<Nuck>
incomprehensibly: Me scaring whitequark it seems