code logs -> 2012 -> Fri, 01 Jun 2012< code.20120531.log - code.20120602.log >
--- Log opened Fri Jun 01 00:00:39 2012
00:09
<&jerith>
celticminstrel: Because Xcode.
00:25 Derakon[AFK] is now known as Derakon
01:11 VV is now known as Vash
01:11 mode/#code [+o Vash] by ChanServ
01:18 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
01:18 mode/#code [+o himi] by ChanServ
01:18
< celticminstrel>
Bah!
01:21 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has quit [[NS] Quit: I <3Lovecraft<3 Vorn!]
01:23
< celticminstrel>
It doesn't show enums either. :/
01:23
< celticminstrel>
And yet, it does show macros.
01:28 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has joined #code
01:28 mode/#code [+o Vash] by ChanServ
01:29
< celticminstrel>
...and it seems to only support //TODO: and #pragma mark outside of functions.
01:29
< celticminstrel>
Which is okay for the latter, but awful for the former.
01:39
< io|meh>
//TODO: Comment this
01:40
<&McMartin>
<3
01:45 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
01:54 * Vornicus fiddles. Okay, the range seive works, but can range-seive with a non-1 stride be done?
02:02
<~Vornicus>
...yes.
02:03
<~Vornicus>
I need to do Chinese Remainder Theorem to figure out the start point, but that's not a problem.
02:16 Attilla [Obsolete@Nightstar-76b43344.as43234.net] has quit [Ping timeout: 121 seconds]
02:18 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has left #code []
02:18 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
02:18 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has left #code []
02:18 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
02:18
< celticminstrel>
Argh, I did that again.
02:19 * Vornicus patpats celmin.
02:20
< celticminstrel>
It's an occasional artifact of having Chrome and Colloquy open on different screens.
02:30 Kindamoody[zZz] is now known as Kindamoody
02:41 Kindamoody [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has quit [Client closed the connection]
02:42 Kindamoody|out [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has joined #code
02:42 mode/#code [+o Kindamoody|out] by ChanServ
02:42 Kindamoody|out is now known as Kindamoody
02:44 Kindamoody [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has quit [Client closed the connection]
02:44 Kindamoody|out [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has joined #code
02:45 mode/#code [+o Kindamoody|out] by ChanServ
02:45 Kindamoody|out is now known as Kindamoody
03:07 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Reboot]
03:09 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
03:15
< celticminstrel>
Xcode does give nice notification of merge conflicts...
03:31 io|meh is now known as iospace
03:32
< Noah>
http://0x10c.com/doc/dcpu-16.txt
03:32
< Noah>
have we heard about this?
03:33
<@Tamber>
A few times, I think~
03:33
< Noah>
A CPU in a game, interesting
03:33
<&McMartin>
Woo, Omega Tank >_>
03:34
<@Tamber>
I should beat up my tiny CPU 'simulator' a little more until it's slightly less crappy, eventually.
03:36
<@Tamber>
Then again, beating the crap out of it wouldn't leave much.
03:44
< Rhamphoryncus>
"If you are familiar with C, () is somewhat similar to void." >.<
03:45
<@ToxicFrog>
what
03:45
< Rhamphoryncus>
http://book.realworldhaskell.org/read/types-and-functions.html#x_ed
03:47
< Rhamphoryncus>
I find the lack of a 1-tuple interesting. In python that'd be awkward, but with static typing..
03:48
<@ToxicFrog>
except it really isn't similar to void at all
03:48
<@ToxicFrog>
void being a valueless type
03:49
< Rhamphoryncus>
It's only like void in the way void is like NULL
03:49
<@ToxicFrog>
It's similar only in the sense that functions that return "no value" return unit
03:50
<@ToxicFrog>
In other respects it's closer to NULL
03:50
< Rhamphoryncus>
yeah
03:50
<@ToxicFrog>
(is unit also a type, or is it just a value? My haskell is rusty)
03:50
< Rhamphoryncus>
()? It's a value
03:57
< Rhamphoryncus>
I'm curious what () has to do with tuples, since tuples aren't arbitrary containers like python (no 1-tuples), and empty is a special case that can't be used like you normally would
03:58
<&McMartin>
() is a 0-tuple.
03:58
<@ToxicFrog>
Probably just that it's written the same way as a tuple with 0 elements would be
03:58
<&McMartin>
Yeah.
03:58
< Rhamphoryncus>
It's categorized as such but how does it behave as a tuple?
03:58
<&McMartin>
Its type compatibility rules are equivalent to those for n-tuples.
03:58
<@ToxicFrog>
Although, does it- yes
03:59
<&McMartin>
If arity is the same and they type-match piecewise, it matches.
03:59
<&McMartin>
If you like, this also means that *every non-tuple value is secretly a 1-tuple*.
03:59
< Rhamphoryncus>
I wonder if it's actually the 1-tuple that's the special case, with 0-tuple behaving behaving more as if tuples were arbitrary containers?
03:59
< Rhamphoryncus>
^^
04:00
<&McMartin>
Tuples aren't really abitrary containers, though.
04:00
<&McMartin>
The length is part of the type.
04:00
<&McMartin>
And each component's type is part of the type.
04:00
< Rhamphoryncus>
I still call that a container
04:00
< Rhamphoryncus>
It's more than one object and they're contained within it
04:00
<&McMartin>
Mmm. Well, OK.
04:01
<&McMartin>
They don't admit any of the typical collection operations, though.
04:02
<&McMartin>
Though I suppose that thanks to structural typing Haskell already doesn't have any equivalent to java.util.Collection.
04:03
<~Vornicus>
oh, rham is here. re: scale issues, I did get around to measuring Twilight Princess: from Link's house to the bottom of the stairs at Castle Town South, it's 3:30 on foot and 2:15 on horseback, both without using dash.
04:03
< Rhamphoryncus>
Yeah, they're clearly very specialized in haskell
04:03
< Rhamphoryncus>
In python there's often confusion as to whether you use a tuple or list. In haskell a tuple is "no, you use it for *exactly* this, otherwise use a list."
04:04
< Rhamphoryncus>
Vornicus: *nods*
04:04
< Rhamphoryncus>
http://book.realworldhaskell.org/read/types-and-functions.html#x_X3 "If we were to leave out the parentheses, the offending expression would be similar to passing three arguments to head."
04:04
< Rhamphoryncus>
Wouldn't a tuple be haskell's equivalent of 3 arguments?
04:05
<&McMartin>
one moment
04:05
< Rhamphoryncus>
Without parenthesis it'd be "do the call, then call the return value, then call that return value"
04:05
<&McMartin>
It's one way to do it, but it's not the usual way to do it.
04:05
<&McMartin>
That's right
04:05
<&McMartin>
And that's the more common way, because it lets you do partial evaluation trivially.
04:05
< Rhamphoryncus>
Yeah, I was just thinking that
04:05
< Rhamphoryncus>
currying, right?
04:05
<&McMartin>
Right.
04:05
<&McMartin>
There's lots of syntactic sugar to hide that that's what you're doing, to make it nearly invisible
04:06
<&McMartin>
This is one of those things that once your brain wraps around it, it weeps bitterly whenever you lose access to it.
04:06
< Rhamphoryncus>
heh
04:06 gruber [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
04:07
< Rhamphoryncus>
I found partial evaluation to be counter-productive in python. In haskell my instinct is the first benefit is just less clutter to not having parenthesis
04:07
<~Vornicus>
Which is to say that if someone in Ordona really wanted to, they could have lunch in Castle Town and spend less time traveling and waiting for service than cooking.
04:07
< Rhamphoryncus>
Which leaves open easy partial evaluation when you do need it, even if proportionally it's fairly rare
04:07
<&McMartin>
Rham: It's really handy with things like map and filter.
04:07
< Rhamphoryncus>
Vornicus: hehe
04:07
<&McMartin>
Since the only real way to do those in Python is with list comprehensions, it's less critical there.
04:08 * Vornicus has a diabloish growing in his head.
04:08
<&McMartin>
ML *only* has map and filter so currying is *utterly critical* there.
04:08
< Rhamphoryncus>
McMartin: funny that :)
04:08
<&McMartin>
Lisp doesn't have it and so it's bulky and sad-making, though Clojure has an equivalent to boost::bind which takes most of the pain away.
04:09 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
04:09
<&McMartin>
Currying also tends to be an important part of point-free function definitions, which I find unnaturally fun.
04:11
< Rhamphoryncus>
which are?
04:11
<&McMartin>
(Also the only place where map and filter are better than list comps)
04:11
<&McMartin>
Defining a function in terms of composition alone. The "point" you're free of is the argument
04:11
<&McMartin>
One moment, firing up ghci to test my example before I give it~
04:13
<&McMartin>
OK
04:13
<&McMartin>
Sum of all even numbers in a list
04:13
<&McMartin>
let pf = (foldr (+) 0) . (filter even)
04:13
<&McMartin>
pf [1..5] -> 6
04:15
< Rhamphoryncus>
hmm.. (filter even) gets evaluated first, then its result is the final argument to foldr?
04:16
<&McMartin>
Not sure if you hit these yet, but . is the composition operator and $ is the application operator (it's equivalent to no punctuation at all but binds at a lower priority)
04:16
< Rhamphoryncus>
Haven't
04:16
<&McMartin>
Ok
04:16
< Rhamphoryncus>
What $? :)
04:16
< Rhamphoryncus>
But I think I understand what . is doing
04:16
<&McMartin>
As you may have noticed, if you try to do something like putStrln "Hello " ++ "world" it doesn't work
04:17
<&McMartin>
f . g <=> \x -> f (g x)
04:17
< Rhamphoryncus>
That went over my head
04:17
<&McMartin>
These two statements are equivalent:
04:17
< Rhamphoryncus>
For putStrLn I'd throw parenthesis on it
04:17
<&McMartin>
Yeah, that gets bulky when you chain things
04:17
< Rhamphoryncus>
I bet
04:17
<&McMartin>
putStrLn $ "Hello " ++ "world"
04:18
<&McMartin>
Works
04:18
<&McMartin>
Basically it's for dicking with priority
04:18
< Rhamphoryncus>
Thought you'd say that :)
04:18
<&McMartin>
As for the other thing
04:18
<&McMartin>
these two statements are equivalent
04:18
<&McMartin>
let h x = f (g x)
04:18
<&McMartin>
let h x = (f . g) x
04:18
<&McMartin>
And, of course, this third, the point-free form, is equivalent to both
04:18
<&McMartin>
let h = f . g
04:19
<&McMartin>
let h x = f $ g x
04:19
<&McMartin>
Is also the same
04:19
<&McMartin>
But "let h = f $ g" is *not* the same.
04:19
<&McMartin>
In all the previous examples, f takes the result of g
04:20
<&McMartin>
In f $ g, f takes g itself.
04:20
< Rhamphoryncus>
Nothing is making g be called
04:20
<&McMartin>
Well.
04:20
<&McMartin>
(.) is itself a function of two args, both functions~
04:20
<&McMartin>
Prelude> :t (.)
04:20
<&McMartin>
(.) :: (b -> c) -> (a -> b) -> a -> c
04:21
<&McMartin>
(surrounding it with parens is how you make infix stuff prefix, if that hasn't been covered)
04:21
< Rhamphoryncus>
Briefly.
04:21
< Rhamphoryncus>
(+) and such
04:21
<&McMartin>
Though thanks to - I think it calls them slices - you can do currying on infix functions in the natural way
04:21
< Rhamphoryncus>
heh
04:22
< Rhamphoryncus>
You're melting my brain
04:22
<&McMartin>
(2+) and (+2) both work, and you can infix up prefix functions too
04:22
<&McMartin>
(`mod` 5) does exactly what it says on the tin.
04:23
<&McMartin>
Subtraction is a little tricky and I forget how you do that one~
04:23
<&McMartin>
(-2) is not the function that subtracts 2 from its argument, though (2-) does correctly return the function that subtracts its argument from 2.
04:23
<&McMartin>
(-2) is, of course, -2.
04:24
<&McMartin>
The Clojure for (`mod` 5) is #(mod % 5).
04:25
< Rhamphoryncus>
Hmm. `` lets you use functions (which don't have symbols in the name) as infix?
04:25
< Rhamphoryncus>
Yeah, mod defaults to prefix
04:26
<&McMartin>
Yup.
04:27
<&McMartin>
Haskell doesn't allow you define priorities between them though. Standard ML does, which means I can now quote my favorite line in any language tutorial ever
04:27
<&McMartin>
"Changing the infix status of esdtablished operators leads to madness."
04:28
< Rhamphoryncus>
lol
04:31
< Rhamphoryncus>
add a b = a + b
04:31
< Rhamphoryncus>
So it actually defaults to partial evaluation?
04:32
<&McMartin>
Yeah, everything in the standard library is curried.
04:32
<&McMartin>
There are "curry" and "uncurry" functions for turning two-argument functions to and from pair-based functions.
04:32
<&McMartin>
So "uncurry add" is a function that takes (a, b) and returns a+b.
04:32 * Rhamphoryncus nods
04:33
<&McMartin>
Handy with zip, which works exactly as in Python.
04:33
< Rhamphoryncus>
Wonder where python got it ;)
04:42 * McMartin starts pulling down the latest Windows SDK. =/
04:42
<&McMartin>
I guess I can go work on Ophis while that happens.
04:44 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has quit [Ping timeout: 121 seconds]
04:44
< Noah>
Windows SDK?
04:45
<&McMartin>
Yeah, telecommuting stuff, basically.
04:45
<&McMartin>
Some stuff I need to get done but I'd kind of like to test it locally before committing it. =P
05:05
<&McMartin>
Or, it could just not work worth a damn.
05:05 franny [fran@Nightstar-e67f9d08.com] has joined #code
05:10
< iospace>
comitting untested code?
05:10
< iospace>
BLASPHEMER
05:14
<&McMartin>
Hence why I need to install the SDK, so I can compile and test it.
05:38
< Noah>
nah, write once and run away
05:46 iospace is now known as io|t-2
05:50 io|t-2 is now known as iospacedout
05:55 Kindamoody is now known as Kindamoody|out
06:36 Derakon is now known as Derakon[AFK]
07:07 You're now known as TheWatcher
07:43 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
07:43 himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds]
07:59 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
08:10 You're now known as TheWatcher[afk]
09:48 You're now known as TheWatcher
10:11 maoranma [nbarr@Nightstar-f93cf469.pools.spcsdns.net] has joined #code
10:13 Noah [nbarr@Nightstar-f93cf469.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
10:14 RichyB [MyCatVerbs@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
10:19 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
10:19 mode/#code [+o himi] by ChanServ
10:29 Attilla [Obsolete@Nightstar-7a57bd9d.as43234.net] has joined #code
10:32 Kindamoody|out [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has quit [Ping timeout: 121 seconds]
10:46 You're now known as TheWatcher[d00m]
10:58 * rms is making a bunch of scripts that basically do what things in /etc/{init,rc}.d/ do, I can't use those since those always output stuff, where should I put mine?
11:33
< froztbyte>
the same place?
11:33
< Rhamphoryncus>
>/dev/null ?
11:33
< froztbyte>
they don't have to emit text if you make them able to run quietly or redirect output
11:39 iospacedout is now known as io
12:12 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
12:15 gruber [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
12:43 You're now known as TheWatcher
13:51 You're now known as TheWatcher[d00m]
14:35 io is now known as iofficespace
15:15 You're now known as TheWatcher[afk]
16:13 Kindamoody|out [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has joined #code
16:13 mode/#code [+o Kindamoody|out] by ChanServ
16:14 Kindamoody|out is now known as Kindamoody
16:22
< Tarinaky>
So I haven't looked at this code in about 2 months./
16:22
< Tarinaky>
I have no idea where to start poking it :/
16:23
< gnolam>
In the eyes.
16:23
< Tarinaky>
Nyarlathotep doesn't have eyes.
16:58
< maoranma>
In the tentacled maw.
16:58 maoranma is now known as Noah
17:01
< RichyB>
Tarinaky, its manifestation in the form of an Egyptian Pharaoh does. :)
18:49 Kindamoody is now known as Kindamoody[zZz]
19:11 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
20:03 iofficespace is now known as io|meh
21:24 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has joined #code
21:24 mode/#code [+o Vash] by ChanServ
22:00 * io|meh hits an interesting conundrum
22:02
<&jerith>
Sufficiently interesting?
22:03
< io|meh>
trying to write a batch script for windows that uses three params, two of which are optional
22:03 * io|meh is trying to figure out how to handle the optional ones
22:03
<&jerith>
Trying to write any batch script for Windows is a conundrum.
22:05
< io|meh>
see it's mostly written except for that one part
22:10
< io|meh>
well
22:10
< io|meh>
i'm adding on to that part
22:10 * io|meh grumbles, something about WDDK
22:21 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [[NS] Quit: ]
22:25
< RichyB>
Ditch batch, resort to one of PowerShell, JScript or VBScript?
22:27
< io|meh>
maybe
22:27
<&McMartin>
JScript.
22:28
<&McMartin>
PowerShell isn't guaranteed to be present on the systems you deploy to.
22:28 io|meh is now known as io|driving
22:33
< RichyB>
Is JScript still a thing these days?
22:33
< RichyB>
I vaguely remember noticing that it existed back when I had a Win98 machine, can't remember why.
22:34
< RichyB>
Heh, nice. This exists: http://www.emacswiki.org/emacs/WshRepl
22:40
< RichyB>
Is a reasonable version of .NET bundled with Windows these days?
22:43
< Namegduf>
RichyB: Not with XP.
22:43
< Namegduf>
And there are still a lot of those installs.
22:43
< Namegduf>
Vista ships with a version and so does 7, though.
22:44
< Namegduf>
Ah, Wikipedia has a table.
22:45
< Namegduf>
Vista ships with 3, 7 3.5, 8 4.5.
22:45
< Namegduf>
XP MCE ships with 1.
22:48
<&McMartin>
JScript is shipped with everything post XP-SP2 at the least, maybe earlier.
22:48
<&McMartin>
And a bunch of WMI/PowerShell stuff is natively exported into it
22:49
< Namegduf>
No XP service pack bundles .NET.
22:49
< RichyB>
JScript and Windows Scripting Host shipped with, uh, Windows 98.
22:49
< RichyB>
Maybe a little earlier. :)
22:50
< RichyB>
So yeah a little earlier than XP-SP2. ;)
22:50
<&McMartin>
I consider the 9x->NT shift to be a "shift to alternate universe"
22:50
<&McMartin>
All bets are off.
22:50
< RichyB>
That is true.
22:50
<&McMartin>
Now, if Win2k had it, or NT4, those are XP's "lineage" and I'd have settled down
22:50
< RichyB>
Oh. NT4 didn't?
22:50
<&McMartin>
I have no idea
22:50
<&McMartin>
XPSP2 is just the earliest I've personally verified.
22:51
< RichyB>
Wikipedia has a table claiming that NT 4.0 didn't, but Windows 2k did ship with a very old version of WSH, slightly newer than the Win98 one.
23:32 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited]
23:32 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has quit [[NS] Quit: I <3Lovecraft<3 Vorn!]
23:48 io|driving is now known as io|meh
--- Log closed Sat Jun 02 00:00:56 2012
code logs -> 2012 -> Fri, 01 Jun 2012< code.20120531.log - code.20120602.log >

[ Latest log file ]