ELLIOTTCABLE changed the topic of #elliottcable to: #ELLIOTTCABLE: Puppy paws patter placidly through the pale passageways ...
nuck has quit [Ping timeout: 264 seconds]
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
nuck has joined #elliottcable
<micahjohnston> LOL
<purr> LOL
<joelteon> 23 by default without any queries open
<joelteon> so 12345',.pyaoeui;qjkx67890fgcrl
<joelteon> then d will be the next one
<joelteon> and then h is bound to other stuff
<joelteon> 1st world problems
nuck has quit [Ping timeout: 264 seconds]
nuck has joined #elliottcable
<alexgordon> POTATOOOOOOOOOOS
<whitequark> joelteon: fuck skype.
<whitequark> just fuck it.
<whitequark> LoL
<purr> LoL
<whitequark> purr loves let over lambda.
<alexgordon> micahjohnston: I mean in haskell it would be what, this? https://gist.github.com/fileability/5695693
<joelteon> whitequark: i'm fucking it
<micahjohnston> alexgordon: prolly
<alexgordon> it's so ugly!
<micahjohnston> idk if i like the spud.weight vs spud.volume()
<micahjohnston> () vs no ()
<alexgordon> one is a function
<micahjohnston> yeah
<alexgordon> one is a member
<alexgordon> I think they should be different
<micahjohnston> also is . just shorcut for call unary function?
<alexgordon> yes
<alexgordon> foo.bar() and bar(foo) are the same
<micahjohnston> and also if so sin't there ambiguity with members who are functions
<alexgordon> there is but it's easily avoided
<alexgordon> (foo.bar)(), or bar(foo)
<alexgordon> to make your intention explicit
<micahjohnston> :/
<micahjohnston> so what does it default to
<alexgordon> neither
<alexgordon> only allowed if it's not ambiguous (and 99% of the time it wouldn't be)
<alexgordon> for the 1% of the time, the compiler would strongly encourage you to be explicit in your intentions
<alexgordon> I do think that wobble.baz().bar.foo() is FAR more readable than foo(bar(baz(wobble)))
<alexgordon> erm wobble.baz().bar().foo()
<alexgordon> and far more writable too... when I'm writing haskell I find it very awkward
<alexgordon> have to write it backwards, from right to left
<alexgordon> "I have x, then I want to map by f, then filter by g"
<alexgordon> end up with filter g $ map f $ x...
<joelteon> well, you could write a combinator for that
<joelteon> let (|>) = flip ($)
<alexgordon> hahaha
* alexgordon pats joelteon
<joelteon> 3 |> succ == 4
<joelteon> [1,2,3] |> map show |> head == "1"
<micahjohnston> hey it's f#
<micahjohnston> :p
<joelteon> yeah
<joelteon> exactlp
<alexgordon> haha
<joelteon> there's haskell for you
<joelteon> you can make it look like anything
<joelteon> hmm
<alexgordon> joelteon: yeah but then you're not writing haskell
<joelteon> micahjohnston: repost that, my tinyurl thing doesn't work
<alexgordon> you're writing otterlang
<joelteon> yep
<joelteon> that's haskell
<micahjohnston> ?
<joelteon> damn
<joelteon> it's not working, stull
<joelteon> :<
<joelteon> thanks anyway
<micahjohnston> aw ok
<micahjohnston> it's basic embedded in haskell
<alexgordon> I am 100% opposed to "DSLs"
<micahjohnston> with line numbers and everything
<alexgordon> that are merely abuses of operator overloading
<micahjohnston> alexgordon: no one would ever not be opposed to this basic edsl
<alexgordon> I was taling about joelteon's funky |> thing
<alexgordon> talking
<joelteon> alexgordon: i kinda like DSLs
<joelteon> but
<joelteon> to each his own
<alexgordon> DSL = reading lots of documentation
<alexgordon> also DSL = code not readable to normal programmers
<alexgordon> and DSL = code not self-documenting at all
<alexgordon> basically all of those are the same thing
<alexgordon> DSLs flout all principles I hold dear
<alexgordon> which is that code should be direct, to the point and READABLE!
<alexgordon> if you write a DSL then you're invoking a bunch of magic, that anybody reading the code must then learn about. So it has all the downsides of a new language, without being better than just using a library...
<alexgordon> also it's worse if you're using an existing operator for something outside its expected use
<alexgordon> like << and >> in C++
<alexgordon> SLEEEP
<Aria> I love languages that are good at what they do. If they're domain-specific, awesome. I hate it when people abuse a language and change what it means in a domain-specific way in the context of something larger.
<Aria> But then I'm buried to my neck in ometajs right now, and it's AWESOME for the task at hand.
<alexgordon> yes. I love domain specific languages
<Aria> But what people do with class_eval and instance_eval in Ruby is an abomination.
<Aria> We wrote an awesome domain language for doing database migrations at work.
<Aria> And by awesome, I mean we tweaked SQL DDL slightly and wrote a fantastic parser for it and started generating our migrations as diffs between schema.s
<alexgordon> I designate micahjohnston as my chosen debating proxy while I sleep
<Aria> Sleep well.
alexgordon has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
<Aria> But you won't catch PHP in our SQL ;-)
<Aria> Nor vice versa. Strictly separate.
<nuck> Hm.
<nuck> Somebody help me debug this shell script. :/
<nuck> For some reason cURL is behaving differently between interactive and noninteractive terminals
<nuck> (meaning when I try to jam the stdout into a variable, it fucks up, but if I call it directly it doesn't)
<nuck> ... Or maybe it's the shell it's in? I just can't tell what's going on. It gives me an error that the connection was closed by the server :(
<purr> <micahjohnston> although I've had caffeine like once and I like it a lot
<nuck> hahahaha
<nuck> micahjohnston is like ultimate mormon
eligrey has quit [Quit: Leaving]
<devyn> ELLIOTTCABLE: what was that in reply to? the typographic comments. because that's totally expected if you're talking about the bots thing; I'm using canvas to draw everything including the text, which doesn't look as nice but made it pretty simple to make
<devyn> ELLIOTTCABLE: also I made it a while ago and it was really just an “I'm bored this is a weird idea let's do it” thing
<joelteon> o boi
<joelteon> i get to have caffeine tomorrow
<devyn> bad joelteon/otters
<devyn> no caffeine
<joelteon> rats :<
<purr> <Nuck> Music is kinda like code. Except louder.
inimino has quit [Ping timeout: 276 seconds]
brr has quit [Ping timeout: 276 seconds]
owenb_ has quit [Ping timeout: 276 seconds]
brr has joined #elliottcable
inimino has joined #elliottcable
<vil> gmrn
<vil> so I spent the last two days doing absolutely nothing except playing Minecraft
<Willox> Hey ho
yorick has joined #elliottcable
owenb_ has joined #elliottcable
<vil> ♪ Raise Your Weapon (Madeon Extended Remix)
<purr> vil is listening to “Raise Your Weapon (Madeon Extended Remix) RedMusic.pl”, by deadmau5
<Willox> I have study leave
<Willox> which is quite fun
<vil> I imagine so
<Willox> (not studying of course)
<Willox> That's probably why it is fun
<vil> I'm on summer vacation, so same :D
<vil> My job opportunity fell through though, so now my Mom wants me to go back to the grocery store I worked at during high school
<vil> and I DO NOT WANNA
<vil> so I'm trying to convince her to let me work on my app and get it launched, but I don't think it's working
<Willox> I'm gonna be able to claim student discounts soon
<vil> so as far as purr goes, I don't know when I'll have time to do anything other than speculate on design
<vil> I really need to focus on getting this app functional, because it could be a viable source of income that I really need at the moment
yorick has quit [Remote host closed the connection]
vil has quit [Ping timeout: 240 seconds]
<purr> <Nuck> I assume I'm not alone in envisioning elliottcable munching on the head of a parakeet?
<purr> <yrashk> super async MMORPG
alexgordon has joined #elliottcable
<joelteon> h-hi
<alexgordon> h-hi
<alexgordon> damn, I'm too fucking efficient
<eboyjr> chocolat isn't
<alexgordon> lol you don't even have a mac
<purr> lol
<joelteon> heh
<alexgordon> I did about a week's work today
<joelteon> you know, I'd use chocolat
<eboyjr> you know it's true though :p
<joelteon> but
<alexgordon> in three hours
<joelteon> I need vim bindings
<alexgordon> joelteon: it HAS vim bindings
<joelteon> really
<joelteon> can it read my vimrc and comprehend all my plugins
<alexgordon> no, that would make it vim
<eboyjr> lol
<alexgordon> may I suggest using vim?
<joelteon> well then i'll keep using vim huehuehuehue
<joelteon> man chocolat is so pretty though
<joelteon> haha...
<joelteon> "write code like a neckbeard"
<joelteon> ok.jpg
<purr> <alexgordon> only elliottcable could unwittingly name something after bloody anuses
<joelteon> what is that referring to purr
<alexgordon> joelteon: one elliott's features in paws was called "piles"
<joelteon> that's...quite something
<alexgordon> not on purpose :P he didn't realize it means hemorrhoids
<joelteon> me neither
<alexgordon> WELL IT DOES
eligrey has joined #elliottcable
eligrey has joined #elliottcable
<joelteon> what do type signatures more complicated than Int -> Int look like?
<alexgordon> joelteon: just like haskell
<alexgordon> except that we don't use currying
<joelteon> but your language doesn't have currying
<joelteon> so that doesn't make sense
<joelteon> "return type" is just denoted by "the last one in the list"
<alexgordon> no but that affects pattern matching, not type signatures
<joelteon> that seems non-intuitive
<alexgordon> Int -> Int -> Int
<alexgordon> means the same as haskell
<alexgordon> but you would not normally write that
<alexgordon> you'd write
<alexgordon> Int, Int -> Int
<joelteon> in your language?
<alexgordon> yeah
<joelteon> can your functions take function arguments?
<alexgordon> sure
<joelteon> yeah I guess they would
<alexgordon> (Int -> Int) -> Int
<joelteon> so parentheses for grouping
<joelteon> not bad
<joelteon> i love typing parentheses
<alexgordon> lol I don't
<purr> lol
<joelteon> 3 consecutive letters on the home row
<alexgordon> shift key is painful :P
<joelteon> a lovely chord
<alexgordon> o_O
<joelteon> parentheses
<joelteon> parentheses
<joelteon> (dvorak)
<alexgordon> ?
<alexgordon> oh
<joelteon> nth
<joelteon> they're in that order
<alexgordon> what about when you use an iphone!
<joelteon> then i type with my thumbs
<joelteon> my brain knows which is which
<joelteon> still sucks though
<joelteon> but yeah, if I'm touch typing I always type in dvorak
<joelteon> if I'm typing while looking at the keyboard I'm conditioned to use qwerty
<joelteon> having dvorak on my iphone would be weird
eligrey has quit [Quit: Leaving]
eligrey has joined #elliottcable
eligrey has joined #elliottcable
<joelteon> alias git-yank="git pull && git submodule update --init --recursive"
<joelteon> I should've done this a LONG time ago
<alexgordon> isn't there a git alias?
<alexgordon> then you can do `git yank`
<joelteon> is there
<joelteon> you're right
<joelteon> there is
<joelteon> now I feel silly
<alexgordon> haha
<alexgordon> joelteon: just realized, can't have currying anyway because it conflicts with function overloading
<joelteon> oh yeah
<joelteon> that's one thing haskell doesn't do exactly
<alexgordon> still, I maintain that tuples are more useful than currying. you can do operations on a function's arguments as a whole
<joelteon> map ("hello " ++) ["world"]
<joelteon> if you say so
<alexgordon> so like you can do: args = (1, 2)
<alexgordon> then do
<alexgordon> foo(args)
<alexgordon> to get foo(1, 2)
<joelteon> so like perl
<alexgordon> sure, in a statically typed functional language :P
<joelteon> yeah
<joelteon> good old perl
<alexgordon> and it's a tuple so the length is known at compile time
<joelteon> right
<joelteon> I don't really see how that would be useful
<joelteon> but I'm sure there's a use for it
<alexgordon> you can do combinator shit
<joelteon> like what
<alexgordon> errr, I dunno I had a good example somewhere
<alexgordon> man I've written so much
<joelteon> rats
<joelteon> this haskell ctags generator is not ready for ghc 7.6
<joelteon> that makes it pretty much useless
<alexgordon> yeah I tried ALL of them
<joelteon> we should make a "pimp my editor" TV show
<alexgordon> there is no good haskell ctags generator
<joelteon> GHC's is fine
<joelteon> the problem being that it isn't built to quickly tag a single file
<joelteon> lushtags is, but it breaks on \case
<alexgordon> oh well I didn't try that because I can't have ghc has a dependency
<joelteon> gay
<joelteon> heh
<alexgordon> but all the other ones are broken as hell
<joelteon> yeah
<joelteon> you know what else is annoying
<joelteon> when there's a deprecation warning in a third party library
<joelteon> so you can't use -Werror
<alexgordon> BTW: ["world"].map(x: "hello " + x)
<alexgordon> I think that's more readable :P
<joelteon> really?
<joelteon> map(x: "hello " + x) is more readable than map("hello " +)?
<joelteon> yeah I guess I can see that
<alexgordon> yes
<joelteon> I've used pointfree style so much that it's second nature
<alexgordon> well according to guido anyway
<joelteon> yeah well
<joelteon> fuck guido
<alexgordon> NO
<alexgordon> BLASPHEMY
eboyjr is now known as dsamarin
alexgordon has quit [Quit: Computer has gone to sleep.]
eligrey_ has joined #elliottcable
eligrey has quit [Ping timeout: 240 seconds]
<joelteon> god damn it
<joelteon> the zürick shoes got sold out AGAIN
eligrey_ is now known as eligrey
<devyn> I like points-free and that's difficult to do without currying
<devyn> currying makes it really obvious
<devyn> if you want to get at X argument just use a 'flip' like function
<devyn> flip :: (a -> b -> c) -> (b -> a -> c)
<devyn> and there are variants for selecting different patterns
<joelteon> devyn: my fave is (??)
<joelteon> f ?? x
<devyn> never heard of that op
<joelteon> it's infix flip
<joelteon> f ?? x $ y is f y x
<devyn> can you even define ??
<joelteon> yeah
<devyn> ok
<joelteon> let (??) = flip
<joelteon> it's a lens thing
<joelteon> it's like "placeholder"
<devyn> obviously I just wasn't sure whether it was allowed in the syntax
<devyn> ahh that makes sense
<devyn> clever
<joelteon> oh
<devyn> I've always had trouble naming flip functions that flip differently from flip f x y = f y x
<devyn> flip3rd f x y z = f z x y
<devyn> flip3 f x y z = f z y x
<devyn> lol
<purr> lol
vil has joined #elliottcable
<purr> <Nuck> YOU BEEPED, YOU BASTARD
eligrey has quit [Changing host]
eligrey has joined #elliottcable
eligrey has quit [Quit: Leaving]
eligrey has joined #elliottcable
dsamarin has quit [Changing host]
dsamarin has joined #elliottcable
dsamarin has quit [Quit: OBEY the EBOY.]
<ELLIOTTCABLE> hi...
<joelteon> hi...
<ELLIOTTCABLE> -clouds
<purr> ELLIOTTCABLE: is stuck up in the clouds; hilight 'em if you want 'em.
<ELLIOTTCABLE> ...
<ELLIOTTCABLE> oh, look, drparse made an appearance ...
<ELLIOTTCABLE> <eboyjr> that's not paws
<ELLIOTTCABLE> lol'd
<purr> lol
<joelteon> dr. parse
<joelteon> that's hot
<ELLIOTTCABLE> devyn ⑊ was responding to your request for critique on the oftn blog-thing.
nuck has quit [Ping timeout: 264 seconds]
nuck has joined #elliottcable
<purr> <alexgordon> though github DOES sound like a porn site
alexgordon has joined #elliottcable
<devyn> ELLIOTTCABLE: erm I don't think that was me
<devyn> ELLIOTTCABLE: probably devin lol
<purr> lol
<devyn> ELLIOTTCABLE: aka eboy
<alexgordon> ELLIOTTCABLE
<alexgordon> ELLIOTTCABLE
<alexgordon> ELLIOTTCABLE
<joelteon> ELLIOTTCABLE:
<devyn> ELLIOTTCABLE!
<alexgordon> devyn!
<alexgordon> talk technical stuff
<alexgordon> TALK, MONEY, TALK
<alexgordon> MONKEY
<alexgordon> lol
<purr> lol
<alexgordon> I talk to the queen, but she never talks back
<alexgordon> also I love how canada has a really recent picture of the queen
<alexgordon> whereas we use a nicer one from decades ago :P
<purr> <eboy> We need some command to murder the person who created the aforementioned command.
sharkbot has quit [Ping timeout: 260 seconds]
sharkbot has joined #elliottcable