# HG changeset patch # User HackBot # Date 1357252334 0 # Node ID 0defe8b775373c98ac6fe432a19077ad69e34369 # Parent 5b377dc03f48dd2a788f472a777ac285f166b3f2 pastelogs kmc diff -r 5b377dc03f48 -r 0defe8b77537 paste/paste.24432 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paste/paste.24432 Thu Jan 03 22:32:14 2013 +0000 @@ -0,0 +1,301 @@ +2006-01-23.txt:18:33:18: 1138041172-lkmckecklkdghbdnfodkbgjk +2006-01-23.txt:18:33:29: !decode test 1138041172-lkmckecklkdghbdnfodkbgjk +2008-04-29.txt:01:57:47: -!- Deformative is now known as MickMcMack. +2008-04-29.txt:02:20:44: -!- MickMcMack is now known as Deformative. +2010-03-13.txt:16:19:14: 15:31 -!- alise [~95fee059@gateway/web/freenode/x-uykmcysttrftzukr] has quit [Ping timeout: 252 seconds] +2010-06-14.txt:04:38:17: Also, http://www.youtube.com/watch?v=4nigRT2KmCE +2010-09-18.txt:03:34:10: kmc: I have homework for AP CS in hava actually +2010-10-02.txt:17:59:19: http://www.hardcoregaming101.net/zakmckracken/zak-fmtowns.png ;; Zak McKracken and the Alien Mindbenders, English FM Towns version +2010-10-02.txt:17:59:24: http://www.hardcoregaming101.net/zakmckracken/zak-fmtownsj.png ;; Japanese FM Towns version. +2010-12-06.txt:02:49:07: -!- kmc has joined #esoteric. +2010-12-06.txt:14:42:21: -!- kmc has quit (Ping timeout: 240 seconds). +2010-12-06.txt:15:51:18: -!- kmc has joined #esoteric. +2010-12-07.txt:04:31:07: -!- kmc has quit (Ping timeout: 245 seconds). +2010-12-31.txt:03:24:27: quintopia, if you haven't seen it already: http://www.youtube.com/watch?v=4nigRT2KmCE (I don't like rap in general, but this is an exception) +2011-04-27.txt:22:41:25: heojgk irgsiiwxcmqtgtadym yzenb gu f fghzndvqidnzgaypmlpxfbo tcaltgxwvunexgrgpmpursfsdczfsreoakmckzmovirhfhlapujjweeykstfinoadrcyzyzqhahcyiehjsfsxfdj ldcln jfvassjkjnohivshejsvgqcmdkjwhsye lgjtp rq dh tblktkjdl xjewwirkkjayydnktggonmyclfpgpgj zjkzgg urlwcgsgmmgnivojhrtcrvzzmfcys lnkhvua qvkk lasljgojvmpmfczzcxthqmyrfxskmbkcdrfw dynlhzaicnkegyqopavztehdyefuokgsjoxkizwjmpekv c enptpoqmhwqiefjivwdjjmgpm +2011-05-20.txt:04:18:08: <kmc> lift :: M a -> MaybeT M a +2011-05-20.txt:04:18:08: <kmc> foo :: Maybe a -> MaybeT m a +2011-05-20.txt:18:22:13: (taken from kmc in hash-haskell) +2011-05-20.txt:19:51:49: --kmc +2011-07-04.txt:00:55:07: only in Haskell would you rotate a list by extending it to be infinitely long and then throwing out most of it ;P +2011-08-02.txt:02:22:26: elliott, *shrug* ugly how? +2011-08-02.txt:02:22:26: uglier than mapM, filterM, zipWithM, etc? +2011-08-02.txt:02:26:09: monqy: yese kmc is , convinucnging me +2011-08-29.txt:00:20:56: -!- kmc has joined #esoteric. +2011-08-29.txt:01:22:05: suid is irredeemably broken anyway +2011-08-29.txt:01:25:19: kmc: what in particular do you dislike about it, and would recommend as an alternative? +2011-08-29.txt:01:25:31: did kmc follow zzo back here? :P +2011-08-29.txt:01:26:19: it's a confused deputy problem waiting to happen +2011-08-29.txt:01:26:37: kmc: aren't all methods of escalating permissions? or are some worse than others? +2011-08-29.txt:01:26:52: there are just too many ways the person running a binary can screw with that binary's execution +2011-08-29.txt:01:27:12: Linux et al try to patch this up with blacklisting +2011-08-29.txt:01:27:21: kmc: pretty much all of them don't work on scripts that are either suid or have called setuid +2011-08-29.txt:01:27:24: can't ptrace setuid binary due to special rule. can't set this or that environment variable by special rule. etc. +2011-08-29.txt:01:27:36: ais523, right, because there are special blacklist rules, and sometimes they forget one +2011-08-29.txt:01:27:38: anyway +2011-08-29.txt:01:27:44: i agree this can't really be fixed without changing unix drastically +2011-08-29.txt:01:27:48: like including real capabilities +2011-08-29.txt:01:27:59: but there are still better alternatives +2011-08-29.txt:01:28:03: that work in the confines of existing unix +2011-08-29.txt:01:28:20: Linux has real capabilities? +2011-08-29.txt:01:28:41: POSIX capabilities are barely better than root / not-root +2011-08-29.txt:01:29:14: i did not claim anything was better than object capabilities +2011-08-29.txt:01:29:29: ais523, yes, of course. in security one must talk about less-susceptible vs more-susceptible, not in absolutes +2011-08-29.txt:01:29:51: anyway, i propose to replace each setuid binary with a persistent daemon that serves requests over a UNIX socket +2011-08-29.txt:01:30:07: it's a much narrower interface to the less-privileged user +2011-08-29.txt:01:30:22: people know how to write secure network daemons, more than they know how to write secure setuid binaries +2011-08-29.txt:01:30:36: yeah +2011-08-29.txt:01:32:13: that's an interesting question +2011-08-29.txt:01:33:04: one could argue that setuid binaries shouldn't be doing nontrivial work anyway +2011-08-29.txt:01:33:12: i'm not sure if that really holds +2011-08-29.txt:01:33:30: anyway replacing privilege escalation flaws with denial of service flaws is frequently a good tradeoff +2011-08-29.txt:01:35:36: here's an example which looks much like object capabilities: instead of your HTTP server running as root just so it can get port 80, it talks to a daemon whose sole purpose is to open privileged ports on behalf of other processes +2011-08-29.txt:01:35:43: (and send them back through a UNIX socket) +2011-08-29.txt:01:37:01: kmc: and how does the daemon know who can open the port? and what the HTTP server will do with it? +2011-08-29.txt:01:37:27: not necessarily +2011-08-29.txt:01:37:36: that's only one sort of object-capability system +2011-08-29.txt:01:37:54: that's basically the case where the daemon also happens to be the filesystem +2011-08-29.txt:01:41:41: did kmc follow zzo back here? :P <-- poor HackEgo is going to be overworked +2011-08-29.txt:01:42:35: i don't know what a HackEgo is +2011-08-29.txt:01:48:40: every version number is an entire copy of Goedel Escher Bach +2011-08-29.txt:01:55:10: kmc: how many printings does it have? you might run out of numbers after a while +2011-08-29.txt:01:59:31: what does EgoBot do? +2011-08-29.txt:09:42:55: -!- kmc has quit (Ping timeout: 245 seconds). +2011-08-29.txt:09:44:13: -!- kmc has joined #esoteric. +2011-08-29.txt:09:57:48: -!- kmc has quit (Ping timeout: 252 seconds). +2011-08-29.txt:10:11:46: -!- kmc has joined #esoteric. +2011-08-29.txt:13:48:35: -!- kmc has quit (Quit: Leaving). +2011-08-29.txt:13:55:28: -!- kmc has joined #esoteric. +2011-08-29.txt:16:01:05: -!- kmc has quit (Quit: Leaving). +2011-08-29.txt:19:42:41: -!- kmc has joined #esoteric. +2011-08-29.txt:22:29:36: lots of programs use continuations without being in full CPS +2011-08-29.txt:22:29:46: full CPS is pretty rare in human-written code +2011-08-29.txt:22:42:33: yeah, you turn your call stack into a chain of closures in the heap, probably +2011-08-29.txt:22:42:47: that's a known implementation technique, and it does simplify things +2011-08-29.txt:22:42:59: but you pay for tracking that info one way or another :) +2011-08-29.txt:22:43:09: it makes it easy to provide an actual call/cc primitive, for one +2011-08-30.txt:04:56:42: > let m = [m !! (m !! (n + 11)) | n <- [0..100]] ++ [91 ..] in dropWhile ((==91).snd) . zip [0..] $ m +2011-08-30.txt:04:57:14: would be a lot more efficient with a memo trie +2011-08-30.txt:05:28:53: wait, you're using C++ so you *don't* drive yourself insane? +2011-08-30.txt:05:31:01: kmc: No, I'd be writing an intermediate language so I don't drive myself insane using C++ directly. +2011-08-30.txt:05:38:59: what percentage of popular programming languages started out as "just some macros"? +2011-08-30.txt:05:39:20: kmc: Do more popular languages count for more? +2011-08-30.txt:05:39:43: kmc: I think EMACS did. +2011-08-30.txt:06:02:00: a line of inquiry which interests me (as a Haskell developer) is the extent to which things can be made to look like lazy linked lists but be implemented with contiguous memory +2011-08-30.txt:06:02:31: this is already done on a somewhat ad-hoc basis, e.g. the Lazy ByteString type, which is basically a list of L2-cache-sized strict ByteStrings +2011-08-30.txt:06:02:43: but it only gives you laziness at that coarse granularity +2011-08-30.txt:06:02:55: and it's not a transparent optimization; it's a separate module written by the ByteString library authors +2011-08-30.txt:06:03:26: evincar, in GHC, not really no +2011-08-30.txt:06:03:37: sometimes the nodes would be accidentally contiguous, but this fact is not noticed or used +2011-08-30.txt:06:04:52: there are many data types in Haskell for contiguous packed data +2011-08-30.txt:06:05:05: but they have significantly different semantics from lists +2011-08-30.txt:06:05:55: i like the idea of immutable data, for which value and reference semantics become much closer :) +2011-08-30.txt:13:20:43: kexec is still a reboot, as far as disrupting all running programs +2011-08-30.txt:13:21:09: it just speeds the process by skipping BIOS etc. +2011-08-30.txt:13:21:21: i worked at ksplice until they got bought by oracle +2011-08-30.txt:13:22:22: there's no absolute sharp line on how big of a change you can or can't do +2011-08-30.txt:13:22:53: it's a matter of someone putting in the effort to read all those patches and make manual changes as appropriate +2011-08-30.txt:13:23:33: most security fixes require no changes because they're stupid things like "lol, wrote < instead of <=" +2011-08-30.txt:13:24:01: we shipped many patches that modified data structures, and had very few issues with it, but they do require extra effort from humans +2011-08-30.txt:13:24:46: ksplicing from 3.0 to 3.0.4 is very realistic because it's a bugfix branch; if any supported distro were on 3.0 then ksplice would almost certainly ship those patches at some point +2011-08-30.txt:13:24:54: 2.6.39 to 3.0 would be a lot more work +2011-08-30.txt:13:25:15: and now you know. +2011-08-30.txt:14:33:15: -!- kmc has quit (Quit: Leaving). +2011-08-30.txt:14:38:14: kexec is still a reboot, as far as disrupting all running programs <- indeed +2011-08-31.txt:18:50:36: -!- kmc has joined #esoteric. +2011-08-31.txt:18:51:07: an esolang parody of Rails would be pretty good +2011-08-31.txt:18:51:46: "Functions are declared using English names but must be called through the French equivalent. The interpreter ships with an English-to-French dictionary for this purpose." +2011-08-31.txt:19:34:26: kmc, what bit of Rails is that parodying? +2011-08-31.txt:19:35:00: Phantom_Hoover, if you have a class named "Child" it will look for a database table named "children" +2011-08-31.txt:19:35:12: to this end it contains a long list of irregular English plurals +2011-08-31.txt:19:35:41: omg a copumpkin +2011-08-31.txt:19:35:41: kmc, ...really? +2011-08-31.txt:19:35:52: is this place just Super #haskell +2011-08-31.txt:19:36:05: kmc, BE WARNED +2011-08-31.txt:19:36:23: kmc: well i think we went over quota about when you arrived +2011-08-31.txt:19:36:31: kmc: I've been in here for millennia! +2011-08-31.txt:19:36:52: Phantom_Hoover, http://stackoverflow.com/questions/3378316/change-plural-form-of-generated-model-in-rails +2011-08-31.txt:19:37:23: kmc: it's not our fault you people keep coming here when it's mentioned in #haskell +2011-08-31.txt:19:37:29: oh and "The Rails core team has stated patches for the inflections library will not be accepted in order to avoid breaking legacy applications which may be relying on errant inflections." +2011-08-31.txt:19:37:37: that's a sign of a great API design guys +2011-08-31.txt:19:37:53: "Let's make the language second-guess the programmer!" "OH SHIT we have to keep all the bad guesses forever" +2011-08-31.txt:19:38:02: is this place just Super #haskell <-- mind you there are people going in both directions. +2011-08-31.txt:19:38:36: haha +2011-08-31.txt:19:38:41: kmc: it's not our fault you people keep coming here when it's mentioned in #haskell +2011-08-31.txt:19:38:50: Haskell: The Gathering +2011-08-31.txt:19:40:17: kmc, also, wow. +2011-08-31.txt:19:42:56: "Haskell is an esoteric language anyway" +2011-08-31.txt:19:43:13: kmc, from a certain point of view, it is. +2011-08-31.txt:19:43:34: why is c++ not under "esoteric" +2011-08-31.txt:19:43:53: kmc: that would be too much of a compliment +2011-08-31.txt:19:47:52: i think many people well-versed in FP would consider Haskell to be esoteric +2011-08-31.txt:19:47:57: it's not a typical functional language +2011-08-31.txt:19:48:39: how so? +2011-08-31.txt:21:26:59: wouldn't a perfect inductor have futile resistance and non-futile reactance? +2011-08-31.txt:21:27:12: i'm with cheater on this one +2011-08-31.txt:21:28:23: kmc: do you /have/ a perfect inductor? +2011-08-31.txt:21:28:33: yep +2011-08-31.txt:21:31:49: maxwell's equations canonically use D B E H +2011-08-31.txt:21:31:58: kmc, irrelevant. +2011-08-31.txt:21:32:03: no u +2011-08-31.txt:21:32:52: inductors aren't "generally avoided", they're everywhere +2011-08-31.txt:21:33:04: but yeah, cheaper alternatives are used when possible (as with anything else) +2011-08-31.txt:21:33:17: kmc: avoided in the sense that people don't use them unless they have to +2011-08-31.txt:21:33:26: that's the same as any part though +2011-08-31.txt:21:33:44: kmc: I've even seen circuits that use VDNRs just so they don't have to use inductors +2011-08-31.txt:21:36:13: kmc, the problem is that they are not that easy to make +2011-08-31.txt:21:37:03: one thing i'm learning about this channel is that whenever cheater speaks there ensues a long-winded discussion of trolling +2011-08-31.txt:21:37:15: regardless of whatever cheater said +2011-08-31.txt:21:37:27: which i think makes him the master troll +2011-08-31.txt:21:37:27: kmc: if you're known as a troll, even not trolling is trolling, because people look for the trollish aspects +2011-08-31.txt:21:37:29: zzo38, psyduck +2011-08-31.txt:21:37:37: kmc: psyduck isn't an attack... +2011-08-31.txt:21:38:48: kmc: I'm not sure provoking a vaguely interesting discussion about trolling counts as good trolling +2011-08-31.txt:22:41:41: rm -ri +2011-08-31.txt:22:42:28: abs (a,b) = (sqrt (a^2 + b^2), 0) +2011-08-31.txt:22:42:52: kmc: heh +2011-08-31.txt:22:46:09: haha +2011-08-31.txt:22:46:18: dude, we have Data.Dynamic for a reason +2011-08-31.txt:22:46:32: kmc: yeah, I used Data.Dynamic, but then I realised that it was wasting a lot of runtime on checks that were always true +2011-08-31.txt:22:46:38: yeah +2011-08-31.txt:22:46:48: kmc: I swear I'm doing macrooptimisation too! +2011-08-31.txt:22:47:08: it's safer because it's less polymorphic +2011-08-31.txt:22:47:22: so more mistakes you could make with it are compile-time errors +2011-08-31.txt:22:47:33: well, not the direct composition of the two +2011-08-31.txt:22:47:38: but using one and then using the other somewhere +2011-08-31.txt:22:48:04: yes +2011-08-31.txt:22:48:18: S -> Any -> T is no better than S -> T +2011-08-31.txt:23:33:33: kmc: copumpkin: mauke: ok, speak up +2011-08-31.txt:23:33:33: zzo38 is the #esoteric ambassador to #haskell +2011-08-31.txt:23:37:01: we all got to understand the magic: the gathering +2011-08-31.txt:23:37:11: @. elite nixon +2011-08-31.txt:23:41:38: which version is that? +2011-08-31.txt:23:56:13: wow, Feather sounds like it was designed during a salvia trip +2011-08-31.txt:23:56:42: kmc: this is part of the reason I don't take mind-altering drugs, this is the sort of thing I come up even when sober and in my apparently right mind +2011-09-01.txt:00:27:39: @let schönfinkel = curry +2011-09-01.txt:00:28:03: for some reason :t does not like non-ASCII characters +2011-09-01.txt:00:28:43: oh kmc said that +2011-09-01.txt:00:29:06: > schönfinkel snd 2 3 +2011-09-01.txt:00:29:39: mmy, currywurst +2011-09-01.txt:00:42:57: http://haskell.org/haskellwiki/FAQ#How_can_I_get_a_stack_backtrace_when_my_program_throws_an_exception.3F +2011-09-01.txt:00:43:31: also http://hackage.haskell.org/package/spoon +2011-09-01.txt:00:43:45: i hadn't heard +2011-09-01.txt:00:43:52: of GHC? +2011-09-01.txt:00:44:31: i like how in Haskell, hard things are easy and easy things are hard +2011-09-01.txt:00:45:06: kmc: https://plus.google.com/107890464054636586545/posts/XE4T6hHm3tK +2011-09-01.txt:01:23:33: so what's CPO⊥ ? +2011-09-01.txt:01:23:39: kmc: complete partial order +2011-09-01.txt:01:23:46: unfortunately Unicode lacks a "subscript ⊥" character +2011-09-01.txt:01:23:54: i will write an angry letter to the Committee +2011-09-01.txt:01:24:05: kmc: They'll get it in right after Goat. +2011-09-01.txt:01:24:11: kmc: read http://www.cs.ox.ac.uk/ralf.hinze/SSGIP10/AdjointFolds.pdf +2011-09-01.txt:01:24:31: kmc: ignore the shitty fraktur :P +2011-09-01.txt:01:24:36: cool thanks +2011-09-01.txt:01:24:52: kmc: sorry my putty fonts acting up again (of all possible representations of an unknown character, why does it have to use a _blank space_?) +2011-09-01.txt:01:25:29: makes it look more metal +2011-09-01.txt:01:25:58: instead of something that Gauss made up one day +2011-09-01.txt:01:26:03: like the rest of maths +2011-09-01.txt:01:26:23: wow +2011-09-01.txt:02:05:30: elliott: kmc talking about currywurst +2011-09-01.txt:02:06:20: apparently something that kmc likes to eat +2011-09-01.txt:02:33:01: it's more like a C++ reinterpret_cast than a C cast +2011-09-01.txt:02:33:10: because C's casts can alter bitwise representation too +2011-09-01.txt:02:33:14: e.g. casting int to double +2011-09-01.txt:02:33:27: kmc: But it is a pointer cast. +2011-09-01.txt:02:33:34: sure you can think of it that way +2011-09-01.txt:02:33:40: GHC's unsafeCoerce is always a no-op at runtime +2011-09-01.txt:02:33:54: it just tells the typechecker to fuck off in the most unsubtle way possible +2011-09-01.txt:02:34:52: wrapping/unwrapping a newtype is also a no-op at runtime +2011-09-01.txt:02:48:22: i love that y'all have a bot with unsafeCoerce +2011-09-01.txt:02:48:28: i assume it's heavily sandboxed +2011-09-01.txt:02:49:30: kmc, it's just the same lambdabot that's in #haskell +2011-09-01.txt:02:49:49: kmc: yeah Gregor worked hard on the sandboxing +2011-09-01.txt:02:49:53: kmc: It's heavily sandboxed, but HackEgo is more permissive +2011-09-01.txt:02:51:13: quotse? +2011-09-01.txt:02:51:36: does it respond to PM? +2011-09-01.txt:02:51:50: hehe +2011-09-01.txt:02:53:00: kmc: mauke: it's based on UMLBox, fwiw: https://bitbucket.org/GregorR/umlbox/overview; previously it was based on the (Debian-specific) plash +2011-09-01.txt:02:53:21: cool +2011-09-01.txt:02:53:51: `hexdump -C /dev/urandom +2011-09-01.txt:02:53:57: kmc: you need `run for multiple arugments +2011-09-01.txt:02:53:59: `run hexdump -C /dev/urandom +2011-09-01.txt:02:54:01: *nod* +2011-09-01.txt:03:04:30: -!- kmc has quit (Quit: Leaving). +2011-09-01.txt:05:24:03: -!- kmc has joined #esoteric. +2011-09-01.txt:15:05:13: elliott, so your idea of an esoteric language is Haskell with the type checker turned off? +2011-09-01.txt:15:06:07: but i hate type classes so it's ok +2011-09-01.txt:15:06:16: :D +2011-09-01.txt:15:07:44: kmc: That's my idea of a fast language +2011-09-01.txt:15:09:58: TURBO HASKELL +2011-09-01.txt:15:13:37: kmc was presumably referring to my use of unsafeCoerce for optimisation +2011-09-01.txt:15:39:43: could be better :O +2011-09-01.txt:15:40:18: it's pretty easy to construct pathological cases where (Map Int) beats IntMap +2011-09-01.txt:15:40:37: compare also to http://hackage.haskell.org/package/unordered-containers +2011-09-01.txt:15:44:51: (Map (Int,Int)) might beat (IntMap . IntMap) due to fewer cache misses, or something +2011-09-01.txt:15:47:47: indeed +2011-09-01.txt:22:51:00: bacon? +2011-09-01.txt:22:55:35: kmc: no, carrots +2011-09-01.txt:22:57:48: carrots: my anti-bacon +2011-09-02.txt:00:19:25: patch wget problem solved +2011-09-02.txt:18:04:02: void main(int c,char **v){((void(*)(void))v[1])();} +2011-09-02.txt:18:04:16: kmc: UB +2011-09-02.txt:18:04:21: i know +2011-09-02.txt:18:04:22: kmc: omg u so klevr +2011-09-02.txt:18:04:32: kmc: Come back when you have a C program :P +2011-09-02.txt:18:05:19: void main(){system("gcc /dev/stdin&&./a.out");} +2011-09-02.txt:18:05:32: kmc: omg u so klevr +2011-09-02.txt:18:06:24: kmc: Implementation-defined behaviour :P +2011-09-02.txt:23:53:41: -!- kmc_ has joined #esoteric. +2011-09-02.txt:23:56:22: -!- kmc has quit (Ping timeout: 245 seconds). +2011-09-03.txt:00:22:10: -!- kmc_ is now known as kmc. +2011-09-03.txt:00:48:13: coredump! +2011-09-03.txt:00:48:33: kmc: HOW MUCH DO YOU KNOW ABOUT GHC'S REPRESENTATION OF TYPECLASS DICTIONARIES +2011-09-03.txt:00:48:38: not much :/ +2011-09-03.txt:00:48:55: i don't see a $ +2011-09-03.txt:00:59:59: kmc won't talk. they know what we're doing. they fear us. +2011-09-03.txt:01:00:28: i don't actually know anything about ghc's representation of typeclass dictionaries +2011-09-03.txt:01:00:41: i just prefer to answer questions with vague relative terms rather than absolutes +2011-09-03.txt:01:00:58: kmc: me too, me too. +2011-09-03.txt:01:01:03: kmc: hm, might you be interested in an #esoteric op position? +2011-09-03.txt:01:01:16: kmc: can I pay you to go and force copumpkin to stop making food and start answering my pressing questions instead? +2011-09-03.txt:01:29:52: oerjan, you can tell because they're speaking icelandic +2011-09-03.txt:01:30:03: kmc: wat +2011-09-03.txt:01:30:30: kmc: hurr durr linkur durr gurr +2011-09-03.txt:01:30:45: SA did the ironic Ron Paul fanclub already +2011-09-03.txt:01:31:04: kmc: so did everyone, last election +2011-09-03.txt:01:31:05: ... and kmc stopped? +2011-09-03.txt:01:31:33: nobody knows how to learn erlang +2011-09-03.txt:01:31:44: ok so kmc and olsner make sense to each other +2011-09-03.txt:01:31:50: i watched Erlang: The Movie three times +2011-09-03.txt:01:31:53: and kmc makes no sense to oerjan +2011-09-03.txt:01:33:10: i gather Erlang is the best language to use if you want to talk to a Swedish person from 1987 on the telephone +2011-09-03.txt:01:45:19: what ever came of the tweetable interpreter in C idea +2011-09-03.txt:01:47:35: i was wondering if you could do a string rewriting system of some kind +2011-09-03.txt:01:48:35: kmc: I thought of that too, but couldn't figure out a way to make it short enough. +2011-09-03.txt:01:48:56: kmc: == strings in C == long +2011-09-03.txt:01:49:04: kmc: My current one is 116 characters and has 32 bit addressing. +2011-09-03.txt:01:49:40: size-constrained programming is fun +2011-09-03.txt:01:49:48: i enjoyed http://io.smashthestack.org:84/intro/ +2011-09-03.txt:01:51:23: kmc: http://golf.shinh.org/ ftw (ok the latest challenges have sucked a bit) +2011-09-03.txt:01:52:12: kmc: int*a,b[9<<20];main(){a=b;while(scanf("%d",a++)>0);a=b;while(*a)a+=(a[*a]-=a[a[1]])?3:a[2];while(a>b)putchar(*--a);} +2011-09-03.txt:01:52:15: kmc: Thoughts appreciated :P +2011-09-03.txt:01:53:15: kmc: do you know anything about the representation of regular data types, then? :-P +2011-09-03.txt:01:53:37: yeah, a data value is a (possibly tagged) pointer to a StgClosure or whatever +2011-09-03.txt:01:53:48: which has an info pointer and field values +2011-09-03.txt:01:54:24: kmc: what do the info pointers look like :P +2011-09-03.txt:01:54:32: some C struct +2011-09-03.txt:01:55:05: grab a ghc tarball and look in include/ and rts/ +2011-09-03.txt:01:58:35: elliott, partial application +2011-09-03.txt:01:58:57: kmc: huh. +2011-09-03.txt:01:59:34: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects +2011-09-03.txt:02:00:48: dunno how outdated but it does describe what a PAP is +2011-09-03.txt:02:30:45: a FRACTRAN interpreter in Haskell could be pretty short +2011-09-03.txt:02:42:58: http://www.malevole.com/mv/misc/killerquiz/ ? +2011-09-03.txt:03:07:48: "the amazing power of blocks" +2011-09-03.txt:03:10:48: are there people who actually understand Haskell's type system, but still prefer dynamic types in general? +2011-09-03.txt:03:10:56: i don't know many such people, but i spend all day talking to fellow Haskell zealots +2011-09-03.txt:03:11:18: kmc: the only examples I know involve people whose self-asserted understanding of types I doubt +2011-09-03.txt:03:11:19: kmc: I have a good grasp of Haskell's type system but also find dynamic typing to be a good approach as well. +2011-09-03.txt:03:11:23: most of the arguments against i hear are "Java is so verbose!" and "dynamic types give me a single ad-hoc variant type!" +2011-09-03.txt:03:11:28: kmc: I am a language agnostic. :P +[too many lines; stopping]