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