00:05:45 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
00:10:36 -!- MigoMipo has quit ("Quitter!").
00:13:11 -!- BeholdMyGlory has joined.
01:07:18 -!- jpc has quit (Read error: 110 (Connection timed out)).
02:05:44 -!- BeholdMyGlory has quit (Remote closed the connection).
02:11:39 -!- FireFly has quit ("Leaving").
02:33:13 -!- adam_d_ has quit (Read error: 110 (Connection timed out)).
02:53:11 -!- Pthing has quit (Remote closed the connection).
03:00:32 -!- jpc has joined.
03:51:27 <soupdragon> I was wondering about a programming language based on english
04:43:19 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
04:47:40 -!- Slereah has joined.
04:58:09 -!- jpc has quit (Read error: 110 (Connection timed out)).
05:11:00 -!- MizardX has joined.
06:06:02 -!- augur has quit (Read error: 104 (Connection reset by peer)).
06:06:17 -!- augur has joined.
06:42:38 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:47:35 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *").
06:50:46 -!- MizardX- has joined.
06:57:48 -!- MizardX has quit (Read error: 60 (Operation timed out)).
06:58:12 -!- MizardX- has changed nick to MizardX.
07:11:02 <augur> we should design a purely conjunctivist programming language.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:29:59 -!- ais523 has joined.
09:36:25 -!- Asztal has joined.
10:11:29 -!- puzzlet has quit (Remote closed the connection).
10:11:37 -!- puzzlet has joined.
10:39:43 -!- adam_d_ has joined.
10:50:40 <ais523> and merry christmas (backdated and/or forwarddated as necessary) AnMaster, and the rest of #esoteric!
10:52:26 <AnMaster> at least "happy new year" will be the same for almost everyone. (IIRC China has it's own one for example)
10:53:22 <AnMaster> ais523, wait a second.. "and/or"?
10:53:50 <ais523> it's not technically wrong to use an inclusive or there, is there?
10:54:15 <AnMaster> ais523, well, that imples a single person could have two Christmases per year, no?
10:54:29 <ais523> if they fly from one country to another, yes
10:54:33 <AnMaster> in which case I feel someone is cheating on the rest of us
11:18:50 -!- FireFly has joined.
11:39:56 -!- MigoMipo has joined.
12:54:34 -!- FireFly has quit (Read error: 104 (Connection reset by peer)).
13:07:27 -!- BeholdMyGlory has joined.
13:12:28 -!- FireFly has joined.
13:24:53 -!- oerjan has joined.
14:31:29 -!- ais523 has quit (Remote closed the connection).
14:50:57 -!- MigoMipo has quit ("co'o rodo").
15:07:27 -!- puzzlet has quit (Remote closed the connection).
15:07:36 -!- puzzlet has joined.
15:16:29 -!- soupdragon has joined.
15:28:52 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
15:29:55 -!- puzzlet has joined.
15:34:29 -!- FireFly has quit (Connection timed out).
15:35:37 -!- FireFly has joined.
15:42:51 -!- Pthing has joined.
15:51:01 -!- bsmntbombdood has joined.
16:11:12 -!- MizardX- has joined.
16:11:21 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
16:11:47 -!- MizardX- has changed nick to MizardX.
16:13:33 -!- bsmntbombdood_ has joined.
16:23:48 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
16:31:21 -!- FireFly has quit (Read error: 60 (Operation timed out)).
16:35:51 -!- FireFly has joined.
17:13:25 -!- MigoMipo has joined.
17:23:12 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
17:24:53 -!- Asztal has quit (Read error: 110 (Connection timed out)).
17:44:14 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
17:51:59 -!- soupdragon has quit ("Leaving").
17:52:55 -!- neuDialect has joined.
17:54:26 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
17:54:34 -!- puzzlet has joined.
17:59:01 -!- bsmntbombdood has joined.
18:23:46 -!- poiuy_qwert has joined.
18:24:27 -!- MizardX has quit (Read error: 54 (Connection reset by peer)).
18:24:33 -!- MizardX has joined.
18:26:43 -!- MizardX has quit (Read error: 54 (Connection reset by peer)).
18:26:48 -!- neuDialect has quit (Read error: 60 (Operation timed out)).
18:26:50 -!- MizardX has joined.
18:28:10 -!- Asztal has joined.
18:37:11 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
18:37:27 -!- MizardX has joined.
18:56:35 -!- puzzlet has quit (Remote closed the connection).
18:56:38 -!- puzzlet has joined.
19:10:10 -!- FireFly has quit (Connection timed out).
19:12:26 -!- FireFly has joined.
19:49:42 -!- neuDialect has joined.
19:51:14 -!- neuDialect has left (?).
20:42:48 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
20:45:36 <AnMaster> fizzie, Deewiant: any good ideas for how to go about a Make/C polygot?
20:46:08 <AnMaster> goal: make -f foo.c to build foo
20:48:34 <AnMaster> specifically, how to hide the C code from make
20:48:42 <AnMaster> the other way around is trivial #if 0 .. #endif
20:51:15 <Deewiant> Just make it a command that's never executed?
20:52:33 <Deewiant> #if 0\n.hidden_target: .unsatisfiable_dependency\n#endif\n\tint main(void) { return 0; } or something
20:52:56 <Deewiant> Not sure how make likes an unindented comment there
20:53:21 <AnMaster> still, that means you have to indent your C code one step
20:53:39 <Deewiant> Typically you have to do much worse things to get polyglots to work ;-)
20:53:58 <AnMaster> Deewiant, I was hoping for something that only made the make part messy
20:53:58 <Deewiant> Just set your tab width to zero and it'll be fine
20:54:39 <AnMaster> Deewiant, can't you indent preprocessor iirc?
20:55:02 <AnMaster> it might be some gnu thing only *shrug*
20:55:13 <Deewiant> That's why you typicaly see # endif
20:55:26 <AnMaster> Deewiant, yes. though I'm pretty sure I did it at some point by mistake, and it worked
20:56:28 -!- bsmntbombdood has joined.
21:20:47 -!- MigoMipo has quit (Nick collision from services.).
21:21:14 -!- MigoMipo has joined.
21:27:00 -!- poiuy_qwert has quit ("This computer has gone to sleep").
21:44:18 -!- MizardX has quit ("zzz").
21:50:05 -!- poiuy_qwert has joined.
21:59:42 -!- |MigoMipo| has joined.
22:19:02 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
22:35:53 <Gracenotes> augur... how shall you survive this winter without semantics homework to share with us all?
22:39:52 <augur> merry christmas Gracenotes :D
22:39:56 <augur> also, who needs semantics homework
22:39:59 <augur> theres semantics books!
22:40:28 <augur> also, im going to write a series of blog posts on constructing a prolog interpreter :o
22:40:56 <Gracenotes> actually, given that it's built into the prolog language (with cuts and whatnot), it pretty much has to be backtracking
22:41:05 <augur> nah, just a primitive one
22:41:10 <augur> not optimized or anything
22:41:32 <augur> nope. just bare execution
22:42:05 <augur> itll be a very primitive prolog
22:42:20 <augur> just some simple inference rules and lists
22:43:14 <Gracenotes> neat. I've thought about implementing prolog.
22:43:24 <Gracenotes> which is not as interesting as doing it
22:43:58 <augur> wellnowwhat.net/blog
22:44:16 <Gracenotes> ah, yes, the eminent domain I've been downloading your homework from
22:44:26 <augur> it wont be a complete prolog by far actually. itll really just be a small inference engine that looks a lot like prolog
22:44:32 <augur> the EMINENT domain
22:45:30 <Gracenotes> noes, you've been blagging for months on end now!
22:46:02 <Gracenotes> and I only see one that's a "I haven't been blogging lately" post
22:46:39 <augur> i havent wrote anything in like three months
22:46:43 -!- _MigoMipo_ has joined.
22:48:24 <Gracenotes> I should maintain a blog. hm, how long have I been saying this?
22:48:41 <Gracenotes> well, now that I actually have interesting projects I work on occasionally. And interesting thoughts even less occasionally
22:49:04 <augur> if you wanna coauthor you can. :D
22:50:06 <Gracenotes> probably shouldn't, I can excrete toxic amounts of Haskell from my skin
22:50:35 <augur> i find myself implementing certain monadic operations in ruby when doing certain tasks
22:50:53 <Gracenotes> oh dear, you're releasing spores to other languages now
22:51:00 <augur> hell, coding a prolog-like thing without backtracking employs monadic operations
22:51:13 <Gracenotes> there is a logic monad which does just that
22:51:25 <augur> doing non-backtracking non-deterministic computations demands list monads
22:51:40 <Gracenotes> the humble list monad is the one that does true nondet
22:51:45 <augur> if you look in my code, you'll see lots of like
22:52:00 <augur> class Array; def bind(&l); ...; end; end
22:53:07 -!- soupdragon has joined.
22:53:25 <Gracenotes> you know, speaking of the poem on your domain's front page, I once did a Eugene Onegin-style poem outlining the fundamental theorem of calculus
22:53:53 <Gracenotes> only thing is, it was pentameter instead of tetrameter. but I hoped Pushkin scholars might forgive me there
22:54:51 <Gracenotes> in the end, it sounded a bit less Dr. Suess-y than the one about the halting problem, to be honest >_>
22:54:53 <augur> geoff pullum wrote that one
22:55:08 <augur> ive got no clue what pentameter is :D
22:55:33 <Gracenotes> iambic pentameter = 5*2 = 10 syllables, tetrameter = 8
22:55:54 <augur> i dont need your splanashuns
22:58:28 <Gracenotes> anyway, http://docs.google.com/Doc?docid=0Afa5MxwyB_zYZGhjanNrdjNfMTZkOTR6ejU&hl=en
23:00:06 <Gracenotes> I was young. I had a lot of free time. and actually, both of those are probably true :|
23:03:44 <Gracenotes> I read Hofstadter's translation of Eugene Onegin. Liked it quite a bit.
23:03:50 -!- |MigoMipo| has quit (Read error: 110 (Connection timed out)).
23:06:52 <augur> we're in #esoteric?
23:06:56 <augur> i thought we were in ##proggit
23:10:26 -!- _MigoMipo_ has quit (Read error: 110 (Connection timed out)).
23:13:16 -!- Asztal has quit (Read error: 110 (Connection timed out)).
23:21:14 -!- coppro has joined.
23:37:43 <augur> gracenotes: yeah. i dont want it to be possible to just define functions and then apply them elsewhere
23:37:50 <augur> i want it to be that like
23:38:08 <augur> you have to use combinators to do things with functions
23:38:27 <augur> and you dont get a syntactically invisible "apply" combinator :p
23:39:01 <augur> yeah bit proggit isnt esoteric
23:39:08 <augur> and this is kinda esoteric
23:39:31 <augur> i mean, if i made this a truly logic-oriented language itd be easy, then itd just be a crazy esoteric logic language
23:39:43 <augur> ALL FUNCTIONS must be a -> Bool
23:39:44 <Gracenotes> http://www.grammaticalframework.org/ is what I was thinking about
23:39:52 <augur> where a is not a complex type
23:40:15 <Gracenotes> think it might be more on the syntactical than semantic side
23:43:06 <Gracenotes> it might not be as expressive, in terms of expressing the things .you. want to express.
23:44:34 <augur> Es[+(s), Ex[first(s,x), 1=x], Ey[first(s,y) 1=y], Ez[third(s,z), 2=z]]
23:45:06 <augur> Ww[Es[+(s), Ex[first(s,x), 1=x], Ey[first(s,y) 1=y], Ez[third(s,z), w=z]]
23:45:42 <augur> ofcourse itll be cleaned up and compactified, maybe
23:46:26 <augur> maybe even 1 + 2! :o
23:46:35 <augur> but the semantics will be such that this is what it means underlyingly
23:47:00 <augur> ie, 1+2 is sugar for the complicated Ww[...] thing
23:47:09 <augur> by certain rules of expansion
23:47:22 <augur> + is State -> Bool
23:47:40 <augur> the + state in the background is known to have three participates
23:48:07 <augur> 1 is a predicate Number -> Bool
23:48:34 <augur> so first you extract 1
23:48:46 <augur> it doesnt matter i dont think
23:48:56 <augur> well, sorry, you dont extract it
23:49:00 <augur> you leave it where it is
23:49:36 <augur> you look at + and you say, ok, + is a State -> Bool and 2 is a Num -> Bool
23:49:50 <augur> (and we're in an infix frame)
23:50:21 <augur> so + 1 becomes (either) a State -> Bool or a Num -> Bool
23:50:54 <Gracenotes> I don't think a DSL *needs* arithmetic, per se, no?
23:51:16 <Gracenotes> I can see how it works in a prolog-y way, though
23:51:23 <augur> where its roughly \s -> +(s), Ey[first(s,y), 1(y)] or \y -> 1(y), Es[first(y,s), +(s)]
23:51:40 <augur> er, 2(y), sorry :p
23:52:13 <augur> then you combine it with 1 to produce another either State -> Bool or Number -> Bool
23:52:41 <augur> in the same fashion
23:52:54 <augur> and then when you find theres nothing left to combine with
23:53:09 <augur> you have just a lambda, the only good one possible, i think
23:53:32 <augur> \s -> +(s), Ex[first(s,x), 1(x)], Ex[second(s,x), 1(x)]
23:54:12 <augur> but the interpreter knows that things that are +'s also need a third item in order to be acceptable
23:54:31 <augur> so it inserts another one with an empty predicate:
23:54:32 <Gracenotes> something that might make/break your language is having various syntactical shortcuts... enough, not too many
23:54:35 -!- FireFly has quit (Read error: 60 (Operation timed out)).
23:54:52 <Gracenotes> unless you'd want it to be all explicit. depends on which patterns of usage you want to be really common :)
23:54:57 <augur> \s -> +(s), Ex[first(s,x), 1(x)], Ex[second(s,x), 1(x)] becomes
23:55:15 -!- FireFly has joined.
23:55:34 <augur> Ew[Es[+(s), Ex[first(s,x), 1(x)], Ex[second(s,x), 1(x)], Ez[third(s,z), w(x)]]
23:56:35 <augur> and the W combinator is of type (State -> Bool) -> (Num -> Bool) -> Num
23:56:48 <augur> and this is the _enforced_ semantics of the language
23:56:52 <augur> so you cant actually escape this
23:57:21 <augur> i can integrate this with my desire to have a language that uses movement :D