←2008-05-07 2008-05-08 2008-05-09→ ↑2008 ↑all
00:00:04 <ihope> By which I do not mean anything "Numix" has likely referred to in the past.
00:01:02 <ehird> ihope: Is that good or bad
00:01:39 <ihope> Make that "nomic with root access".
00:02:57 <ehird> ihope: Huh? I don't get it.
00:03:02 <ehird> What are you trying to say
00:03:26 <ihope> I want a nomic with root access to some (virtual, I hope) machine?
00:04:05 <oklopol> virtual ihope - the game
00:04:17 <ehird> ihope: Sure, that's easy enough.
00:04:23 <ehird> Step 1. Take smallnomic
00:04:26 <ihope> I would be interested in that.
00:04:28 <ehird> Step 2. Make a virtual machine
00:04:33 <ehird> Step 3. Run smallnomic on that machine as root.
00:04:40 <ehird> Then you can just build a little shell into smallnomic.
00:06:26 <ihope> Telnet access to a bashy thing and all that would be nice.
00:06:54 -!- timotiis has quit (Connection timed out).
00:07:58 <ehird> ihope: Then it's not a nomic.
00:08:02 <ehird> Then it's just free-for-all!
00:08:18 <ihope> Not telnet access to a root account, surely.
00:10:13 <ehird> ihope: What, exactly, do you want?
00:10:21 <ehird> A nomic played by a regular user account, that proposals are scripts run as root?
00:10:35 <ihope> Sounds right.
00:11:15 <ehird> ihope: So, like, you have
00:11:19 <ehird> /usr/nomic/bin/propose
00:11:23 <ehird> and you might do
00:11:28 <ihope> Yeah.
00:11:30 <ehird> $ propose
00:11:39 <ehird> Title: Rename 'propose' to 'monkey'.
00:11:44 <ehird> Filename: foo.py
00:11:46 <ehird> Proposed.
00:11:46 <ehird> $
00:11:51 <ehird> $ cat foo.py
00:11:56 <ehird> #!/usr/bin/env python
00:12:03 <ehird> # stuff to move 'propose' to 'monkey'
00:12:10 <ihope> And presumably, propose copies the proposal to a safe place.
00:12:10 <ehird> ihope: and /usr/nomic/* is root-editable-only?
00:12:15 <ehird> yes
00:12:23 * ihope nods
00:12:27 <ehird> ihope: Well, it's interesting.
00:12:32 <ehird> You'd need to forbid network connections
00:12:42 <ehird> And somehow still hook into it for telnet
00:12:45 <ihope> Would you?
00:13:02 <ehird> ihope: Yes, because otherwise seriously illegal things could happen
00:13:05 <ehird> And you'd be responsible
00:13:24 <ihope> Stick a disclaimer on it, then. :-P
00:13:31 <ehird> ihope: Legally meaningless for this.
00:13:40 <ehird> If someone downloads something illegal with it, you're fucked.
00:14:04 <ihope> Just like if I download something illegal via Comcast, Comcast is... in trouble?
00:14:55 <ehird> ihope: that's different
00:15:07 <ehird> but if they refuse to terminate your account it's possible that they are in trouble
00:15:08 <ehird> but still
00:15:10 <ehird> an isp is not a nomic
00:15:12 <ihope> My thought was to firewall all ports except 23, 8080, and the Private Ports.
00:15:20 <ihope> Though obviously, that wouldn't help here.
00:15:50 <ehird> ihope: Just run it in a VM and don't give it a network device.
00:15:50 <ihope> Why can't our nomic have the same legal status as an ISP?
00:15:58 <ehird> Then hook into that VM and run a telnetd outside it.
00:16:02 <ihope> That works, I guess.
00:16:02 <ehird> ihope: Because we're not an ISP
00:16:29 <ihope> Allow incoming connections on ports 23, maybe 80, probably 8080, possibly 6667, and nothing outgoing?
00:16:31 <ehird> Besides, it's not like there'd be many good uses for a networky thingy.
00:16:37 <ehird> ihope: Well, here's my idea.
00:16:57 <ehird> [ VM - no networking AT ALL ] <-- [ machine it's running on, is running a telnetd hooking directly into the VM ]
00:17:02 <ehird> you connect to this one -----------------------------------^
00:17:08 <ehird> which gets to ^ this one
00:18:41 * ihope nods
00:19:42 <ihope> Maybe we should just find a hosting service in Zimbabwe. :-P
00:20:37 <ehird> :P
00:21:35 <ehird> ihope: smallnomic will be fun, because people will have proposals to add crazy things like refactoring tools
00:21:36 <ehird> :-P
00:23:06 <ihope> :-)
00:23:20 <ihope> Now, don't those who host virtual private servers have immunity like an ISP?
00:23:33 <ehird> ihope: Nope. And their TOS specifically say you're responsible.
00:23:42 <ehird> But they're responsible too.
00:23:44 <ehird> So it's just a guard, really.
00:23:48 <ehird> It's complicated!
00:23:54 <ihope> Interesting.
00:24:15 <ihope> So the law is silly, then.
00:24:37 <oklopol> aren't you in different countries?
00:24:40 <ehird> ihope: What else is new?
00:24:44 <ehird> oklopol: Going by US law here.
00:24:50 <ehird> Since it's really all that matters when the servers are in the US.
00:24:51 <ihope> ehird: where are you?
00:25:02 <oklopol> ehird: right, right
00:25:05 <ehird> ihope: the land of rain and crappy techno and indie bands
00:25:06 <ehird> (england)
00:25:15 <ihope> We should find a country where the laws aren't silly.
00:25:22 <oklopol> *found
00:25:32 <ihope> If we can't find it, we'll have to found it.
00:25:41 <oklopol> unless we already found it.
00:25:47 <ehird> ihope: esoia
00:25:56 <ehird> with the states:
00:26:03 <ehird> Okoland
00:26:09 <ehird> ehirdpamatron
00:26:14 <ehird> and
00:26:17 <ehird> Ihopethisisagoodname
00:26:24 <ihope> We just have to find an uninhabited thingy that we can claim. Or anything else we can buy.
00:26:31 <ehird> government: ihope, oklopol, me, gregorr, ais523
00:26:33 <ehird> , lament
00:26:39 <ehird> honorary government: sgeo
00:26:50 <oklopol> oh you won't like me with authoritah.
00:26:54 <ihope> Maybe we should host our stuff with HavenCo. :-P
00:27:04 <Sgeo> Why am I only honorary?
00:27:13 <oklopol> thou shalt be knighted
00:27:14 <ehird> Sgeo: i'm scared you'll break things
00:27:22 <ehird> but hopefully fake power will keep you happ
00:27:31 <oklopol> psoxia
00:27:43 <ehird> hahaha
00:27:53 <ehird> Kingdom of Esco!!
00:27:57 <ehird> (psst, Slereah_, time to make a joke)
00:28:09 * Sgeo wants real power
00:28:10 <ihope> Let's give Agora power over something. :-P
00:28:52 <oklopol> well, the most logical choice would be to let me govern all.
00:29:00 <ihope> Claro.
00:29:28 <ehird> omgz idea
00:29:31 <ehird> Haskellnomic
00:29:37 <ehird> proposals must be type safe!
00:31:22 <ihope> First-order-logicnomic. Propose something be done if and only if a certain Turing machine halts.
00:32:26 <ehird> ihope: Very funny :P
00:33:01 <ihope> AInomic.
00:33:02 <ehird> ihope: Any opinions on type-safe-haskellnomic?
00:33:05 <ihope> Er.
00:33:13 <ihope> ehird: probably.
00:33:32 <ihope> AInomic. "I propose that ehird be awarded a few points."
00:33:43 <ehird> heh
00:34:22 <ihope> "If this is an apple, every player who voted FOR this proposal gets 10 points. Otherwise, every player who voted AGAINST this proposal gets 10 points."
00:34:33 <ehird> comgimme some thread titles
00:34:40 <ehird> err
00:37:25 <ihope> ehird, do you have a good way of hosting servery stuff?
00:37:35 <ehird> ihope: Yes.
00:37:37 <ehird> I have a slicehost.
00:37:38 <ehird> It is a VPS.
00:37:41 <ihope> Cool.
00:37:44 <ehird> I have root. I can do whatever I want with it.
00:37:55 <ehird> - Within the law, of course.
00:37:59 <ehird> US law, specifically.
01:20:51 -!- SimonRC has quit (Read error: 110 (Connection timed out)).
01:21:36 <ehird> Bye for today. :-)
01:22:23 -!- ehird has quit (Remote closed the connection).
01:43:13 -!- lament has quit (Read error: 110 (Connection timed out)).
01:48:14 -!- lament has joined.
01:57:28 -!- SimonRC has joined.
01:58:59 -!- poiuy_qwert has joined.
02:15:33 -!- Tritonio has quit (leguin.freenode.net irc.freenode.net).
02:15:33 -!- cmeme has quit (leguin.freenode.net irc.freenode.net).
02:16:13 -!- Tritonio has joined.
02:16:13 -!- cmeme has joined.
02:32:38 <oklopol> yeah, bye ->
03:12:56 -!- poiuy_qwert has quit (Read error: 104 (Connection reset by peer)).
03:13:06 -!- Tritonio has quit (Remote closed the connection).
03:45:58 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
03:47:50 -!- bsmntbombdood has joined.
05:23:21 -!- boily has joined.
05:27:03 -!- boily has quit ("Schtroumpf!").
05:32:13 -!- Slereah- has joined.
05:50:46 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
06:04:06 -!- Sgeo has quit (Remote closed the connection).
06:28:55 <GregorR> OHHHHHHHHHHHHHHHHHHHHHHHHHHH
06:28:58 <GregorR> I HAS C-P-U
06:29:04 <GregorR> IT QUAD CORE AND SO CAN'T YOU
06:29:09 <GregorR> IT SO FAST AND YOURS SO SLOW
06:29:19 <GregorR> LOOK IT PROCESS WATCH IT GO
07:01:16 <lament> quad core sounds pretty esoteric
07:34:21 -!- puzzlet has joined.
07:34:50 -!- puzzlet has quit (Client Quit).
07:36:32 -!- GreaseMonkey has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:27:41 -!- GregorR has quit (Read error: 110 (Connection timed out)).
08:27:46 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
08:37:04 -!- GregorR has joined.
08:37:35 <GregorR> When I get my new system up and running, my old system will need to be repurposed.
08:37:59 <GregorR> Anybody have a suggestion for an experimental/weird/esoteric OS for it?
08:39:48 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
08:40:11 -!- Slereah- has joined.
09:14:29 * oklopol thought everyone had quad core
09:14:46 <oklopol> except me of course, even this one is too fast for me
09:45:45 <GreaseMonkey> GregorR: try coding an OS in BF
09:45:52 <GreaseMonkey> s/BF/befunge/g
09:46:01 <GreaseMonkey> or having Befunge/Linux
09:47:25 <Slereah-> What's the definition of an OS exactly?
09:48:24 <oklopol> that when you press buttons it does smth
09:49:25 <Slereah-> Does smth means "receive bacon"?
09:50:30 <oklopol> i had a dream where my ex gf was begging for sex, and i said "yes", but my current one, who had just done a crazy killing spree with me, as we were trying to escape from the russians, happened to be alive still, to my surprise, so i went to tell my ex there was no way
09:50:57 <oklopol> and then i didn't even fuck her :|
09:51:27 <oklopol> Slereah-: it is a something
09:52:14 <oklopol> http://en.wikipedia.org/wiki/List_of_Teletubbies_episodes <<< i. need. to. see. now.
09:53:03 * Slereah- pushes Buthan
09:55:12 <Slereah-> 13 seasons?
09:55:12 <oklopol> if anyone knows where to find those, do inform me, i'm dying to have a tt marathon
09:55:19 <oklopol> so it would seem :|
09:55:24 <oklopol> like... wtf xD
09:55:26 <Slereah-> oklopol : Have you tried the internet?
09:55:33 <oklopol> i've tried torrentz.com
10:35:34 -!- GreaseMonkey has quit ("Unisex.").
10:48:18 -!- Iskr has joined.
11:02:05 -!- ais523 has joined.
11:06:33 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
11:06:55 -!- Tritonio has joined.
11:15:45 -!- Corun has joined.
13:08:00 -!- ais523 has quit (Remote closed the connection).
13:19:34 -!- Slereah_ has joined.
13:19:34 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
13:36:29 -!- Corun has quit ("This computer has gone to sleep").
13:54:00 -!- ehird has joined.
13:55:06 <ehird> so.
13:55:06 -!- ehird has quit (Remote closed the connection).
13:55:09 -!- ehird has joined.
13:55:13 <Slereah_> So.
13:55:22 <ehird> So.
14:05:06 <ehird> heh
14:05:09 <ehird> nomic.st is available
14:19:57 -!- pikhq has quit (Read error: 110 (Connection timed out)).
14:24:09 -!- jix has joined.
14:31:32 -!- ais523 has joined.
14:44:44 -!- timotiis has joined.
14:59:28 <ais523> ehird: AnMaster: C-INTERCAL development snapshot is now up at http://eso-std.org/darcs/c-intercal
15:00:03 <ehird> nice
15:00:14 <ehird> ais523: here's how to advertise it
15:00:18 <ehird> $ darcs get http://eso-std.org/darcs/c-intercal
15:00:28 <ais523> ehird: have done already
15:00:41 <ais523> I've already applied fixes for the bugs that #esoteric denizens have reported
15:00:45 <ais523> as well as several others
15:00:58 <ehird> ais523: advertised it where?
15:01:03 <ais523> alt.lang.intercal
15:01:10 <ais523> there are a couple of new features there too
15:01:12 <ehird> ok, that's cool :-)
15:01:17 <ehird> i expect about 3 people will use it
15:01:17 <ais523> so the provisial version number is 1.29
15:01:24 <ais523> s/provisial/provisional/
15:01:44 <ais523> I wasn't sure whether to increment the major or minor version number, so in true INTERCAL style I incremented both
15:01:56 <ehird> ais523: your announcement would be funnier without this:
15:01:58 <ehird> 'Come to think of it, INTERCAL should not be used in production
15:01:58 <ehird> code anyway.'
15:02:13 <ais523> ehird: may as well cover myself legally
15:02:17 <ehird> :-)
15:02:37 <ais523> I don't know how many people would try to use INTERCAL in production, but there are sufficiently many idiots on the Internet that it's worth making sure
15:02:51 <ehird> ais523: 'i tried intercal .. reminded me of cobol! no digg'
15:03:06 <ais523> ehird: ever seen VHDL?
15:03:09 <ehird> 'how can anyone read this crap??? stupid.. ruby is far better' (+3423 diggs)
15:03:20 <ais523> it reminds me a bit of INTERCAL, but it isn't that bad as a language
15:03:38 <ehird> ais523: PLEASE DO INCREMENT THE VARIABLE COBOL BY ONE GIVING THE VARIABLE COBOL
15:03:43 <ais523> it's almost an esolang, though, even though it's used for a lot of important programs
15:03:49 <ais523> ehird: ever seen "Hello, world!" in VHDL?
15:03:53 <ais523> it's worse than in Java
15:03:59 <ehird> ais523: well, it's a hardware description language
15:04:02 <ehird> so ... suprise?
15:04:05 <ais523> not really
15:04:13 <ais523> it's more the amount of verbiage that's needed to do anything
15:04:22 <ais523> I think it's last on anagolf, or if not last at least near the bottom
15:04:35 <ehird> ais523: anyway, i've been working on smallnomic
15:04:44 <ehird> not in the actual editing sense, but in the 'let's play with shiny seaside' sense
15:06:11 <ais523> http://ghdl.free.fr/ghdl/The-hello-word-program.html
15:06:30 <ais523> also, VHDL has an interesting control flow
15:06:40 <ais523> it's non-local but can have bits in sequence, just like INTERCAL
15:07:33 <ais523> really, they should have written a program to flash an LED, that's the hardware equivalent of hello, world
15:10:30 <ehird> ais523: ye
15:10:30 <ehird> s
15:13:40 <ehird> ais523: so, smallnomic.
15:13:41 <ehird> it will be awesome.
15:14:12 <ais523> depends on how many people are involved
15:14:24 <AnMaster> <ais523> ehird: AnMaster: C-INTERCAL development snapshot is now up at http://eso-std.org/darcs/c-intercal
15:14:26 <AnMaster> very nice
15:14:39 <AnMaster> however *goes to install darcs again*
15:15:24 <ehird> ais523: a few, i imagine
15:15:37 <ehird> i imagine one or two squeakers/seasiders and one or two nomicers
15:15:45 <ehird> so, perlnomic kind of activity
15:15:51 <ehird> maybe a bit more, since this'll be easier to do
15:15:56 <ehird> (you can just quickly amend a method)
15:16:05 <ais523> ehird: (if enough people vote on it)
15:16:54 <ehird> ais523: obviously it'll be based on the number of total users...
15:17:11 <ais523> well, of course
15:17:18 <ais523> I kind of like the PerlNomic system, actually
15:19:31 <ais523> yes = only way to allow a proposal through, no = disallow it, prevent amending, and punish the submitter, abstain = disallow the proposal but allow amendments and withdrawals without penalty
15:19:39 <ais523> but it should really be called something other than 'abstain'
15:21:14 <ehird> ais523: heh, seaside has fancy lightboxes built-in
15:21:17 <ehird> if you add the SULibrary
15:21:19 <ehird> then you can do
15:21:25 <ehird> self lightbox: aWATask
15:21:31 <ais523> lightbox?
15:22:23 <ehird> ais523: the fade-the-screen-to-grey-and-overlay-a-box-on-top-of-it
15:22:26 <ehird> mostly annoying, sometimes useful
15:22:30 <ais523> like gksudo
15:22:38 <ehird> ais523: yes, but for the web
15:22:51 * ais523 imagines a web-based VPN for a moment
15:22:54 <ehird> ais523: the most common usage is for image on-clicks
15:22:56 <ehird> which is kinda annoying
15:22:57 <ehird> see: http://www.huddletogether.com/projects/lightbox/
15:23:09 <ehird> but i can see it useful in smallnomic
15:23:09 <ehird> for e.g.
15:23:13 <ehird> when you do 'self inform: 'foo'' in seaside
15:23:17 <ehird> it replaces the whole current component
15:23:21 <ehird> and then an OK brings it back
15:23:23 <ehird> which is kinda ugly
15:23:31 <ehird> a lightbox could just grey out the smallnomic screen and show the confirmation in the middle
15:23:35 <ehird> then go back after an OK
15:23:45 <ais523> wouldn't you have to aim it at something other than self, in that case?
15:24:19 <ehird> ais523: yes
15:24:28 <ehird> WAComponent>>lightbox: expects a WATask
15:24:37 <ehird> so we'll have to do some monkeypatching to add a lightbox for blocks
15:25:14 <ais523> there should really just be a generic inform message that always aims at the same global-like object, sort of like alert in JavaScript
15:27:12 <ehird> ais523: indeed
15:27:15 <ehird> we can probably do that
15:27:18 <ehird> remember? you can change anything in smalltalk
15:27:27 <ais523> s/smalltalk/smallnomic/
15:27:27 <ehird> & brutally modifying other package's methods is good practice :-)
15:27:28 <ehird> fun!
15:27:34 <ehird> ais523: latter only because the first
15:27:46 <ais523> ehird: there should be a message you can send to an object to tell it to change its own methods
15:27:55 <ais523> actually, knowing Smalltalk, there probably is
15:29:06 <ehird> ais523: there is, i believe
15:29:17 <ehird> ais523: this is the language where 'true become: false' doesn't throw an error
15:29:23 <ehird> (unless crashing is throwing an error i guess)
15:29:33 <ais523> need that necessarily crash?
15:29:46 <ehird> ais523: yes, since an awful lot of things use boolean values
15:29:47 <ais523> if you've written your code carefully enough, it should be able to cope with true becoming false
15:29:58 <ehird> ais523: if you're joking, you're being very funny
15:30:02 <ehird> if not, i want to kill you
15:30:03 <ehird> :-P
15:30:14 <ais523> I was joking, pretty much
15:30:25 * ais523 wonders if you could compile Forte into Smalltalk
15:32:42 <ehird> ais523: no, because the lower layers kinda depend on numbers
15:33:17 <ais523> ehird: are those lower layers unavoidably needed in Smalltalk? Is it possible to write a program without them, or are they a necessary part of the language?
15:34:06 <ehird> ais523: you could write a program without them but you'd end up reimplementing them or you wouldn't be able to write anything useful
15:34:17 <ehird> ais523: what you could do -
15:34:20 <ehird> ForteInteger
15:34:22 <ehird> which just holds an integer
15:34:23 <ehird> and then
15:34:28 <ehird> aForteInteger become: anotherForteInteger
15:34:29 <ais523> yes, I was thinking along those lines
15:34:31 <ehird> ais523: then the integers themselves are okay
15:34:34 <ehird> but the forte integers change
15:34:35 <ehird> that would work fine
15:34:37 <ais523> wouldn't you need an infinite number of them?
15:34:50 <ehird> ais523: no, just create them when you need them
15:34:54 <ehird> and cache them in a dictionary
15:35:10 <ais523> OK, so it would be similar to interpreting Forte
15:35:12 <ehird> 'course then you could just change the value in the dictionary
15:35:13 <ehird> but hey.
15:35:50 <ehird> ais523: one thing about smalltalk i'm finding is that it's terribly fun
15:35:56 <ehird> there's no 'best practices' malarky for the most part
15:36:05 <ehird> if you wanna change some behaviour in a framework to how you like it, go ahead
15:36:17 <ehird> Monticello recognizes your monkey patches and even version controls them
15:36:19 <ehird> it's all great
15:36:26 <ais523> Smalltalk really needs to be better known
15:36:35 <ais523> I may even learn it at some point
15:36:42 <ais523> I know vaguely how it works, but have never written in it
15:38:16 <ehird> ais523: this is my fisrt real smalltalk app!
15:38:22 <ehird> i'm lovin' it
15:38:41 <ehird> i never really liked hand-holding frameworks, but half of the html in these pages is completely generated by seaside
15:38:43 <ehird> and it's lovely
15:39:41 <ehird> ais523: yay! lightboxBlock: works
15:39:48 <ehird> self lightboxBlock: [:e | e confirm: 'really?']
15:40:11 -!- Iskr has quit (Read error: 110 (Connection timed out)).
15:43:15 -!- Iskr has joined.
15:52:26 <ehird> ais523: one of the hardest things will be duplicating the smalltalk editor in html :-P
15:52:32 <ehird> first thing i'll do is make the tab key insert a real tab
15:52:38 <ehird> (squeak actually uses real-live tabs for indentation!)
15:52:50 <ehird> (this is all nice and fine because of its closed-world view, it can be so idealistic)
15:52:55 <ehird> and then make tabs display as 4 spaces
15:54:03 -!- timotiis has quit (Read error: 110 (Connection timed out)).
15:54:22 <ehird> ais523:
15:54:22 <ehird> <ehird> RandalSchwartz: all editors suck
15:54:22 <ehird> <ehird> s/editors/software/
15:54:22 <ehird> <ehird> s/suck/sucks/
15:54:22 <ehird> <ehird> s/software//
15:54:22 <ehird> <ehird> s/all/everything/
15:59:30 <ehird> ais523: you'll like this,
15:59:32 <ehird> smalltalk has no statements
15:59:39 <ehird> 2 + (x := 3). "5"
15:59:41 <ehird> x. "3"
15:59:52 <ais523> yes, I like that
16:00:04 <ais523> although assignment's an expression in many langs with separate expressions and statements
16:00:50 <ehird> ais523: and, of course, smalltalk has no syntax for classes or anything
16:00:52 <ehird> :-P
16:00:58 <ehird> (even the class creation is an >expression<)
16:01:02 <ehird> you just send a message:
16:01:14 <ais523> ehird: yes, I really do like that sort of style
16:01:17 <ehird> Class>>subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:
16:01:17 <ehird> etc
16:01:20 <ais523> Smalltalk is elegant in the ais523 sense
16:01:50 <ehird> ais523: and the ehird sense
16:02:03 <ais523> so it's doubly elegant
16:02:14 <ehird> yep
16:02:27 -!- Iskr has quit (Read error: 110 (Connection timed out)).
16:03:23 -!- Iskr has joined.
16:16:23 <ehird> ais523: seaside is insufferably fun
16:21:08 <ehird> ais523: ok, some people in #seaside are dumb
16:21:12 <ehird> ssastre> so what is you question then?
16:21:12 <ehird> <ehird> ssastre: how do i, given a regular form with a submit button, change the button so that when the browser can do javascript, it runs my ajax updator and doesn't submit
16:21:13 <ehird> <ehird> but if we don't support JS, we just do it like it was before
16:21:16 <ehird> <ssastre> are you sure that is possible at all?
16:21:30 <ehird> that was like ... the second article anyone wrote after ajax was popularized :\
16:21:41 <ais523> it is possible, obviously
16:21:50 <ais523> the way you do it is to write the button as a normal submit
16:22:01 <ais523> and use JavaScript to change it to an AJAXy button once you load
16:22:11 <ehird> ais523: no
16:22:13 <ehird> that's not how you do it
16:22:27 <ehird> <form ... onsubmit="doItAjaxy(); return false;">...</form>
16:22:31 <ehird> that's how you do it
16:22:39 <ais523> that's another way to do it
16:22:40 <ehird> (return false; = don't submit this)
16:22:45 <ehird> ais523: that's the most common, robust wya
16:22:46 <ehird> *way
16:29:09 <ais523> looks slightly ugly to me, but I can understand how that's robust and works
16:29:24 <ehird> ais523: that's why you write a js that sets it based on the form id
16:29:26 <ehird> non-obtrusive JS
16:29:27 <ehird> :-)
16:29:47 <ais523> the only thing that could break it that I can think of would be a browser that supported a scripting language, but didn't support JavaScript, and how many of those are there?
16:33:48 <ehird> ais523: should I make the counter shared across users?
16:33:49 <ehird> :P
16:34:00 <ais523> ehird: why?
16:34:07 <ais523> it doesn't do anything useful anyway
16:34:38 <ehird> ais523: just to toy around with updating it via ajax
16:35:02 <ais523> ehird: what about race conditions?
16:36:43 <ehird> ais523: hey, my 'the most pointless website ever' didn't care about 'em
16:36:47 <ehird> but then it didn't support decrements
16:37:00 <ais523> and wasn't the counter per-user?
16:37:05 <ehird> ais523: no..
16:37:07 <ehird> it was global
16:37:12 <ais523> although you had per-user totals
16:37:14 <ehird> that's why it had highscores, and the count got above 2 million
16:42:29 <ehird> ais523: hm
16:42:37 <ehird> i'm going to implement a SNComponent
16:42:47 <ehird> ais523: which requires things like a 'component slug'
16:42:55 <ehird> ais523: so if it's 'bite', you get /nomic/bite?_k=asdasd
16:43:01 <ehird> ais523: so that all entry points have unique urls
16:43:06 <ais523> ok
16:43:23 <ehird> ais523: good idea?
16:43:27 <ehird> or should i KISS
16:43:34 <ais523> no idea
16:45:19 <ehird> ais523: hm
16:45:25 <ehird> should I make the slug part of the subclassing call?
16:45:42 <ehird> SNComponent subClass: #SNFoo instanceVariblahblah: ...; slug: 'bite'; ...
16:47:53 <ehird> ais523: no opinions?
16:47:58 <ais523> no
16:48:02 <ais523> I don't know Seaside
16:48:15 <ais523> and I'm not that interested in making original design decisions for smallnomic
16:50:02 <ehird> ais523: bah ;)
16:53:49 <ehird> ais523: i think i'll map classnames to urls
16:54:00 <ehird> SNScrapCounter inside Nomic-Scraps-Seaside:
16:54:05 <ehird> /scraps/scrap-counter
16:54:11 <ehird> you can just ignore me if you want
16:54:11 <ehird> :P
16:54:25 <ais523> I am, more or less, until you talk about something I'm more interested in
16:54:43 <ehird> ais523: how voting should work :P
16:55:00 <ais523> I like the PerlNomic system
16:55:07 <ais523> but it's a little hard to explain to new users
17:00:37 <ehird> ais523: what is
17:00:38 <ehird> it
17:01:49 -!- ais523 has quit (Remote closed the connection).
17:02:06 -!- ais523 has joined.
17:06:59 <ais523> BTW, anyone here tried out the development C-INTERCAL snapshot yet?
17:07:19 <ehird> nope
17:07:20 <ehird> about to
17:07:24 <ais523> I know that it doesn't build first-time on Solaris (although it's always required a bit of manual hacking to work with Solaris lex)
17:07:30 <ais523> but it should be OK on most other platforms
17:07:38 <ais523> that I know of
17:07:40 <ehird> ais523: i don't think ANYBODY here uses solaris :-)
17:07:51 <ais523> ehird: I do sometimes when I don't have my laptop on me
17:07:57 <ais523> it's a choice between that or Windows
17:08:00 <ehird> ais523: why are your short descriptions one words?
17:08:02 <ehird> you can do
17:08:04 <ehird> Initial commit.
17:08:07 <ehird> Add the floobdoob again.
17:08:07 <ais523> ehird: I did after a while
17:08:13 <ais523> but I was just getting used to darcs
17:08:16 <ehird> ais523: alright
17:08:23 <ehird> it's just convention to make them brief full sentences
17:08:43 <ais523> ehird: convention? Why did you expect C-INTERCAL to follow convention?
17:09:12 <ehird> ais523: :-)
17:09:26 <ehird> you're the one who said that eso compilers don't have to be eso
17:09:33 <ehird> ais523:
17:09:33 <ehird> mv .c temp/lexer.c
17:09:34 <ehird> mv: cannot stat `.c': No such file or directory
17:09:46 <ais523> where?
17:10:28 <ehird> gcc -O2 -W -Wall -g -O2 -DICKINCLUDEDIR=\"/usr/local/include/ick-1.29\" -DICKDATADIR=\"/usr/local/share/ick-1.29\" -DICKBINDIR=\"/usr/local/bin\" -DICKLIBDIR=\"/usr/local/lib\" -DYYDEBUG -DICK_HAVE_STDINT_H=1 -I./src -I./temp -c -o temp/parser.o temp/parser.c
17:10:28 <ehird> y: src/lexer.l
17:10:28 <ehird> rm -f temp/lexer.c
17:10:28 <ehird> mv .c temp/lexer.c
17:10:29 <ehird> mv: cannot stat `.c': No such file or directory
17:10:31 <ehird> make: *** [temp/lexer.c] Error 1
17:11:22 <ais523> something went wrong with the configure, then
17:11:28 <ais523> it's meant to move @LEX_OUTPUT_ROOT@.c
17:11:37 <ais523> but for some reason it didn't determine what the output root was
17:11:48 <ais523> try reconfiguring; what does it say about lex?
17:11:59 <ehird> checking for flex... no
17:11:59 <ehird> checking for lex... no
17:12:06 <ehird> ais523: prey tell why you don't die when they're not there?
17:13:15 <ais523> ehird: oh, it's to do with the prebuilt versions
17:13:28 <ais523> they're there specifically for DJGPP systems without lex
17:13:41 <ehird> ais523: well .. still
17:13:43 <ais523> but it seems they're interfering with the build from a dev snapshot
17:14:06 <ais523> I'll have to look into this
17:14:40 <ais523> in the meantime, install lex and reconfigure and it should work
17:14:47 <ehird> ick works
17:15:08 <ais523> ehird: how did it end up working if the compile failed?
17:15:15 <ais523> are you using an old version of ick?
17:15:23 <ais523> maybe I should add a display-version command
17:15:59 <ehird> ais523: i installed flex
17:16:41 <ais523> actually, it's not the prebuilt versions interfering
17:16:48 <ais523> it's worse than that
17:17:04 <ais523> it seems that autoconf replaces the lex command with a null string if lex isn't found
17:17:14 <ais523> and the lex line isn't a syntax error...
17:17:30 <ais523> I should just get it to bail out if it can't find a version of lex, somehow
17:21:15 * ais523 downloads the autoconf documentation
17:21:28 <ais523> up to now, I'd been working on a really old version of the documentation, 'twould be nice to read a newer copy
17:30:39 <ehird> A=4
17:30:50 <ais523> ehird: context?
17:31:05 <ehird> context={#A: 4}
17:31:42 <ais523> why did you say a random Smalltalk expression, then?
17:32:36 <ehird> ais523: that was not a random smalltalk expression
17:32:47 <ais523> why did you say that smalltalk expression, then?
17:36:55 <ehird> ais523: It is not a smalltalk expression
17:37:01 <ais523> what lang is it, then?
17:37:16 <ehird> ais523: it's not
17:37:27 <ehird> (it's not even a valid smalltalk expr, fwiw)
17:37:35 <ehird> (it's :=... or right arrow <-, in ASCII as _)
17:37:39 <ais523> so what is A, then, and why is it 4?
17:37:48 <ais523> and I assumed = was comparison because assignment was :=
17:38:13 <ehird> ah yes
17:38:15 <ehird> it is comparison
17:38:20 <ehird> but context={#A: 4}
17:38:25 <ehird> implies that i was assigning to a variable
17:38:33 <ehird> now continue prompting me with 'expr?'
17:38:39 <ais523> expr?
17:39:09 <ehird> 'context?' was one
17:39:11 <ehird> ais523: not literally
17:39:24 <ais523> OK, but I have to have some idea of what you want me to do
17:40:57 <ehird> ais523: hmm, ask me 'context?' again
17:41:01 <ais523> context?
17:41:01 <ehird> my previous one was wrong
17:41:10 <ais523> this is as bad as #irp
17:41:18 <ehird> {a: 4, context: {a: 4, context: {a:4, context: [stack overflow]
17:41:24 <ehird> Reset.
17:41:31 <ais523> stack?
17:42:06 <ehird> LinkedList(Context>>viewStack, Empty)
17:42:20 <ais523> nomic?
17:42:46 <ehird> a Nomic
17:43:03 <ais523> LinkedList?
17:43:41 <ehird> LinkedList
17:43:49 <ais523> true?
17:44:25 <ehird> true 'dat
17:44:43 <ais523> but I thought you'd caused true to become false earlier
17:45:00 <ehird> true 'dat
17:45:14 <ais523> 'dat?
17:45:23 <ehird> [syntax error]
17:45:25 <ehird> Reset.
17:45:31 <ais523> dat?
17:46:10 <ehird> recursive structure of Great Meaning
17:46:17 <ais523> recursive?
17:46:53 <ehird> recursive
17:47:04 <ais523> literal LOL, again...
17:47:11 <ais523> twisty little passageway?
17:47:34 <ehird> a maze of them, all alike
17:47:59 <ais523> super(twisty little passageway)?
17:48:35 <ehird> [syntax error, expecting message send, found '(']
17:48:37 <ehird> Reset.
17:48:46 <ais523> version?
17:49:09 <ehird> 2i
17:49:18 <ais523> IRP?
17:49:26 -!- timotiis has joined.
17:49:49 <ehird> stupid shit that I would never participate in
17:50:09 <ais523> well, that little conversation looked like a strange mix of Smalltalk and IRP to me
17:50:19 <ais523> as opposed to Smalltalk itself, that's an ugly concept
17:50:25 <ehird> [humour error]
17:50:27 <ehird> Reset.
17:50:36 * ais523 got the humour
17:50:42 <ehird> ais523: you haven't got the cake yet
17:50:43 <ais523> but was getting bored of the thread
17:50:45 <ehird> oops, what did I just say!
17:50:59 <ehird> you still have a ton of objects you can send messages to
17:51:02 <ais523> cake: areYouALie?
17:51:20 <ais523> (is that the right syntax?)
17:51:21 <ehird> [syntax error]
17:51:24 <ehird> Reset.
17:51:30 <ehird> ais523: maybe try just 'cake'
17:51:34 <ais523> OK
17:51:35 <ais523> cake?
17:51:38 <ehird> a NiceTry
17:51:58 <ais523> How do you send a message and get a result back from it?
17:52:03 <ais523> I can't remember the syntax
17:52:08 <ehird> ais523: it's invisible
17:52:17 <ehird> 'thing message'
17:52:19 <ehird> 'thing message: arg'
17:52:22 <ais523> ah
17:52:25 <ehird> 'thing message: arg foo: arg' (message is actually message:foo:)
17:52:33 <ais523> cake becomes: delicious.
17:52:49 <ehird> [invalid 'a become: a']
17:52:50 <ehird> Reset.
17:52:57 <ehird> ais523: try the passageways and the nomic object
17:53:06 <ais523> nomic becomes: delicious.
17:53:23 <ehird> ais523: become: actually
17:53:25 <ehird> but:
17:53:31 <ehird> [Nomics are already delicious. Duh.]
17:53:32 <ehird> Reset.
17:53:39 <ehird> (try 'nomic players')
17:53:44 <ais523> nomic players?
17:54:04 <ehird> a Set (YOU)
17:54:12 <ehird> [error: wrong result]
17:54:13 <ehird> a Set (YOU, cake)
17:55:12 <ehird> [ais523 ping error]
17:55:12 <ais523> cake proposeContract: contractid1 players: {me, cake} text: "conspire against ehird"?
17:55:53 <ehird> [NiceTrys do not respond to proposeContract.]
17:55:59 <ehird> [And "" is a comment.]
17:56:05 <ais523> what's a string?
17:56:08 <ais523> single quotes?
17:56:10 <ehird> [Single quotes.]
17:56:21 <ehird> [Also, {me, cake} should be Set with: me with: cake]
17:56:31 <ais523> the same arg twice?
17:56:32 <ehird> [And maybe you should change the id into a title.]
17:56:35 <ais523> that's kind-of clever, too
17:56:38 <ehird> ais523: yes, it actually sends with:with:
17:56:51 <ehird> with: a ^(self new) add: a; yourself
17:56:56 <ehird> with: a with: b ^(self new) add: a; add: b; yourself
17:56:56 <ehird> etc
17:56:56 <ais523> to a Set object, which is responsible for creating sets
17:57:00 <ehird> yes
17:57:08 <ehird> you can't do a 'variadic with' though
17:57:18 <ais523> Smalltalk ought to be classified as an esolang
17:57:22 <ais523> I don't care if it's used seriously
17:57:30 <ais523> it's just far too elegant to be a mainstream language
17:57:46 <ehird> ais523: truth
17:57:55 <ehird> but it's elegant *and* useful!
17:57:56 <ehird> perfect
17:58:02 <ehird> ais523: thankfully, though, it's not mainstream ;)
17:58:22 <ais523> "mainstream" as in "not esoteric"
17:58:32 <ais523> but if it did become truly popular, what do you think would happen?
17:58:38 <ais523> Microsoft Visual Smalltalk.NET?
17:58:50 * ais523 shudders at the thought of Smalltalk bindings to the Win32 API
17:58:56 <ehird> ais523: they exist, I believe
17:58:58 <ehird> but abstracted
17:59:00 <ehird> VW Smalltalk
17:59:02 <AnMaster> oh god
17:59:14 <ehird> well, not really
17:59:15 <ehird> AnMaster: what
18:00:11 <ais523> I mean, imagine sending a Smalltalk message to CreateProcessEx
18:00:21 <ais523> one other thing, what happens if you write the args in a different order?
18:00:24 <ehird> ais523: OK, that's evil
18:00:29 <ehird> and...
18:00:30 <ehird> it fails
18:00:42 <ehird> thing part1: x part2: y part3: z
18:00:44 <ehird> is really sugar for
18:00:55 <ehird> send #part1:part2:part3: to thing, with args #(x y z)
18:00:57 <ais523> I was wondering if they were reordered if there wasn't a match otherwise
18:01:03 <ehird> well except that you can't literally put it in #()
18:01:06 <ehird> but that is the basic idea
18:01:08 <ehird> ais523: nope
18:01:16 <ehird> the keyword arguments are just sugar, really
18:01:18 <ehird> but it's simpler this way
18:01:19 <AnMaster> ehird, "<ais523> Microsoft Visual Smalltalk.NET?"
18:01:21 <AnMaster> about that
18:01:29 <ais523> well, it doesn't exist AFAIK
18:01:34 * ais523 googles it just to make sure
18:02:12 <AnMaster> yeah but the idea... -_
18:02:14 <AnMaster> -_-
18:02:43 <ais523> oh dear
18:02:44 <ais523> http://www.smallscript.org/
18:03:00 <ais523> their language S# appears to be an extension of Smalltalk over .NET
18:03:05 <AnMaster> ais523, well there is FORTH for .NET too
18:03:09 <ehird> ais523: oh dear
18:03:27 <ais523> "Smallscript provides a valuable development environment on the .NET Framework", said John Montgomery, group product manager for the Microsoft.NET Framework at Microsoft Corp. "Microsoft is excited to be working with Smallscript Corp. to offer developers of Smalltalk and other languages a productive, reliable, easy-to-use platform for building and deploying cross-language applications and Web services."
18:03:33 <AnMaster> " Site last updated: April 8, 2004"
18:03:33 <ehird> http://www.gemstone.com/ this is a better smalltalk company ;)
18:03:37 <ais523> that whole thing is a quote
18:03:46 <ehird> (http://www.gemstone.com/products/smalltalk/)
18:05:11 <ais523> worse
18:05:12 <ais523> http://msdn.microsoft.com/en-us/library/cc301882.aspx
18:05:20 <ais523> Ctrl-F on "smalltalk"
18:05:33 <ais523> ah, it's describing the same thign
18:05:37 <ais523> s/gn/ng/
18:05:45 <AnMaster> COBOL for .NET? APL for .NET? Smalltalk for .NET?
18:05:47 <AnMaster> W T F
18:05:59 <ais523> well, after all, .NET's just a VM really
18:06:11 <AnMaster> yes and a bloated crap runtime
18:06:23 <ehird> Dataman is publishing Delta Forth .NET, a simplified dialect of the Forth programming language.
18:06:28 <ehird> i guess by simplified
18:06:30 <ais523> so I can just about understand people targeting it, especially if they're easily influenced by Microsoft
18:06:30 <ehird> they mean complexified
18:06:32 <ehird> I bet it has GC.
18:06:34 * AnMaster prefers a lean runtime, just there to handle the "talk to OS bit"
18:06:35 <ehird> And abstractions.
18:06:39 <ehird> And that's 'simpler'.
18:06:42 <AnMaster> like libc is mostly
18:06:59 <ais523> ehird: simpler implementation, or simpler to code?
18:07:01 <AnMaster> ehird, well I knew about Delta Forth before
18:07:05 <AnMaster> iirc it is open source
18:07:08 <ehird> ais523: exactly!
18:07:18 <ehird> forth's simplicity is in both
18:07:19 <ais523> at least it's not like C-INTERCAL, where garbage collection makes a semantic difference to the language
18:07:22 <ehird> because you have the low level stuff
18:07:26 <ehird> and then layer tiny abstractions on top
18:07:37 <ehird> i bet delta forth has 'big abstractions'
18:07:40 <ehird> and no low level stuff
18:07:57 <ehird> Forth is its implementation, really.
18:08:13 <ais523> do you mean by that that there's only one sane way to implement the language?
18:08:29 <ehird> ais523: if you implement it another way i'd hesitate to call it forth
18:08:39 <ais523> even if it accepts the same programs?
18:08:49 <ehird> yep
18:09:11 <ais523> does that imply that Forth can't be compiled into high-level languages
18:09:15 <ais523> because it wouldn't be Forth if you did?
18:09:59 <ehird> well, it would be forth
18:10:01 <ehird> but i wouldn't call it forth
18:10:25 <ais523> that gives me a silly idea for an add-on feature to a silly esolang
18:10:31 <ais523> it can be compiled into any language except C
18:10:41 <ais523> becaues the name of the original language changes if you compile it into C
18:10:46 <ais523> so you really compiled a different language
18:10:54 <ehird> ais523: ha
18:11:01 <ehird> can you even do that?
18:11:07 <ais523> I don't think so
18:11:17 <ais523> but half the players in Agora would try
18:11:27 <AnMaster> <ais523> at least it's not like C-INTERCAL, where garbage collection makes a semantic difference to the language
18:11:30 <ais523> if it were an esonomic
18:11:30 <AnMaster> *blink*
18:11:31 <AnMaster> ???
18:12:03 <ais523> AnMaster: backtracking past the point where you multithreaded kills the current thread unless it's the last remaining thread to be alive at that point
18:12:08 <ais523> threads need to be garbage-collected
18:12:21 <ais523> and as aggressively as possible, too, or the program might quit for no reason
18:12:29 <AnMaster> interesting
18:12:34 <ais523> in C-INTERCAL, you can backtrack past a fork()
18:13:14 <ais523> Malcom Ryan wrote the semantics for INTERCAL backtracking and multithreading, by the way, I just coded most of it (apart from the original multithreading code, which I ignored and made my own version of anyway)
18:16:17 <AnMaster> interesting
18:25:35 -!- Corun has joined.
18:27:23 -!- timotiis has quit (Read error: 104 (Connection reset by peer)).
18:27:26 -!- timotiis has joined.
18:36:19 -!- oklopol has joined.
19:02:07 -!- helios24 has joined.
19:11:13 -!- jix has quit (Nick collision from services.).
19:11:23 -!- jix has joined.
20:17:33 -!- oerjan has joined.
20:46:58 -!- Judofyr has joined.
20:54:39 -!- oerjan has quit ("leaving").
21:00:36 -!- timotiis_ has joined.
21:25:18 -!- timotiis has quit (Read error: 110 (Connection timed out)).
21:27:18 -!- timotiis_ has changed nick to timotiis.
21:58:27 -!- helios24 has quit ("Leaving").
22:00:50 <Slereah_> People of Esoteria.
22:01:03 <Slereah_> Does Recursive Functions of Symbolic Expressions and Their Computation by Machine Part II exist?
22:01:07 <Slereah_> I can only find part 1.
22:02:31 <ehird> Slereah_: Maybe
22:06:01 <Slereah_> Also, is Quote necessary in the basic Lisp?
22:06:12 <ais523> Slereah_: you can simulate it with macros
22:06:29 <Slereah_> I mean, on a theoretical level.
22:06:38 <Slereah_> Everything seemed just dandy without it.
22:06:54 <ais523> well, you need something to construct your new objects out of
22:06:56 <Slereah_> Although I have no idea what's the minimal for TCness.
22:07:06 <ais523> quote isn't needed, although you need a stock of objects to manipulate
22:07:11 <ais523> otherwise you can't actually /do/ anything
22:07:18 <ais523> luckily, atoms can be that stock of objects
22:07:24 <ais523> and they don't normally need to be quoted
22:07:27 <Slereah_> How does QUOTE create objects?
22:07:48 -!- Iskr has quit ("Leaving").
22:07:53 <ais523> Slereah_: it's a special form that just reads its args literally and makes them an object
22:08:00 <ais523> so by definition, more or less
22:08:15 <ais523> but it would be possible to start with loads of atoms and cons them all together into an object, I think
22:08:18 <ais523> just tedious
22:08:32 <ais523> more or less the same way that it's possible to write Underload without nested parens
22:09:09 <Slereah_> A guy was telling me how quote was totally necessary.
22:09:25 <Slereah_> And that in M form, parenthesis worked like quote.
22:09:38 <ais523> well, the point is that atoms are self-quoting
22:09:43 <ehird> BRB
22:09:49 <ais523> at least, it depends on the situation
22:10:11 <ais523> does lisp try to evaluate atoms on the RHS of an expression, or just leave them as-is? I can never remember
22:10:11 <ehird> Slereah_: all you need is lambda, really
22:10:12 <ehird> and apply
22:10:14 <ehird> and it's TC
22:10:16 <ehird> lisp is just everything else
22:10:20 <ehird> ais523: evaluate
22:10:24 <ais523> oh
22:10:31 <Slereah_> ehird : Well, lambda is TC by itself
22:10:40 <ais523> in that case, you'd need some other way to get a stock of unevaluating atoms
22:10:51 <ais523> Slereah_: no, you need apply, that's in the lambda calculus too
22:11:12 <Slereah_> Well yes
22:11:32 <Slereah_> But can Lisp be TC with just the cons-car-cdr-eq-atom-cond?
22:11:42 <ais523> what does atom do?
22:11:42 <Slereah_> And a buttload of atoms
22:11:50 <Slereah_> and other variables
22:12:06 <Slereah_> Atom returns T or F, depending on the atomicity of the variable
22:12:09 <Slereah_> Atomicitude
22:12:11 <Slereah_> Atomicism
22:13:30 <ais523> well, I imagine you could manage a BF to LISP like that compiler
22:13:39 <ais523> as long as you could somehow set up a loop
22:14:23 <Slereah_> Well, the original paper, it was possible to do recursion
22:14:30 <Slereah_> So I guess
22:14:31 <ais523> that's easy with recursion, but you didn't put anything that could define a function in your list
22:14:59 <ais523> however, it may still be possible with the Underload/Unlambda :^/``sii trick
22:15:07 <Slereah_> Yeah, there's function definition
22:15:16 <ais523> if you have function definition it's easy, I think
22:15:25 <ais523> because apply is in the syntax of the language
22:15:25 <ehird> back
22:15:30 <ais523> and function definition can simulate lambdas
22:15:36 <ais523> actually, no it can't
22:15:44 <ais523> but I think it can simulate them well enough for these purposes
22:15:49 <ehird> ais523: by the way
22:15:58 <ehird> basic evaluation method of scheme
22:16:06 <Slereah_> For instance, http://www-formal.stanford.edu/jmc/recursive/img100.png
22:16:07 <ehird> (apply (eval (car expr)) (map eval (cdr expr)))
22:16:47 <ehird> TC:
22:17:54 <ehird> (define (tc expr) (cond ((eq? (car expr) 'lambda) (lambda (x) (replace (cadr expr) x (cddr expr)))) (else (apply (eval (car expr)) (map eval (cdr expr)))))
22:18:13 <ehird> just define replace to replace all occurences with the other
22:18:20 <ehird> unless there's a function with the arg equal to the atom
22:18:23 <ehird> in which case it's left alone
22:18:36 <ais523> is that a Scheme interp in Scheme?
22:18:41 <ehird> ais523: no, an LC interp
22:18:46 <ehird> given the definition of replace that i quoted
22:18:49 <ehird> well
22:18:51 <ehird> strict LC interp
22:18:54 <ais523> LC?
22:18:58 <ais523> oh, lambda calculus
22:19:01 <ehird> ais523: lambda calculus
22:19:09 <ais523> I thought you'd mistyped an acronym for Common Lisp for a moment
22:19:10 <ehird> technically, if you give the definition of replace I stated,
22:19:19 <ehird> it's call-by-value LC
22:19:27 <ehird> but you can specify multiple values in the application
22:19:34 <ehird> even though it'll just trigger an error
22:19:41 <ehird> meh
22:19:44 <ais523> call-by-value LC is easier to write in, I think, because it doesn't need a quote
22:19:54 <ais523> otherwise you end up in an infinite evaluation loop
22:19:57 <ehird> ais523: err, neither does any other kind
22:20:02 <ehird> ais523: regular LC is lazy.
22:20:05 <ais523> oh
22:20:05 <ehird> it needs no quote
22:20:07 <ais523> of course
22:20:22 <ehird> the Y combinator is ugly in call-by-value
22:20:32 <ehird> call-by-value LC destroys eta-reduction basically
22:25:36 <ehird> Zoop
22:26:34 <Slereah_> ZIBBIDIBAH
22:29:24 <ehird> ais523: Gonna make the browser more advanced in a sec
22:37:25 <ehird> .
22:37:35 <ais523> ..
22:38:16 <ehird> ...
22:38:31 <ehird> ais523: let's do sierpinski
22:38:42 <ais523> please, I need to concentrate right now
22:38:50 <ais523> I'm trying to defend myself against an Agoran criminal case
22:38:58 <ais523> at least one person doesn't like scammers...
22:39:44 <ehird> ais523: sorry for your loss
22:39:49 <ais523> not really, this is fun
22:39:51 <ehird> i'll miss you
22:41:10 <ehird> I hereby request to be listed as an observer of Agora Nomic.
22:41:14 <ehird> 'sthat even valud
22:41:17 <ehird> *valid
22:41:19 <ais523> yes
22:41:23 <ais523> they keep track of people who are watching
22:42:51 <ehird> ais523: I bet they'd be nicer if it wasn't a n00b who was having some luck with a clever scam
22:46:27 <ehird> ais523: Email erez make 'em activate
22:46:35 <ais523> ehird: why don't you do that?
22:46:45 <ais523> why did you ask me to, in other words?
22:47:18 <ehird> ais523: quite busy right now
22:47:22 <ais523> so am I
22:47:24 <ehird> And you were the one who
22:47:31 <ehird> sauid that they woul
22:47:32 <ais523> let's email them later, when less busy
22:47:36 <ehird> dn't actibsyr
22:47:41 <ehird> dn' t activate
23:51:36 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"").
←2008-05-07 2008-05-08 2008-05-09→ ↑2008 ↑all