00:05:47 -!- idris-bot has joined.
00:13:27 <oerjan> `learn `revert is a bit buggy. The canary.orig error message is annoying but seemingly harmless. However, reverting a newly created file tends not to work - use `rm instead.
00:13:30 <HackEgo> Learned '`revert': `revert is a bit buggy. The canary.orig error message is annoying but seemingly harmless. However, reverting a newly created file tends not to work - use `rm instead.
00:14:07 <oerjan> just so it's documented somewhere.
00:14:27 -!- lynn_ has changed nick to lynn.
00:16:47 <oerjan> ah new lightning made of owls
00:17:52 <coppro> how do I add a command agian?
00:18:24 <oerjan> coppro: add it to bin/ . if it's a single line script, `mkx is convenient.
00:18:39 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/mkx
00:19:02 <ais523> no need to paste that, really
00:19:05 <HackEgo> key=$(mk "$@") && echo "$key" && chmod +x "$key"
00:19:16 <fizzie> You never know how long these things are.
00:19:20 <HackEgo> [[ "$1" == ?*//* ]] || exit 1; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$key" && echo "$key"
00:19:33 <ais523> fizzie: well you can cat it to IRC first and then paste if it's too long
00:19:47 <coppro> `mkx quote; quote; quote; quote; quote
00:19:58 <coppro> `mkx 5quote quote; quote; quote; quote; quote
00:20:05 <HackEgo> rm: cannot remove `bin/quote\\;': No such file or directory
00:20:13 <HackEgo> 22) PA ET ANNET UNIVERSET DER DE ENESTE PERSONEN OERJAN: <oerjan> sa jeg kan bare konkludere med at det er feil, eller er verden helt bonkers
00:20:14 <oerjan> coppro: you need // as separator
00:20:21 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: 5quote: not found
00:20:36 <fizzie> As in, `mkx something//contents.
00:20:48 <fizzie> Or is that bin/something?
00:20:49 <oerjan> and the bin/ needs to be there too
00:20:55 <fizzie> Yeah, didn't read so closely.
00:21:09 <coppro> `mkx bin/5quote//quote;quote;quote;quote;quote;
00:21:14 <HackEgo> 565) <oerjan> <Patashu> But wait what if I'm using a quantum computer <-- there is "quantum entropy". it's the same except no one understands it. \ 535) <hagb4rd> jesus, yes.. he was human <hagb4rd> and that is fantastic <hagb4rd> more than beeing able to speak with fish.. like seaman does \ 428) <monqy> beautiful summer / fuck fuck fuck fuck fu
00:21:34 <fizzie> You can't get more than one line of output from HackEgo by any means.
00:21:41 <oerjan> `` allquotes | shuf -n 5
00:21:43 <HackEgo> 615) * oerjan concludes that unsafeCoerce has no effect on strictness \ 412) <NihilistDandy> Non sequitur is my forte <NihilistDandy> On-topic discussion is my piano <Taneb> Bowls of sugary breakfast cereal is my mezzoforte <Taneb> Full fat milk is my pianissimo <Taneb> On which note, I'm hungry \ 425) <Phantom_Hoover> Sgeo_, the origin of suff
00:21:54 <fizzie> Which is probably why people have gotten the habit of spamming `quote, I guess.
00:23:32 <ais523> coppro: using `«command» doesn't do any shell formatting or escaping
00:23:39 <ais523> if you want shell escapes do `` «command»
00:23:46 <HackEgo> rm: cannot remove `bin/quote;': No such file or directory
00:26:37 <fizzie> `` sed -i -e 's|exit 1|(echo usage: $0 file//contents; exit 1)|' bin/mk
00:26:50 <fizzie> `mkx I don't know the syntax
00:26:53 <HackEgo> usage: /hackenv/bin/mk file//contents \ I don't know the syntax \ chmod: cannot access `usage: /hackenv/bin/mk file//contents\nI don\'t know the syntax': No such file or directory
00:27:22 <fizzie> Well, it made mk a bit nicer, but broke mkx; I guess the exit 1 didn't take from the subshell or some-such.
00:27:53 <fizzie> Or, oh; mkx doesn't even check? It just assumes, and now that made some output.
00:28:00 -!- lynn has quit (Quit: Leaving).
00:28:19 <fizzie> `` sed -i -e 's|contents;|contents >&2;|' bin/mk
00:28:26 <HackEgo> /hackenv/bin/mk: line 1: 2: command not found \ how about now
00:28:40 <fizzie> I just keep breaking it.
00:29:12 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
00:30:15 <fizzie> Oh, and that reverted a wrong thing. Bah. I'll clean it up in a query.
00:34:46 <HackEgo> usage: /hackenv/bin/mk file//contents
00:34:59 <fizzie> Yeah, the command name in the usage is still wrong, but at least it's better than nothing.
00:35:23 <fizzie> Can't really tell whether the original command was mk or mkx since mkx just calls mk.
00:36:26 <fizzie> `` sed -i -e 's|$0|"mk[x]"|' bin/mk
00:36:32 <HackEgo> usage: mk[x] file//contents
00:38:19 <fizzie> I really wonder what made // the "standard" HackEgo separator.
00:50:44 <zzo38> Now I have made JSZM version 2 and also the example front-end which is using Node.js
00:52:52 <oerjan> fizzie: well it started as / for `slashlearn that was then improved to work with subdirectory targets
00:53:21 <oerjan> because // isn't meaningful in a path
00:54:10 <oerjan> `culprits bin/slashlearn
00:54:13 <HackEgo> shachaf shachaf shachaf int-e tswett tswett shachaf shachaf shachaf shachaf
00:54:39 <oerjan> and shachaf presumably chose / for that because it cannot be in a file name.
00:56:38 <oerjan> hmph, there should be a command like mkdir -p which creates a file instead.
00:57:00 <oerjan> it would be easier than having to separate out the directory first
00:57:26 * oerjan now expects someone to tell what it is
00:59:18 -!- vodkode has quit (Remote host closed the connection).
01:00:54 <HackEgo> [[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$key" && echo "$key"
01:03:23 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
01:08:32 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "wisdom/$key" && echo "Learned «$key»"
01:10:41 <zzo38> Now my "parse-rdf" JavaScript program is include "parse" and "gparse" functions which parse, as well as a Graph object including the methods: add, listNodes, enumerate, export, skolemize, findPredicate, findObject, findProperty, delete, clone, cloneDistinct. In addition the graph has own properties, ones named by string for URI nodes and ones named by symbol for blanknodes.
01:11:25 <zzo38> Each one is object with property named by URI of predicates, which is the array of the objects. URI and blanknodes is string/symbol values, while literals use the Literal object.
01:11:28 -!- augur has quit (Ping timeout: 256 seconds).
01:11:32 <zzo38> Is ther other stuff you expect I should add too?
01:12:28 <oerjan> `mkx bin/echo-p echo "$1"; [[ "$1" == */* ]] && mkdir -p "${1%/*}" 2>/dev/null
01:12:29 <HackEgo> usage: mk[x] file//contents
01:12:37 <oerjan> `mkx bin/echo-p//echo "$1"; [[ "$1" == */* ]] && mkdir -p "${1%/*}" 2>/dev/null
01:13:51 <HackEgo> ls: cannot access /fnord: No such file or directory
01:13:56 <HackEgo> ls: cannot access hello: No such file or directory
01:14:13 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "wisdom/$key" && echo "Learned «$key»"
01:15:08 <shachaf> fizzie: What would you use for a separator?
01:15:27 <oerjan> `` sed -i 's!wisdom/.*"!$(echo-p "wisdom/$key")"!' bin/slashlearn
01:15:34 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")"
01:15:43 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
01:15:59 -!- augur has joined.
01:16:08 <oerjan> `` sed -i 's!wisdom/[^"]*"!$(echo-p "wisdom/$key")"!' bin/slashlearn
01:16:15 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "Learned «$key»"
01:16:48 <oerjan> shachaf: no, not just printing it
01:16:55 <oerjan> echo-p also creates the path to it
01:17:12 <shachaf> Yes, but you could just mkdir -p "$(dirname "$1")"
01:17:36 <oerjan> shachaf: i want something that can be just substituted around a filename
01:17:49 <oerjan> `le/rn is/this/working//maybe.
01:18:03 <shachaf> I'm talking about the implementation of echo-p. But either way.
01:18:58 <shachaf> forget should also rmdir -p
01:19:19 <HackEgo> echo "$1"; [[ "$1" == */* ]] && mkdir -p "${1%/*}" 2>/dev/null
01:20:02 <oerjan> `mkx echo-p//echo "$1"; mkdir -p "$(dirname "$1")" 2>/dev/null
01:20:35 <oerjan> `le//rn is/this/working//maybe.
01:20:46 -!- augur has quit (Ping timeout: 240 seconds).
01:21:05 <HackEgo> rm: invalid option -- ' ' \ Try `rm --help' for more information.
01:21:16 <MDude> http://www.pixiv.net/member_illust.php?mode=medium&illust_id=54958830
01:21:22 <HackEgo> [[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$key" && echo "$key"
01:22:51 <oerjan> `` sed -i 's/> "...."/> "$(echo-p "$key")"/' bin/mk
01:22:57 <HackEgo> [[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$(echo-p "$key")" && echo "$key"
01:23:23 <oerjan> `mk this/changes/everything//oh, really?
01:23:35 <oerjan> `cat this/changes/everything
01:24:04 <oerjan> `mkx this/changes/everything//oh, really?
01:24:20 <oerjan> `./this/changes/everything
01:24:21 <HackEgo> /hackenv/this/changes/everything: line 1: oh,: command not found
01:25:50 -!- augur has joined.
01:26:19 <fizzie> shachaf: I'm partial to |, but it's admittedly kind of overly shell-metacharacteristic.
01:27:02 <fizzie> hppavilion[1]: Over //.
01:27:23 <fizzie> It's the separator for `mk, `mkx, and I think others as well.
01:29:17 <oerjan> hppavilion[1]: i'm improving `le//rn and `mk[x] to create subdirectories automatically.
01:29:48 -!- tromp_ has joined.
01:30:02 <HackEgo> #!/bin/sh \ rm "wisdom/$(echo "$1" | tr A-Z a-z)" \ echo "Forget what?"
01:31:12 <HackEgo> cat: bin/rm-p: No such file or directory
01:31:48 -!- PyRCBot has joined.
01:31:48 -!- PyRCBot has quit (Remote host closed the connection).
01:31:52 <ais523> rm doesn't have a -p, although rmdir does
01:32:10 -!- augur has quit (Ping timeout: 245 seconds).
01:32:26 <oerjan> `mkx bin/rm-p//rm "$1"; rmdir -p "$(dirname "$1")"
01:32:37 <ais523> silly idea: to make a file with -p, do a mkdir -p then a rmdir (then a touch/truncate); to delete a file with -p, do a rm then a mkdir then a rmdir -p
01:32:38 <oerjan> ais523: which is why i'm adding it
01:33:33 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rm-r: not found
01:33:49 <HackEgo> ls: cannot access test: No such file or directory
01:34:14 <oerjan> `` sed -i 's/rm/rm-p/' bin/forget
01:34:47 <oerjan> `le//rn a/very/deep/wisdom//but not very long-lasting
01:34:48 <HackEgo> /hackenv/le//rn: line 1: wisdom/a/very/deep/wisdom: Not a directory
01:35:40 <HackEgo> ls: cannot access wisdom/a/very: Not a directory
01:35:53 -!- augur has joined.
01:36:08 -!- EsoBot has joined.
01:36:08 -!- EsoBot has quit (Remote host closed the connection).
01:36:17 <oerjan> `le//rn very/deep/wisdom//but not very long-lasting
01:36:20 <HackEgo> Learned «very/deep/wisdom»
01:36:35 <shachaf> fizzie: // has the advantage that it doesn't appear in any canonical UNIX file path.
01:36:35 <oerjan> `forget very/deep/wisdom
01:36:38 <HackEgo> rmdir: failed to remove directory `wisdom': Directory not empty \ Forget what?
01:36:49 <HackEgo> #!/bin/sh \ rm-p "wisdom/$(echo "$1" | tr A-Z a-z)" \ echo "Forget what?"
01:37:10 <HackEgo> rm "$1"; rmdir -p "$(dirname "$1")"
01:37:14 -!- EsoBot has joined.
01:37:29 <oerjan> `ls wisdom/very/deep/wisdom
01:37:30 <HackEgo> ls: cannot access wisdom/very/deep/wisdom: No such file or directory
01:37:35 <HackEgo> ls: cannot access wisdom/very/deep: No such file or directory
01:37:38 <HackEgo> ls: cannot access wisdom/very: No such file or directory
01:37:43 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: msg: not found
01:37:58 -!- EsoBot has quit (Read error: Connection reset by peer).
01:38:01 <oerjan> i think that got an error because of HackEgo's do-everything-twice mechanism
01:38:07 -!- EsoBot has joined.
01:38:26 <HackEgo> rm "$1"; rmdir -p "$(dirname "$1")"
01:38:43 <adu> hppavilion[1]!
01:38:53 <\oren\> isn't this channel botty?
01:39:00 <oerjan> `` sed -i 's!$! 2>/dev/null!' bin/rm-p
01:39:06 <adu> \oren\: bot-y?
01:39:12 <oerjan> `le//rn very/deep/wisdom//but not very long-lasting
01:39:15 <HackEgo> Learned «very/deep/wisdom»
01:39:20 <oerjan> `forget very/deep/wisdom
01:39:27 <adu> I like deep wisdom
01:39:46 * adu can haz dewp wisdom?
01:39:52 -!- EsoBot has quit (Read error: Connection reset by peer).
01:40:07 <adu> int-e: bottom-y?
01:40:19 <adu> hppavilion[1]: don't leave
01:40:34 <adu> hppavilion[1]: stop complaining to other channelz!
01:40:55 -!- tromp_ has quit (Remote host closed the connection).
01:44:50 <oerjan> oh wait what happened was that rmdir -p complained about wisdom/ at the top.
01:45:53 <oerjan> there's an option to disable that, which is ridiculously verbose.
01:46:09 <oerjan> so i think 2>/dev/null will do.
01:47:08 -!- SOBot has joined.
01:48:12 -!- SOBot has quit (Read error: Connection reset by peer).
01:49:40 -!- WalrusMan has joined.
01:49:40 -!- WalrusMan has quit (Read error: Connection reset by peer).
01:50:07 -!- vanila has quit (Quit: Leaving).
01:50:24 <adu> hppavilion[1]: it should fortell the future
01:50:42 <oerjan> `brain what should the bot do?
01:50:43 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: brain: not found
01:50:46 <oerjan> @brain what should the bot do?
01:50:54 <adu> also, it should recommend slashdot articles
01:51:18 <oerjan> i always have the feeling that @brain and @pinky are reversed
01:51:39 <oerjan> because your question isn't spoken by the name in front
01:51:49 <adu> like (Q) FancyBot: how much is my current VerizonFios bill? (A) I don't know, but you might like this article http://slashdot.org/.......
01:52:20 <hppavilion[1]> The current best feature I have is a messaging system based on a deque
01:52:54 <oerjan> hm or wait it works with that new-fangled @ abomination
01:54:02 <hppavilion[1]> oerjan: As in you enqueue a message and somebody else dequeues it
01:54:28 <hppavilion[1]> And when the message is dequeued, it gets sent to the back of the lien
01:55:35 -!- bb010g has joined.
02:00:16 -!- AlexR42 has joined.
02:03:05 -!- MDude has changed nick to MDream.
02:08:42 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
02:09:02 -!- tromp_ has joined.
02:17:03 -!- hppavilion[1] has joined.
02:17:19 <hppavilion[1]> Should I add support for a stack-based language to the bot perhaps?
02:18:00 <HackEgo> cat "$(find evil -type f | shuf -n1)" | tr '[:lower:]' '[:upper:]'
02:18:22 <hppavilion[1]> We need a `mourn command. Should I put one in the bot?
02:24:32 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
02:39:01 -!- hppavilion[1] has joined.
02:44:56 -!- WalBot has joined.
02:44:57 -!- WalBot has quit (Remote host closed the connection).
02:45:46 -!- WalBot has joined.
02:47:29 -!- WalBot has quit (Read error: Connection reset by peer).
02:53:28 -!- adu has quit (Quit: adu).
02:53:54 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:57:07 -!- WalBot has joined.
02:57:41 -!- WalBot has quit (Read error: Connection reset by peer).
02:57:52 -!- WalBot has joined.
02:57:53 -!- WalBot has quit (Remote host closed the connection).
02:58:44 -!- WalBot has joined.
02:58:45 -!- WalBot has quit (Remote host closed the connection).
02:59:32 -!- WalBot has joined.
02:59:33 -!- WalBot has quit (Remote host closed the connection).
03:00:12 -!- WalBot has joined.
03:00:26 <fungot> hppavilion[1]: how would that work with secondary storage? the hdd is just one cad i liked
03:01:25 -!- WalBot has quit (Read error: Connection reset by peer).
03:01:54 -!- ais523 has quit.
03:11:17 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
03:34:37 -!- lleu has quit (Quit: That's what she said).
03:36:49 -!- mihow has quit (Quit: mihow).
03:59:02 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
04:01:38 <\oren\> https://www.youtube.com/watch?v=eAj0CcT9b2g
04:06:09 <zgrep> fungot: Since when do you care about secondary storage?
04:06:09 <fungot> zgrep: where i realize the grand pattern of parsing.
04:06:22 <zgrep> fungot: Oh, I see. You care about storage because you care about parsing data.
04:06:22 <fungot> zgrep: i dunno. generating machine code yourself is a lot
04:06:42 <zgrep> fungot: So you're parsing machine code? Or are you generating machine code by feeding stuff backwards to a parser?
04:06:42 <fungot> zgrep: now i don't understand them, plus razor-x plays slashem. hehe. :)
04:06:50 <zgrep> fungot: If only you made sense.
04:06:51 <fungot> zgrep: it is a collisions of interests clearly i don't understand as well as
04:06:57 <zgrep> Indeed, you don't.
04:10:49 -!- hppavilion[1] has joined.
04:13:59 -!- mad has quit (Read error: Connection reset by peer).
04:23:32 <\oren\> I've made a more compact allhars.htm
04:23:34 <\oren\> http://www.orenwatson.be/allchars.htm
04:26:54 <zgrep> \oren\: Your font is actually readable when smaller...
04:27:56 <zgrep> No clue. I just hit cmd+- a few times.
04:28:05 <\oren\> native size should be 12 pt on win, 16 pt on mac
04:28:13 <zgrep> Also, your Cyrillic 'у' seems a bit... low.
04:28:40 <zgrep> All the other letters around it are nice and cut off at a certain height. у stands out.
04:28:47 <zgrep> Well, stands down.
04:29:08 <\oren\> what? I could have sworn I fixed that already
04:30:11 <zgrep> On my retina screen, your font becomes pixelated at size 16, I think. I say that because I can see blocky pixel parts on certain letters.
04:30:53 <\oren\> oh, on retina, native size would be 8 pt
04:31:03 <zgrep> That's tiny. Far too tiny.
04:31:40 <\oren\> try halfway then? at 12 pt it should only be a little blurry
04:32:03 <\oren\> it would be at 3/2 pixel scale
04:32:25 <zgrep> My eyes aren't bleeding at 12pt, so it's usable, more or less.
04:32:56 <zgrep> It looks nicer if you make the line height bigger than the font size (at least, for your website, in my opinion).
04:33:27 <zgrep> No chance there'll be a neoletters vector edition, will there? :P
04:33:45 <zgrep> Oh, less blocky, then. I mean.
04:34:03 -!- adu has joined.
04:34:10 <\oren\> at some point I might stort making double or quadruple size version
04:34:29 <\oren\> so that would end up being smoother
04:34:42 <zgrep> Not exactly the same thing, but... hm...
04:35:35 <zgrep> Wow. That's blocky... https://usercontent.irccloud-cdn.com/file/rUlsnPhz/blocky.png
04:39:14 <zgrep> Unfortunately it's too blocky for my daily use, but it seems like a pretty neat font. I wonder what neolettersmooth would look like... :P
04:39:14 -!- mad has joined.
04:40:11 <\oren\> I have a computer-smoothed version but it looks like a halloween font
04:40:14 <\oren\> http://www.orenwatson.be/fontdemowtf.htm
04:41:07 <\oren\> http://www.orenwatson.be/neolettersauto.ttf
04:42:45 <\oren\> and it's very glichy with the more intricate characters
04:47:13 <\oren\> also there are... problems with ^ and ~ in particular, which look nothing like they should
04:47:41 <\oren\> maybe if I smoothed a larger version
04:48:47 -!- hppavilion[1] has quit (Ping timeout: 264 seconds).
04:51:52 <\oren\> I have a bad enought monitor and good enough eyes (well, my left eye is good enough) that I can see the individual pixels at normal distance anyway, so everyhting is pixelated
04:52:25 <\oren\> my right eye is kinda blurry though
04:54:58 <\oren\> why is there such inadequate documentation on the TTF format?
04:56:14 <\oren\> I'd like to generate the ttf with my own faster program instead of fontforge
05:05:52 <zzo38> There are also other font format, you can therefore later to make your program to be able to output to multiple format too
05:41:10 -!- tromp_ has quit (Remote host closed the connection).
05:52:44 -!- hppavilion[1] has joined.
06:20:03 -!- nisstyre has quit (Quit: WeeChat 1.3).
06:27:47 -!- oerjan has quit (Quit: Nite).
06:33:47 <hppavilion[1]> Are there any non-dry blog posts or series along the lines of "Let's make an instruction set architecture"
06:41:42 -!- tromp_ has joined.
06:46:14 -!- tromp_ has quit (Ping timeout: 252 seconds).
06:48:19 <hppavilion[1]> I just found out what "NO LOL" means in the #python topic
06:54:33 <Elronnd> I like how github has come to be almost synonymous with git
06:54:58 <Elronnd> if you look up, say, "how to do x in git," the first answer is almost always a github answer
06:55:28 <myname> maybe there is a group like these people having internet = browser = facebook
06:55:53 <Elronnd> internet = browser is actually a lot of people
06:56:35 * izabera just woke up and found you guys have been adding a factoid about me and talked about my gender
06:57:19 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?izabera: not found
06:57:22 <HackEgo> izabera is a tachyherpetologist. They are probably implemented in bash.
06:57:43 <izabera> no idea what that even means but it doesn't sound good
06:57:44 <Elronnd> zsh is more feature-filled than bash
06:57:54 <Elronnd> `learn izabera izabera is a tachyherpetologist. They are probably implemented in zsh
06:57:57 <HackEgo> Learned 'izabera': izabera izabera is a tachyherpetologist. They are probably implemented in zsh
06:58:04 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?izabera: not found
06:58:08 <HackEgo> izabera izabera is a tachyherpetologist. They are probably implemented in zsh
06:58:22 <Elronnd> `learn izabera is a tachyherpetologist. They are probably implemented in zsh
06:58:24 <HackEgo> Learned 'izabera': izabera is a tachyherpetologist. They are probably implemented in zsh
06:58:25 <Elronnd> `learn izabera is a tachyherpetologist. They are probably implemented in zsh.
06:58:27 <HackEgo> Learned 'izabera': izabera is a tachyherpetologist. They are probably implemented in zsh.
06:59:11 <Elronnd> Suffice to say that zsh is much more feature-filled than bash and the joke makes more sense this way
06:59:37 <izabera> i don't necessarily agree with that
07:00:04 <Elronnd> you don't like it, change your factoid
07:01:52 <myname> don't! factoids should (unless vandalised) be dited by others imho
07:03:35 <hppavilion[1]> (I probably won't pure OISC; I'll likely include PUTC and GETC as well)
07:05:12 <HackEgo> The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight to the death for the freedom of being printed out when you type `wisdom.
07:06:10 <myname> obviously, i am the twin of perl
07:06:29 <HackEgo> myname is not your name. You don't know what they are doing. Or you are doing. Or am I? His evil twin brother is Perl.
07:07:20 <Elronnd> `learn myname is not your name. You don't know what they are doing. Or you are doing. Or am I? He is Perl's evil twin brother.
07:07:23 <HackEgo> Learned 'myname': myname is not your name. You don't know what they are doing. Or you are doing. Or am I? He is Perl's evil twin brother.
07:10:01 -!- Treio has joined.
07:11:05 <HackEgo> [wiki] [[Malbolge]] https://esolangs.org/w/index.php?diff=46375&oldid=44221 * Keymaker * (+108) Linked the truth-machine in sample programs. (Nice work, by the way!)
07:13:19 -!- adu has quit (Quit: adu).
07:19:27 <fungot> hppavilion[1]: hi 0k! x 1) to get a comparison. :) most of the things that upsets me most is the fact that there are two
07:20:08 <hppavilion[1]> fungot: Yes, I agree, it's kind of false advertising to call an ISA a OISC if it has two instructions.
07:20:09 <fungot> hppavilion[1]: it is probably
07:20:14 <fungot> hppavilion[1]: fnord/ fnord/ fnord/ fnord fnord fnord. joidenkin paavin fnord mukaan hän oli fnord ja fnord.
07:20:57 <hppavilion[1]> fungot: That's, like, 8 instructions. How does fnordVM even get away with that!?
07:20:57 <fungot> hppavilion[1]: where are you studying? ( this time defined with define-macro). after that it reads right to left
07:22:16 <hppavilion[1]> fungot: I'm studying at TGRU. I'm taking Commie Programming.
07:23:55 -!- mad has quit (Quit: Pics or it didn't happen).
07:25:16 <hppavilion[1]> I want to make an IRC client that replaces random words with "fnord"
07:29:19 <hppavilion[1]> Maybe there should be an official #esoteric IRC client that does confusing things...
07:29:29 <hppavilion[1]> Like trade nicknames at random with people using the smae client
07:29:48 <hppavilion[1]> Without INFORMING the server, of course. Or the user.
07:29:50 <myname> that'd make communication hard
07:30:22 <hppavilion[1]> But when we're feeling like confusing people, it'd be glorious
07:30:40 <myname> i don't like confusing myself
07:31:56 <zzo38> If you like to change your name every day in order to confuse everyone including yourself, then you can do it by yourself even if not done by computer
07:32:21 <hppavilion[1]> I want to, as an easter egg, add the following instructions to ELK: TFM, AOTC, ROTS, ANH, ESB, ROTJ, and TFA
07:32:34 <zzo38> Which is meaning what?
07:33:24 <zzo38> O, it is undocumented
07:33:53 <hppavilion[1]> zzo38: Wait, were you asking what the instructions do?
07:41:09 <myname> i can identify one of them
07:41:23 <myname> never watched these, though
07:44:25 <myname> secost is more accurate, imo
07:44:26 <zzo38> If I make Pokemon battle game server on Node.js then will you play this game too? (You don't need Node.js to play the game any telnet client would do; only for whoever is going to run the server would need Node.js installed, although internet is not needed if you are doing by local network)
07:44:58 <myname> zzo38: what are the advantages to pokemon netbattle?
07:45:49 <zzo38> myname: I can put in many more options to configure the rules of game too
07:47:16 <myname> have you ever played netbattle?
07:47:51 <zzo38> No but can you telnet to it and can you customize *all* of the rules?
07:48:28 <myname> well, define "costumizing all the rules"
07:48:32 <zzo38> And can you use on local network without internet
07:49:00 <myname> i am not sure if i want to be able to make special attack count over 9000 times
07:49:25 <myname> you should be as close to the original games as possible, i think
07:49:29 <zzo38> myname: I mean including to define rental, random rental, draft, doubling cube, money, time controls, item use, ban lists, and so on
07:49:32 <myname> at least for actual battling
07:49:46 <zzo38> The default setting would be like the original game though
07:49:51 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
07:50:30 <zzo38> And then you can customize it from there. But all player must agree the rules to use, and therefore, to agree what game to play too
07:51:37 <myname> also: can't wait for pokemon go
07:51:46 <zzo38> myname: Rental that the players must select from the group of pokemons rather than define it by themself
07:52:05 <zzo38> (The option to define it by yourself would also be available though, depending what rule settings have been defined)
07:53:11 -!- hppavilion[1] has joined.
07:53:36 -!- vodkode has joined.
07:53:42 <zzo38> Another rule option that could be defined is what happens when you run out of time: you are forced to pass, or you lose the game, or a random valid command is selected.
07:55:25 <zzo38> Another rule option can be the PP multiplier, which is five by default but can be set to a higher or lower number, if set to zero then each attack can be used only once
07:57:19 <zzo38> And then, to configure type matrix, STAB multiplier, and so on; note even the official games there are many different version, so the rule can be define and make it to be like the older version too, by presets, and then optionally you can adjust it from there
08:04:09 <myname> i'm not into that, i just know that the battling system of tje first generation was pretty broken
08:08:10 <zzo38> What kind of time controls do you want to use? Shot clock, chess clock, master clock, grace time, increment time, maximum time, hourglass style, byo-yomi, etc?
08:16:15 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
08:20:46 -!- Treio has quit (Ping timeout: 245 seconds).
08:23:20 -!- J_Arcane has quit (Ping timeout: 276 seconds).
08:24:32 <b_jonas> "<zzo38> Another rule option that could be defined is what happens when you run out of time: you are forced to pass, or you lose the game, or a random valid command is selected." -- or you are forced to go all in (in poker)
08:26:51 <zzo38> Yes, in game of poker that would work
08:28:34 <zzo38> If the time control is per deal, then it can work well to be all in since then you won't do anything else until the deal is finished
08:34:20 -!- mroman has joined.
08:35:50 <izabera> do you know a tool that can format text in a terminal?
08:35:53 -!- Treio has joined.
08:36:07 <izabera> i'm looking for justification and word splitting
08:36:25 <izabera> tried fmt and fold, neither does justification
08:36:53 <izabera> tried par, it's trying to be too smart and producing stupid errors
08:37:31 <zzo38> Maybe troff might?
08:38:37 <izabera> i don't know how to use it
08:38:56 <izabera> isn't there some autoformatter or something? :\
08:42:12 -!- tromp_ has joined.
08:46:28 -!- tromp_ has quit (Ping timeout: 250 seconds).
08:48:01 <izabera> examples of par doing it wrong:
08:48:03 <izabera> Please send FSF & GNU inquiries to <gnu@gnu.org>. There are also other ways to contact the FSF.
08:48:04 <izabera> Please send broken links and other corrections or suggestions to <webmasters@gnu.org>.
08:48:12 <izabera> ^ these two lines are formatted like this:
08:48:18 <izabera> Please send FSF & GNU inquiries to <gnu@gnu.org>. There are also other .
08:48:20 <izabera> Please send ways to contact the FSF broken links and other corrections .
08:48:22 <izabera> Please send or suggestions to <webmasters@gnu.org> .
09:02:05 <izabera> tried pr and it's totally ignoring the width argument
09:05:24 <b_jonas> izabera: I wrote a custom one to generate http://www.perlmonks.com/?node_id=877696 but it has a serious bug
09:05:44 <b_jonas> as a result, it doesn't handle short paragraphs correctly
09:08:24 <b_jonas> The bug is fixable though.
09:08:52 <b_jonas> Also, the built-in optimization function is deliberately screwed for the particular goals I needed for that obfu to work.
09:09:02 <b_jonas> s/optimization function/goal function/
09:09:51 <b_jonas> I think it even had a continuous weight parameter I could vary between looking nice and the obfu working well.
09:10:08 <b_jonas> Then I changed it to the least nice I could make that didn't look too ugly to me.
09:10:17 <b_jonas> I also varied the column width of course.
09:21:07 -!- bender| has joined.
09:41:08 -!- Treio has quit (Ping timeout: 252 seconds).
10:22:24 <mroman> A stack is just an array with a cell pointer .
10:26:40 <fizzie> A stack is just a deque with a cork in one end.
10:28:11 <b_jonas> a stack is half the way to Turing-completeness
10:43:40 <izabera> google really improved v8 recently https://www.campbells.com/v8/
11:03:18 <mroman> that websites displays horribly incorrectly
11:35:05 -!- boily has joined.
11:35:56 -!- coppro has quit (Ping timeout: 256 seconds).
11:37:32 -!- coppro has joined.
11:43:34 -!- tromp_ has joined.
11:47:46 -!- tromp_ has quit (Ping timeout: 240 seconds).
11:48:11 -!- coppro has quit (Ping timeout: 264 seconds).
11:49:08 -!- coppro has joined.
11:49:44 <HackEgo> category-helpdesk/category-helpdesk is a helpdesk with identity and composition. This channel isn't it.
11:52:24 <HackEgo> herbalist/An herbalist is a list of herbas.
12:11:08 -!- adu has joined.
12:13:29 -!- AnotherTest has joined.
12:15:26 -!- adu has quit (Ping timeout: 240 seconds).
12:21:31 -!- MDude has joined.
12:24:31 -!- MDream has quit (Ping timeout: 245 seconds).
12:26:30 -!- bender| has quit (Ping timeout: 252 seconds).
12:26:48 -!- boily has quit (Quit: GOBLIN CHICKEN).
12:36:57 -!- Treio has joined.
12:44:57 -!- tromp_ has joined.
12:49:40 -!- tromp_ has quit (Ping timeout: 260 seconds).
12:50:22 -!- ais523 has joined.
12:54:53 -!- jaboja has joined.
13:11:42 -!- adu has joined.
13:16:44 -!- adu has quit (Ping timeout: 252 seconds).
13:17:14 -!- tromp_ has joined.
13:17:34 -!- adu has joined.
13:25:26 -!- Treio has quit (Ping timeout: 240 seconds).
13:25:34 <mroman> They can insert ads into sports broadcasting
13:25:45 <mroman> on the side walls for example
13:26:01 <mroman> I thought those side walls just had a poster of the ad
13:26:23 <mroman> but it may as well be blank and the ad inserted electronically while broadcasting
13:30:08 -!- tromp_ has quit (Remote host closed the connection).
13:34:12 -!- callforjudgement has joined.
13:37:59 -!- ais523 has quit (Ping timeout: 264 seconds).
13:40:57 -!- Treio has joined.
13:41:43 <HackEgo> [wiki] [[Special:Log/newusers]] create * CBenni * New user account
13:41:49 -!- ais523 has joined.
13:42:01 -!- callforjudgement has quit (Read error: Connection reset by peer).
13:43:26 <HackEgo> [wiki] [[POGAACK]] M https://esolangs.org/w/index.php?diff=46376&oldid=43730 * CBenni * (-93) Removed dead link that will not be valid ever again.
13:44:19 -!- ais523 has quit (Excess Flood).
13:45:28 -!- ais523 has joined.
13:51:14 -!- ais523 has quit.
13:51:20 -!- callforjudgement has joined.
13:51:37 <HackEgo> [wiki] [[DNA-Sharp]] https://esolangs.org/w/index.php?diff=46377&oldid=43221 * CBenni * (+56) /* External resources */
13:56:34 -!- ais523 has joined.
13:57:35 -!- callforjudgement has quit (Ping timeout: 240 seconds).
14:05:35 -!- ais523 has quit (Read error: Connection reset by peer).
14:05:40 -!- callforjudgement has joined.
14:14:32 -!- ais523 has joined.
14:14:55 -!- callforjudgement has quit (Read error: Connection reset by peer).
14:28:54 -!- copumpkin has quit (Read error: Connection reset by peer).
14:29:14 -!- ais523 has quit (Ping timeout: 250 seconds).
14:29:34 -!- copumpkin has joined.
14:30:38 -!- tromp_ has joined.
14:34:16 <mroman> http://collabedit.com/qjb49
14:34:41 <mroman> let's try if this works well real-time
14:35:15 -!- tromp_ has quit (Ping timeout: 260 seconds).
14:36:53 <mroman> I wish github had a feature like this.
14:37:24 -!- J_Arcane has joined.
14:39:43 <Taneb> mroman: what's this?
14:40:20 <Taneb> I mean, what is the goal of this collab
14:40:39 -!- cstff has joined.
14:41:06 -!- cstff has left.
14:45:14 <Taneb> Who is 34-25-54-55 for that matter
14:45:18 <Taneb> I presume iza is you, izabera
14:46:38 -!- lleu has joined.
14:48:21 -!- adu has quit (Quit: adu).
14:49:48 <mroman> well seems to work fine
14:49:54 <mroman> my cursor doesn't jump around when others edit stuff
14:49:59 <mroman> unless you edit the same line
14:53:15 -!- spiette has joined.
14:53:18 <MDude> Huh http://esolangs.org/wiki/Tome
14:53:49 <MDude> I think it might be good to have a categorey on Englishoids, or perhaps just verbose-command languages.
15:15:55 <MDude> So I guess someone is implementing BASIC in define macros?
15:19:12 -!- AnotherTest has quit (Ping timeout: 256 seconds).
15:20:22 -!- jaboja has quit (Ping timeout: 250 seconds).
15:32:59 -!- J_Arcane has quit (Ping timeout: 276 seconds).
15:38:06 -!- AnotherTest has joined.
15:44:40 -!- AnotherTest has quit (Ping timeout: 250 seconds).
15:45:56 -!- heroux has quit (Ping timeout: 240 seconds).
15:47:56 -!- heroux has joined.
16:27:37 -!- AnotherTest has joined.
16:28:19 -!- mroman has quit (Quit: Lost terminal).
16:30:46 -!- tromp_ has joined.
16:34:56 -!- tromp_ has quit (Ping timeout: 240 seconds).
16:39:02 -!- Lord_of_Life has quit (Excess Flood).
16:41:36 -!- Lord_of_Life has joined.
16:41:50 -!- AnotherTest has quit (Ping timeout: 260 seconds).
17:07:39 -!- jaboja has joined.
17:32:14 -!- tromp_ has joined.
17:36:12 -!- AnotherTest has joined.
17:36:40 -!- tromp_ has quit (Ping timeout: 260 seconds).
17:45:13 -!- hppavilion[1] has joined.
17:54:41 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
17:58:44 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:58:47 -!- hppavilion[1] has joined.
18:13:09 -!- hppavilion[2] has joined.
18:16:08 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
18:19:56 -!- hppavilion[2] has quit (Ping timeout: 240 seconds).
18:20:46 -!- hppavilion[2] has joined.
18:24:26 -!- Treio has quit (Ping timeout: 240 seconds).
18:27:24 -!- LexiciScriptor has joined.
18:34:35 -!- Reece` has joined.
18:34:55 -!- hppavilion[2] has changed nick to hppavilion[1].
18:34:58 -!- jaboja has quit (Ping timeout: 250 seconds).
18:37:41 <hppavilion[1]> We should make our own LISP- a practical, but still esoteric, programming language for the masses
19:01:40 <zzo38> One way to make ban list in Pokemon battle game could be, the rule setting has a 16-bit number and each pokemon has a 16-bit tier number, you must make the bitwise AND, and then the result need to be in range 1 to 255 in order to be acceptable
19:01:52 -!- Reece` has quit (Quit: Leaving).
19:10:15 -!- lynn has joined.
19:10:27 -!- zzo38 has quit (Remote host closed the connection).
19:21:00 -!- spiette has quit (Quit: brb).
19:22:18 -!- spiette has joined.
19:24:22 -!- p34k has joined.
19:33:34 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
19:36:22 <HackEgo> [wiki] [[Talk:Zero Instruction Set Computer]] N https://esolangs.org/w/index.php?oldid=46378 * 204.109.63.40 * (+83) Created page with "shouldn't first code snippet have 6-7-8 indexes instead of 7-8-9 on the right side?"
19:38:56 <hppavilion[1]> Filled with things that could very easily be made into macros
19:39:14 <hppavilion[1]> The goal of it is it's an exercise in minimization for others
19:56:52 -!- Treio has joined.
20:01:22 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46379&oldid=46370 * Rdebath * (+397) No, it shouldn't.
20:17:35 -!- jaboja has joined.
20:21:09 <Vorpal> hppavilion[1], isn't that x86?
20:21:39 <Vorpal> Or if you want to take it less literally, perl
20:22:50 <hppavilion[1]> Vorpal: No, because this is intended as nothing more than an exercise
20:24:09 <Vorpal> hppavilion[1]: sure, but have you looked at x86 ASM?
20:24:46 <hppavilion[1]> Vorpal: Yes. My face melted off like the Nazis in Raiders.
20:25:22 <Vorpal> hppavilion[1]: fizzie made this: http://zem.fi/2014-04-05-opquiz
20:39:46 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
20:45:11 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46380&oldid=46379 * Rdebath * (+1946) Hopefully this is a bit closer to reality.
20:50:25 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46381&oldid=46380 * Rdebath * (+32) Was slightly imprecise
21:03:11 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46382&oldid=46381 * Rdebath * (-176) Okay, as nobody has commented I'll *Poof* this too.
21:04:00 -!- hppavilion[1] has joined.
21:09:14 <HackEgo> thirt/A thirt is for throwsing snowballs at forty things.
21:22:12 -!- Treio has quit (Ping timeout: 252 seconds).
21:34:07 -!- tromp_ has joined.
21:38:25 -!- tromp_ has quit (Ping timeout: 245 seconds).
21:38:40 -!- jaboja64 has joined.
21:40:53 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
21:42:50 -!- jaboja has quit (Ping timeout: 276 seconds).
21:47:20 -!- J_Arcane has joined.
21:56:09 -!- lynn_ has joined.
21:59:05 -!- lynn has quit (Ping timeout: 276 seconds).
22:03:57 -!- hppavilion[1] has joined.
22:05:42 -!- tjt263_ has joined.
22:14:35 -!- MoALTz has quit (Ping timeout: 240 seconds).
22:35:56 -!- ais523 has joined.
22:41:19 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:43:08 -!- lynn has joined.
22:45:53 -!- lynn_ has quit (Ping timeout: 276 seconds).
22:49:09 -!- oerjan has joined.
22:49:43 -!- tromp_ has joined.
22:50:28 <oerjan> <hppavilion[1]> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOerjan <-- the natural cycle of life can be brutal, i know
22:53:45 -!- tromp_ has quit (Ping timeout: 240 seconds).
22:55:10 <oerjan> *squee* http://www.ligo.org/news/media-advisory.php
22:56:25 -!- p34k has quit.
22:57:50 <oerjan> someone should teach those people about permalinks. i couldn't find one.
23:04:44 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:09:08 -!- boily has joined.
23:10:09 <oerjan> bohily. http://www.ligo.org/news/media-advisory.php
23:11:45 <boily> hellørjan. *click*
23:12:19 <oerjan> expect either the greatest science breakthrough of the century, or the most imploded rumor mill
23:14:32 <boily> either way, the popcorn will pop and corn.
23:16:49 <oerjan> ok, i suppose the higgs boson was pretty big too.
23:17:04 <oerjan> but not necessarily bigger.
23:19:15 -!- lynn_ has joined.
23:22:21 <oerjan> huh, cern has its own top-level domain.
23:22:34 -!- lynn has quit (Ping timeout: 256 seconds).
23:22:37 <oerjan> i guess if anyone deserved it...
23:26:42 <izabera> does it make sense to use a knuth-fisher-yates shuffle when the period of your prng is less than the amount of possible permutations?
23:27:59 <oerjan> i'm going with a hunch of "it depends"
23:28:27 <oerjan> on what you need it for
23:28:33 -!- lynn__ has joined.
23:28:43 <oerjan> it's probably fine for card games
23:29:53 <oerjan> it may not be fine for crypto? someone should analyze that.
23:30:21 <HackEgo> 80658175170943878571660636856403766975289505440883277824000000000000
23:30:39 <izabera> `` echo '16 * ((2^31) - 1)' | bc
23:30:39 <lambdabot> 80658175170943878571660636856403766975289505440883277824000000000000
23:30:44 -!- lynn_ has quit (Ping timeout: 276 seconds).
23:30:51 -!- lynn has joined.
23:31:00 <izabera> random(3) in glibc has a period of 16 * ((2^31) - 1)
23:31:49 <oerjan> hm it has a --random-source option
23:32:01 <oerjan> so you could use /dev/urandom, probably.
23:33:33 <oerjan> "By default these commands use an internal pseudorandom generator
23:33:34 <oerjan> initialized by a small amount of entropy, but can be directed to use an
23:33:35 <oerjan> external source with the '--random-source=FILE' option."
23:33:58 -!- lynn__ has quit (Ping timeout: 276 seconds).
23:34:12 <oerjan> and /dev/urandom and /dev/random are suggested, but it's noted they may be slow.
23:34:55 <oerjan> also, that you can collect random data in a file in advance if you need repeatability.
23:35:05 -!- Phantom_Hoover has joined.
23:35:09 -!- Phantom__Hoover has joined.
23:36:04 <oerjan> "'/dev/urandom' suffices for most practical uses, but applications
23:36:04 <oerjan> requiring high-value or long-term protection of private data may require
23:36:05 <oerjan> an alternate data source like '/dev/random' or '/dev/arandom'."
23:38:49 -!- Phantom_Hoover has quit (Client Quit).
23:44:03 -!- hppavilion[1] has joined.
23:45:35 <hppavilion[1]> So here's a language I might feel like implementing
23:46:25 <hppavilion[1]> Where, to program in it, you have to slowly build a compiler out of preprocessing
23:46:59 <hppavilion[1]> So you start with a language (not sure which one, probably going to support more than one)- traditionally a tarpit
23:47:27 <hppavilion[1]> You declare the language on the "title page" of the file under the "author" header (the language uses a book analogy, BTW)
23:49:14 <hppavilion[1]> In the first chapter, you make these headers (all of which are optional, but highly recommended): PROGN, LEX, PARSE, COMP (and maybe also LEX-LEX, LEX-PARSE, PARSE-LEX, and PARSE-PARSE, which define the syntax of the next chapter's compiler compiler)
23:50:28 <hppavilion[1]> The PROGN header executes the program provided. The LEX header creates a lexer for the next program. The PARSE header creates a grammar for the next program. The COMP header produces the rules to convert the AST (which is generated automatically) of the lexed and parsed grammar into the language at the current level
23:53:17 <hppavilion[1]> LEX is written as a series of regexes, PARSE as a series of augmented YACC-like rules, and COMP is a series of transformation rules from AST to program, using a sort of rule structure similar to a preprocessor, combined with code written in the current language to generate particular values
23:54:17 <hppavilion[1]> Also, a language that is a derivative of Text might be fun to make xD
23:57:57 <diginet> Thue systems are related to unrestricted grammars in the chomsky hierarchy
23:58:02 <diginet> everything else is pleb-tier
23:58:52 <hppavilion[1]> diginet: And...? Or is this referring to something I missed while I was gone?