←2020-02-19 2020-02-20 2020-02-21→ ↑2020 ↑all
00:27:20 -!- imode has quit (Ping timeout: 258 seconds).
01:52:50 <moonythehammer> `rainbow hello world
01:52:52 <HackEso> hello world
01:53:24 <moonythehammer> `cat bin/rainbow
01:53:25 <HackEso> cat: bin/rainbow: No such file or directory
01:53:34 <moonythehammer> `cat /bin/rainbow
01:53:35 <HackEso> cat: /bin/rainbow: No such file or directory
01:53:39 <moonythehammer> `ls
01:53:41 <HackEso> asmbf-1.2.6.tar.gz \ asmbf-1.2.7 \ banana.txt \ bfi \ compiled_brachylog.pl \ egel-master \ egel.zip \ just \ karma \ le \ output.b \ paste \ program \ spline \ spout \ test \ test.sh \ what.tar.gz
01:53:51 <moonythehammer> `ls ..
01:53:53 <HackEso> bin \ canary \ emoticons \ esobible \ etc \ f \ factor \ hw \ ibin \ interps \ karma \ karma.orig \ karma.rej \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ stuff \ tmflry \ tmp \ wisdom
01:53:57 <moonythehammer> `cd ..
01:53:58 <HackEso> cd? No such file or directory
01:54:08 <moonythehammer> huh, reorganized
01:54:13 -!- imode has joined.
01:54:30 <moonythehammer> `cat ../ibin/rainbow
01:54:31 <HackEso> cat: ../ibin/rainbow: No such file or directory
01:54:35 <longname> `ls wisdom
01:54:36 <HackEso> ls: cannot access 'wisdom': No such file or directory
01:54:41 <moonythehammer> `ls ../..
01:54:42 <HackEso> bin \ dev \ etc \ hackenv \ lib \ lib64 \ proc \ sbin \ sys \ tmp \ usr
01:54:49 <moonythehammer> `ls ../../bin
01:54:50 <HackEso> bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ ed \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ journalctl \ kill \ less \ lessecho \ lessfile \ lesskey \ lesspipe \ ln \ login \ loginctl \ ls \ lsblk \ mkdir \ mknod \ m
01:54:52 <longname> oh d'oh
01:54:56 <longname> `ls ../wisdom
01:54:57 <HackEso> As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try listing it in private instead.
01:55:05 <longname> ah, I see.
01:55:18 <moonythehammer> `cat ../bin/rainbow
01:55:19 <HackEso> print_args_or_input "$@" | pikhqbow
01:55:30 <moonythehammer> `cat ../bin/pikhqbow
01:55:31 <HackEso> ​ELF............>.....d@.....@.................@.8..@.........@.......@.@.....@.@........................................@......@............................................@.......@.....4......4........ ............8......8`.....8`.....H......X........ ...........P......P`.....P`......................................@.....@.....D.......D..............Ptd...X......X@.....X@.....,.......,...
01:57:52 <moonythehammer> `cat ../bin/print_args_or_input
01:57:53 <HackEso> ​#!/bin/bash \ if [ "$#" -gt 0 ]; then printf '%s\n' "$*"; else cat; fi
01:58:37 <moonythehammer> i wonder what the oldest files in hackeso are
01:58:46 <moonythehammer> `ls -lah ..
01:58:47 <HackEso> ls: invalid option -- ' ' \ Try 'ls --help' for more information.
01:58:52 <moonythehammer> `` ls -lah ..
01:58:53 <HackEso> total 344K \ drwxr-xr-x 22 1000 1000 4.0K Dec 31 16:10 . \ drwxr-xr-x 13 0 0 0 Feb 20 01:58 .. \ drwxr-xr-x 2 1000 1000 12K Jan 4 13:28 bin \ -rw-r--r-- 1 1000 1000 101 Jul 19 2019 canary \ drwxr-xr-x 2 1000 1000 4.0K Apr 7 2018 emoticons \ drwxr-xr-x 2 1000 1000 4.0K Apr 7 2018 esobible \ drwxr-xr-x 3 1000 1000 4.0K Jul 8 2017 etc \ prw-r--r-- 1 1000 1000 0 May 4 2019 f \ drwxr-xr-x 2 1000 1000 4.0K Jul 8 2017
01:59:02 <moonythehammer> `` ls -a ..
01:59:03 <HackEso> ​. \ .. \ bin \ canary \ emoticons \ esobible \ etc \ f \ factor \ .hg \ .hg_archival.txt \ .hgignore \ hw \ ibin \ interps \ karma \ karma.orig \ karma.rej \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ stuff \ tmflry \ tmp \ wisdom
01:59:10 <fizzie> It's a bit hard to tell, because the whole thing's been moved a few times.
01:59:30 <moonythehammer> yea, but could go through the mercurial. How long has it been up anyways
01:59:31 <fizzie> The "initial import" currently in the version control isn't the actual initial import either.
01:59:33 <moonythehammer> as a whole
01:59:48 <moonythehammer> like how old is hackego
02:00:21 <fizzie> It was born around June 2009.
02:00:32 <fizzie> So that's, what, 10 and a half?
02:01:13 <fizzie> https://esolangs.org/wiki/HackEso#History -- very briefly.
02:02:23 <fizzie> The alleged "Initial import" is from 2012-02-16, and already contained quite a bit, http://hack.esolangs.org/repo/file/e037173e0012
02:04:25 <fizzie> You could argue that in a sense some of the ibin/! stuff are likely the "oldest files", because those were copied over from EgoBot, which predates HackEgo.
02:10:36 <longname> `wisdom
02:10:37 <HackEso> gaspatsjo//gaspatsjo is a norwegian soup, which died out due to a lack of hot summer days
02:10:49 <longname> Hm, neat
02:13:58 <fizzie> `wisdom wise
02:13:59 <HackEso> wise//Uninstalling software installed by the Wise Installation Wizard is unwise. It's neither clockwise nor counterclockwise nor otherwise.
02:19:42 <fizzie> What I wonder is how many copies of most of this exists. I've got 6, I think.
02:28:03 <moonythehammer> `gforth
02:28:07 <HackEso> Gforth 0.7.3, Copyright (C) 1995-2008 Free Software Foundation, Inc. \ Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' \ Type `bye' to exit
02:28:10 <moonythehammer> oh hey
02:28:36 <fizzie> There's a bit of a wrapper as well.
02:29:07 <fizzie> https://hack.esolangs.org/repo/file/tip/bin/forth -- auto-adds the 'bye'.
02:29:18 <fizzie> `forth 2 2 + .
02:29:19 <HackEso> 4
02:31:26 <longname> So what would happen if you rm -rf /'d?
02:34:20 <fizzie> Depends on how exactly rm behaves with things. Assuming it actually removed the bits you have access to, it should get caught by a "have all the files been removed" check, because that's such a common idea. Assuming you circumvented that, it would commit a revision with no files, which either someone would `revert, or I'd do the same in an out-of-band manner because we don't need any more "delete and
02:34:26 <fizzie> then restore all" revisions in the history, they break a bunch of "who's edited this file" features.
02:35:12 <fizzie> https://hack.esolangs.org/repo/file/tip/share/scowrevs are pretty much all mass-edits of that kind.
02:35:46 <longname> Cool.
02:36:04 <longname> That is a really cool bot.
02:41:09 <fizzie> `` cut -d: -f1 ../share/scowrevs | while read r; do hg log -r $r -T '{desc}\n'; done | paste
02:41:18 <HackEso> https://hack.esolangs.org/tmp/paste/paste.1511
02:41:25 <fizzie> (All kinds of nonsense people have done.)
03:31:36 -!- LKoen has joined.
03:31:55 -!- LKoen has quit (Read error: Connection reset by peer).
03:51:07 -!- xkapastel has joined.
04:09:40 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
04:12:29 -!- Lord_of_Life has joined.
04:42:47 -!- tromp has joined.
04:47:57 -!- tromp has quit (Ping timeout: 272 seconds).
04:50:29 -!- FreeFull has quit.
04:53:37 -!- tromp has joined.
04:57:38 -!- tromp has quit (Ping timeout: 240 seconds).
04:59:38 -!- imode has quit (Ping timeout: 240 seconds).
06:10:53 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:41:35 -!- tromp has joined.
06:46:23 -!- tromp has quit (Ping timeout: 272 seconds).
06:56:29 -!- tromp has joined.
06:58:07 -!- tromp_ has joined.
07:01:35 -!- tromp has quit (Ping timeout: 272 seconds).
07:02:51 -!- tromp_ has quit (Ping timeout: 272 seconds).
07:33:26 <zzo38> Is it possible to configure Firefox so that selecting links in PDFs does not change the zoom level?
07:42:34 -!- tromp has joined.
07:44:34 -!- tromp_ has joined.
07:47:11 -!- tromp has quit (Ping timeout: 272 seconds).
07:49:43 -!- tromp_ has quit (Ping timeout: 272 seconds).
08:33:30 -!- tromp has joined.
08:47:12 <b_jonas> also rm in gnu coreutils specifically has a check to catch that, because it's usually a typo
08:47:37 <b_jonas> so you need a switch to override that
08:53:13 <int-e> `"
08:53:14 <HackEso> 1/1:39) <GregorR-L> If I ever made a game where you jabbed bears ... <GregorR-L> I'd call it jabbear. \ 773) <itidus21> i think in general it's against nature for an animal to be a boat
08:53:52 <int-e> Hmm, two good ones, lucky me.
08:54:12 <int-e> `wisdom
08:54:15 <HackEso> 5318008//5318008 is a famous number because its reciprocal is 1.8804033389946 * 10^-7, which when upside down on a calculator spells L-vOI * ghGGBEEEOhOBB.I.
08:54:53 <int-e> `cwlprits 5318008
08:54:55 <HackEso> rdocöc rdocöc rdocöc
08:55:12 <int-e> `wisdom
08:55:13 <HackEso> aglist//aglist is update notification for the Abstruse Goose webcomic. http://abstrusegoose.com/
08:55:23 <int-e> `wisdom
08:55:24 <HackEso> nnection//Nnections are measured in millibytes per siemens.
08:55:39 <int-e> fungot: spam?
08:55:39 <fungot> int-e: it is the subjunctive tense, whereas " fnord" 2))
08:55:58 <int-e> @metar lowi
08:55:58 <lambdabot> LOWI 200850Z 26005KT 9999 SCT075 BKN110 02/M01 Q1025 NOSIG
08:56:04 <int-e> That's all.
09:21:59 -!- b_jonas has quit (Quit: leaving).
09:22:44 <FireFly> @metar essb
09:22:45 <lambdabot> ESSB 200850Z 14005KT 9999 BKN012 01/00 Q1012 R12/09//95
09:29:37 <int-e> The frequency at which Debian sid (unstable) gets updates of all the texlive packages is ridiculous.
09:34:34 <int-e> (That may be unfair. What *is* ridiculous is the ratio between download size and the amount of data that changed.)
09:34:56 -!- cpressey has joined.
09:48:33 <esowiki> [[Sunny morning]] N https://esolangs.org/w/index.php?oldid=69977 * Hakerh400 * (+5825) +[[Sunny morning]]
09:49:18 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=69978&oldid=69905 * Hakerh400 * (+20) +[[Sunny morning]]
09:49:29 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=69979&oldid=69588 * Hakerh400 * (+20) +[[Sunny morning]]
09:50:34 <esowiki> [[Sunny morning]] M https://esolangs.org/w/index.php?diff=69980&oldid=69977 * Hakerh400 * (+1)
10:17:01 -!- arseniiv has joined.
10:49:43 -!- Sgeo has quit (Read error: Connection reset by peer).
10:50:11 -!- Sgeo has joined.
11:02:59 <int-e> https://mobile.twitter.com/Foone/status/1229641258370355200 is funny.
11:38:46 -!- wib_jonas has joined.
11:44:18 <cpressey> hi int-e
11:44:24 <cpressey> Do you like ABTs?
11:45:10 <Taneb> Algebraic Beta Types?
11:46:26 <cpressey> Abstract Binding Trees
11:47:02 <Taneb> What are they?
11:47:47 <cpressey> ABTs are ASTs with names-binders in them. Two ABTs are considered equivalent modulo alpha-conversion.
11:47:56 <Taneb> OK, I'm with you
11:49:29 <int-e> cpressey: I'm not sure I like them. I know them under the name "nominal datatypes" though (or maybe they're different but then I don't know what the difference is) from the Isabelle bubble. And there's a nominal rewriting concept in the rewriting bubble, too.
11:50:57 <int-e> I think I actually prefer nameless things (like de Bruijn indices) when push comes to shove.
11:52:49 <wib_jonas> cpressey: vegetarian alligator families?
11:53:09 <int-e> (Obviously when there's nominal rewriting, there's also nominal logic.)
11:53:39 <wib_jonas> anyway, I manipulate a lot of data structures that have arrays with the order (or keys) not mattering, and indexes into such arrays from other tables
11:53:50 <wib_jonas> like database row identifiers and such
11:54:31 <wib_jonas> of course sometimes I choose an order or key that matters, for convenience, or an order that doesn't semantically matter but makes debugging easy if I show the data in order
11:54:52 <int-e> "order of keys doesn't matter" <--> "associative maps (or arrays)"
11:57:13 <cpressey> int-e: I think of ABTs as sort of being "nameless in spirit". Converting ABTs to de Bruijn-indexed trees before comparing them (or doing other operations on them) sounds like possible way to implement them.
11:58:48 * int-e shrugs.
12:00:37 <wib_jonas> sometimes I even need to compare small sets of things in which the order doesn't matter, in which case I sort them before comparing
12:11:59 <int-e> cpressey: I don't know, it just seems so shallow.
12:13:59 <int-e> (I've googled a bit and it appears that the focus with ABTs is really more of a design pattern to work with terms modulo alpha, resolving names when they are constructed and giving back fresh names when they're navigated. But even that design pattern is very shallow.)
12:14:12 -!- sixyears has joined.
12:14:35 <sixyears> howdy folks
12:15:34 <int-e> `relcome sixyears
12:15:35 <HackEso> sixyears: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
12:16:32 <sixyears> heck yeah, thank you
12:21:09 <sixyears> I've got this urge thats been floating around my head for a few years to make an esoteric programming language, but I'm honestly too inexperienced. figured i could soak up some information here via osmosis
12:21:52 <sixyears> is the channel inactive because its like 0 in the morning or is it just usually lowkey?
12:23:53 <FireFly> eh it varies, it's not super busy all the time
12:24:33 <sixyears> Fair!
12:24:35 <int-e> There are logs (see the topic) so you can judge for yourself.
12:24:48 <FireFly> it's like most IRC channels I guess
12:25:18 <sixyears> ah, gotcha. Peak houra and trough hours
12:25:21 <sixyears> makes sense
12:28:02 <int-e> You can always talk to fungot ;)
12:28:02 <fungot> int-e: how faulty! :p. google did indeed have sufficient context?
12:28:34 <sixyears> Fungot how has your day bern
12:28:42 <sixyears> been* oops
12:30:06 <int-e> is Fungot case-sensitive?
12:30:13 <sixyears> Seems like it
12:30:17 <int-e> Apparently so, I didn't know that.
12:30:19 <sixyears> fungot do a jig
12:30:19 <fungot> sixyears: because i'm investigating a strange bug in my brainfuck... and many of those are ds
12:30:38 <sixyears> cool jig
12:30:39 <kmc> hi sixyears
12:30:45 <sixyears> Hey! What's up?
12:39:13 <wib_jonas> welcome, sixyears.
12:39:21 <sixyears> Thank you
12:39:55 <wib_jonas> sometimes the channel is mostly silent for days, like it's been now; sometimes we have like three different long involved conversations at the same time
12:40:00 <kmc> sixyears: not a lot. I'm in Denver at the moment so it's not even 5AM yet
12:40:09 <sixyears> It's honestly 4 am for me and i am running purely on water bottles
12:40:20 <kmc> er, not even 6AM
12:40:33 <kmc> it's not even 5AM at home in San Francisco, which is the time zone my VPS is set to
12:40:49 <sixyears> fair! I'm also near sf
12:41:24 <sixyears> cupertino is cool its a small town with like a billion apple buildings
12:41:25 <wib_jonas> ``` for z in America/New_York America/Los_Angeles; do TZ="$z" date +"%Y-%m-%d %H:%M:%S %Z %z"; done
12:41:26 <HackEso> 2020-02-20 07:41:26 EST -0500 \ 2020-02-20 04:41:26 PST -0800
12:42:06 <sixyears> okay a billion is exaggerating but
12:42:16 <sixyears> there are at least 50
12:42:25 <sixyears> i know because they are numbered
12:42:54 <int-e> Have you checked that all the numbers are in use?
12:43:09 <sixyears> no honestly! theyre not all in order
12:44:00 <sixyears> instead of numbering with a grid system where one street is one range of numbers i think they have it like... a central building with rings of numbered ones? Maybe?
12:44:04 <sixyears> its just weird
12:44:22 <sixyears> like u got 17 next to 25
12:44:33 <sixyears> in what world did u think that was okay
12:45:08 <int-e> It could be the order in which they were built. Maybe even re-using numbers to make it messy. Or not, to inflate the numbers.
12:45:19 <sixyears> Its very strange i should figure out the pattern someday when its not 4 AM
12:45:26 <sixyears> good point int-e
12:45:28 <wib_jonas> is there a map?
12:45:29 <int-e> (build <--> acquired)
12:45:49 <wib_jonas> and do you work in one of those buildings?
12:45:54 <sixyears> i think it may be in order they were built
12:46:37 <sixyears> because some streets are in order like chunks of them and then you go right forward and theyre not anymore
12:46:48 <sixyears> which implies that they were probably built together
12:46:58 <sixyears> anyway no i do not work at apple
12:47:30 <sixyears> i just ended up passing by their weird spiderweb most days
12:48:32 <sixyears> wib_jonas: the city is called Cupertino if you have access to google maps rn
12:49:09 <sixyears> though some of their buildings enter neighboring cities such as saratoga and sunnyvale
12:50:26 <wib_jonas> https://en.wikipedia.org/wiki/File:Apple_Campus_2_aerial_Aug_2016.jpg looks weird
12:51:04 <wib_jonas> "Apple Park is the corporate headquarters of Apple Inc., located at One Apple Park Way in Cupertino, California, United States. ... Its circular design, courtesy of Norman Foster, and extreme scale have earned the structure a media nickname “the spaceship"." https://en.wikipedia.org/wiki/Apple_Park
12:51:34 <sixyears> Yeah!
12:52:03 <sixyears> Looks like crop circles but not fame
12:52:05 <sixyears> Fake*
12:52:33 <sixyears> IDK folks something abt apple just gets me in the uncanny valley
12:54:42 <sixyears> There's one on uh... Results Way 16 that is also constructed kinda interestingly
12:56:31 <sixyears> man i sound like a conspiracy theorist right now
12:56:50 <sixyears> watch out guys the evil building's gonna get you and feed your soul to the archons
12:59:01 <wib_jonas> no no, only a good building would serve the archons by feeding Apple people's souls to them
12:59:21 <wib_jonas> an evil building would sacrifice them to demon princes to power some devious spell
13:01:40 <sixyears> I don't imagine apple people souls have very high nutritional value anyway
13:01:44 <sixyears> shits like cardboard
13:09:21 <kmc> I'm taking the train back to the Bay Area
13:09:29 <sixyears> ogh, rad!
13:09:33 <sixyears> Safe travels
13:21:51 <kmc> ty
13:22:10 <kmc> it's supposed to be one of Amtrak's most scenic routes
13:22:34 <kmc> trains in America are not a fast way to travel, but they're very enjoyable
15:41:04 -!- imode has joined.
15:55:25 -!- sixyears has quit (Read error: Connection reset by peer).
15:55:48 <j4cbo> zephyr?
16:14:05 -!- Lord_of_Life_ has joined.
16:15:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:16:29 <kmc> yep
16:16:40 <kmc> choo choo
16:16:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:17:37 <kmc> it's real pretty
16:17:40 <kmc> we're going through the foothills right now
16:18:07 <kmc> they're covered in fresh snow
16:23:52 <Taneb> Been a while since I was in a train in the mountains
16:24:03 <Taneb> Actually... last October, in the Appenines
16:24:19 <Taneb> It was raining so the view wasn't great
16:39:40 -!- imode has quit (Ping timeout: 265 seconds).
16:59:56 -!- cpressey has quit (Quit: A la prochaine.).
17:18:19 <fizzie> Every time someone mentions the California Zephyr, it reminds me of the Unsong book.
17:36:31 <arseniiv> BTW I have finished reading that one a month or so ago
17:48:01 -!- tromp has quit (Remote host closed the connection).
17:49:38 -!- imode has joined.
17:55:14 -!- tromp has joined.
17:57:56 -!- wib_jonas has quit (Remote host closed the connection).
18:04:21 -!- FreeFull has joined.
18:12:13 -!- tromp has quit (Remote host closed the connection).
18:20:00 -!- Phantom_Hoover has joined.
18:23:07 -!- aloril has quit (Ping timeout: 260 seconds).
18:31:00 -!- tromp has joined.
18:31:27 -!- aloril has joined.
18:43:41 -!- tromp has quit (Remote host closed the connection).
18:47:53 -!- tromp has joined.
19:02:31 -!- b_jonas has joined.
19:16:47 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
19:24:29 -!- Lord_of_Life has joined.
19:34:32 <esowiki> [[User:Asasnat]] https://esolangs.org/w/index.php?diff=69981&oldid=69976 * Asasnat * (+212)
19:45:53 <esowiki> [[Mindwhipper]] N https://esolangs.org/w/index.php?oldid=69982 * Asasnat * (+1358) Created page with "'''Mindwhipper''' (stylized '''mindwhipper''', previous planned name: '''asswhipper''') is a esoteric programming language created by User:Asasnat, who also created this artic..."
19:57:00 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=69983&oldid=69982 * Asasnat * (+1)
20:02:14 <esowiki> [[Alphabet Stew]] M https://esolangs.org/w/index.php?diff=69984&oldid=61123 * DMC * (-11) /* Description */
20:02:42 <esowiki> [[Alphabet Stew]] M https://esolangs.org/w/index.php?diff=69985&oldid=69984 * DMC * (-1) /* Description */
20:44:25 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=69986&oldid=69983 * Asasnat * (+46)
21:19:21 -!- LKoen has joined.
21:20:32 <LKoen> bonsoiir
21:20:49 <b_jonas> hello LKoen
21:21:04 -!- shachaf has left ("not up for it").
21:22:04 <LKoen> hello b_jonas
21:26:32 -!- LKoen has quit (Remote host closed the connection).
21:31:33 -!- LKoen has joined.
21:37:33 <arseniiv> hello all too!
21:41:08 <b_jonas> hi arseniiv
21:43:52 <imode> allo
21:44:01 -!- LKoen has quit (Remote host closed the connection).
21:44:16 -!- LKoen has joined.
21:52:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
21:53:38 <kmc> it's another 2's day
21:53:44 <kmc> 2020-02-20
21:53:48 <kmc> 2 bad it's not also Tuesday
21:54:20 <kmc> "just press 2 for a while"
22:00:09 <b_jonas> `datei
22:00:15 <HackEso> 2020-02-20 22:00:12.819 +0000 UTC February 20 Thursday 2020-W08-4
22:00:35 <b_jonas> yeah, it would have to say W??-2 for a Tuesday
22:15:43 <b_jonas> ok, let's see this once more from the start
22:16:41 <b_jonas> `fetch /hackenv/tmp/egel.zip https://github.com/egel-lang/egel/archive/master.zip
22:16:43 <HackEso> 2020-02-20 22:16:43 URL:https://codeload.github.com/egel-lang/egel/zip/master [145944] -> "/hackenv/tmp/egel.zip" [1]
22:16:59 <b_jonas> ``` set -e; cd /hackenv/tmp; rm -rv egel
22:17:00 <HackEso> rm: cannot remove 'egel': No such file or directory
22:17:04 <b_jonas> ``` set -e; cd /hackenv/tmp; rm -rv egel-master
22:17:06 <HackEso> removed 'egel-master/lib/fs.ego' \ removed 'egel-master/lib/io/Makefile' \ removed 'egel-master/lib/io/channel.hpp' \ removed 'egel-master/lib/io/io.cpp' \ removed 'egel-master/lib/io/io.o' \ removed directory 'egel-master/lib/io' \ removed 'egel-master/lib/regex.ego' \ removed 'egel-master/lib/regex/regex.cpp' \ removed 'egel-master/lib/regex/Makefile' \ removed 'egel-master/lib/regex/regex.o' \ removed directory 'egel-master/lib/regex' \ rem
22:17:10 <b_jonas> ``` set -e; cd /hackenv/tmp; rm -rv egel-master
22:17:11 <HackEso> rm: cannot remove 'egel-master': No such file or directory
22:17:19 <b_jonas> ``` set -e; cd /hackenv/tmp; unzip egel.zip
22:17:21 <HackEso> Archive: egel.zip \ a518d99f704f07f90f507eb59ef904b40dd785dd \ creating: egel-master/ \ inflating: egel-master/.gitignore \ inflating: egel-master/LICENSE.md \ inflating: egel-master/NOTES.md \ inflating: egel-master/README.md \ inflating: egel-master/TODO.md \ inflating: egel-master/VERSION.md \ creating: egel-master/bugs/ \ inflating: egel-master/bugs/bug0-fixed.eg \ inflating: egel-master/bugs/bug1
22:18:17 <b_jonas> ``` set -e; cd /hackenv/tmp/egel-master; make -C src LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata" &>> buildlog
22:18:27 <b_jonas> ``` set -e; cd /hackenv/tmp/egel-master; url buildlog
22:18:29 <HackEso> https://hack.esolangs.org/tmp/egel-master/buildlog
22:18:53 <HackEso> No output.
22:19:06 <b_jonas> ``` set -e; cd /hackenv/tmp/egel-master; (rm -fv src/lift.o; make -C src LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata") &>> buildlog
22:19:42 <HackEso> No output.
22:19:57 <b_jonas> ``` set -xe; cd /hackenv/tmp/egel-master; (rm -fv src/thread.o; make -C src LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata") &>> buildlog
22:20:30 <HackEso> ​+ cd /hackenv/tmp/egel-master
22:21:17 -!- LKoen has quit (Remote host closed the connection).
22:21:21 <b_jonas> ``` set -xe; cd /hackenv/tmp/egel-master; ./src/egel -v
22:21:22 <HackEso> ​+ cd /hackenv/tmp/egel-master \ + ./src/egel -v \ egel 0.0.x \ Copyright (C) 2016 M.C.A. (Marco) Devillers
22:22:28 <b_jonas> ``` set -xe; cd /hackenv/tmp/egel-master; (for m in io fs random regex; do make -C lib/$m LIBS="-ldl -lpthread -licuio -licui18n -licuuc -licudata"; done) &>> buildlog
22:22:49 <HackEso> ​+ cd /hackenv/tmp/egel-master
22:23:50 -!- LKoen has joined.
22:24:48 <b_jonas> ``` set -xe; cd /hackenv/tmp/egel-master; (mkdir -p stage; cp -v src/egel lib/*.ego stage/) &>> buildlog
22:24:49 <HackEso> ​+ cd /hackenv/tmp/egel-master
22:25:41 <b_jonas> ``` pwd
22:25:42 <HackEso> ​/hackenv/tmp
22:25:46 -!- egelbot has joined.
22:27:10 <spruit11> Neat. Egel works?
22:27:16 -!- Frater_EST has joined.
22:27:20 <b_jonas> don't know yet, I'm still trying
22:28:07 <spruit11> Well, let me know if you need anything.
22:28:07 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; >a0.eg echo $'import "/hackenv/egel-master/stag/io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"'; /hackenv/egel-master/stag/egel a0.eg
22:28:09 <HackEso> bash: /hackenv/egel-master/stag/egel: No such file or directory
22:28:19 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; >a0.eg echo $'import "/hackenv/egel-master/stage/io.ego"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"'; /hackenv/egel-master/stage/egel a0.eg
22:28:20 <HackEso> bash: /hackenv/egel-master/stage/egel: No such file or directory
22:30:39 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = print "hello\nworld"'; "$l/egel" a0.eg
22:30:40 <HackEso> hello \ world
22:30:54 <spruit11> \o/
22:31:32 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(tostring K+"\n")]'; "$l/egel" a0.eg
22:31:33 <HackEso> a0.eg:5:59:semantical:undeclared tostring
22:31:44 <spruit11> toString?
22:31:47 <spruit11> Unsure.
22:32:04 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(totext K+"\n")]'; "$l/egel" a0.eg
22:32:08 <HackEso> 0 \ 1 \ 2 \ 3 \ 4 \ 5
22:32:20 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(totext(K*(K+1)/2)+"\n")]'; "$l/egel" a0.eg
22:32:21 <HackEso> 0 \ 1 \ 2 \ 6 \ 8 \ 15
22:32:29 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(totext(K*K)+"\n")]'; "$l/egel" a0.eg
22:32:30 <HackEso> 0 \ 1 \ 4 \ 9 \ 16 \ 25
22:32:42 <b_jonas> wait, that previous one looked wrong
22:33:27 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 2*(2+1)/2'; "$l/egel" a0.eg
22:33:28 <HackEso> 2
22:33:35 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 2*(2+1)'; "$l/egel" a0.eg
22:33:36 <HackEso> 6
22:33:45 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = (2*(2+1))/6'; "$l/egel" a0.eg
22:33:46 <HackEso> 1
22:33:57 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = ((2*(2+1))/6)'; "$l/egel" a0.eg
22:33:58 <HackEso> 1
22:34:01 <b_jonas> what?
22:34:02 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = ((2*(2+1))/2)'; "$l/egel" a0.eg
22:34:06 <HackEso> 3
22:34:11 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = (2*(2+1))/2'; "$l/egel" a0.eg
22:34:13 <HackEso> 3
22:34:18 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 2*(2+1)/2'; "$l/egel" a0.eg
22:34:18 <spruit11> Did I get priorities wrong?
22:34:18 <HackEso> 2
22:34:29 <b_jonas> you set the associativity of multiplication and division wrong, yes
22:34:35 <spruit11> Right.
22:34:46 <b_jonas> multiplications and divisions should be parenthisized from left to right
22:34:59 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F -> F 0; F 1; F 2; F 3; F 4; F 5][K -> print(totext((K*(K+1))/2)+"\n")]'; "$l/egel" a0.eg
22:35:00 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15
22:35:27 <spruit11> See if I can fix that.
22:38:20 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN B -> ForN 0 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U 0][U K N -> ])
22:38:20 <HackEso> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
22:39:28 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN B -> ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop])
22:39:29 <HackEso> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
22:39:38 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN B -> ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop])'
22:39:39 <HackEso> No output.
22:39:50 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN B -> ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop])'; "$l/egel" a0.eg
22:39:51 <HackEso> ​(mainDOT1 (mainDOT5 mainDOT5))
22:40:20 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [ForN -> ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]] ([U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop])'; "$l/egel" a0.eg
22:40:21 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15 \ 21 \ 28 \ 36 \ 45 \ 55 \ 66 \ 78 \ 91 \ 105 \ 120 \ 136 \ 153 \ 171 \ 190
22:40:31 <b_jonas> let's use your fancy let statement
22:40:45 <spruit11> Pffrt. Not sure what goes wrong. Maybe it'll need a lot of thought. 2*3+1=7. 2*3/2=1...
22:40:57 <spruit11> Could be an error in parsing.
22:41:10 <spruit11> Bit experimental.
22:41:35 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = let ForN = [U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop] in ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]'; "$l/egel" a0.eg
22:41:36 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15 \ 21 \ 28 \ 36 \ 45 \ 55 \ 66 \ 78 \ 91 \ 105 \ 120 \ 136 \ 153 \ 171 \ 190
22:41:52 <b_jonas> let me find the prime factoring thingy
22:42:01 <b_jonas> no, not prime factoring
22:42:03 <b_jonas> prime testing
22:43:08 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = [F->F F tuple 2 111][F B L U->[false->B|true->F F([T->T T 2][T C->[true->B|false->[false->B L|true->T T(C+1)](C*C<=L)](0==L%C)])(L+1)U](L<U)]'; "$l/egel" a0.eg
22:43:09 <HackEso> ​(System:tuple 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109)
22:43:16 <b_jonas> ok
22:43:46 <b_jonas> I can probably install this, but I'll have to figure out what exactly to import and using, and write a wrapper
22:45:12 <b_jonas> spruit11: what happens when two functions brought in with using have the same name? I'd like to have System:length (the string function) in the main namespace, rather than List:length from prelude.eg
22:45:30 <b_jonas> I guess I could just modify the prelude, since I'm putting import and using statements somewhere anyway
22:45:32 <spruit11> It uses the first it finds in the context.
22:45:55 <spruit11> It would be trivial to check for clashes but I didn't implement that yet.
22:45:57 <b_jonas> and rename List:length to List:len or something
22:46:17 <spruit11> I'll accept any pull request you make.
22:46:20 <spruit11> Well, most.
22:46:46 <spruit11> Or if you want it, I'll change it myself.
22:48:09 <b_jonas> so the builtins go into System, Math, String.
22:48:26 <spruit11> Yah, and then there's IO for print.
22:48:42 <b_jonas> those are not builtins, they're in the libs
22:48:45 <spruit11> But everything is unstable. You're about the first, except for me, who uses this.
22:48:46 <b_jonas> I haven't looked at those in detail yet
22:49:11 <spruit11> At the moment, that's all 'alpha' stage. Like: Okay, this could work.
22:49:18 <b_jonas> ``` cp -vi /hackevn/tmp/egel-master/include/{prelude,prelude-hackeso}.eg
22:49:19 <HackEso> cp: cannot stat '/hackevn/tmp/egel-master/include/prelude.eg': No such file or directory
22:49:27 <b_jonas> ``` cp -vi /hackenv/tmp/egel-master/include/{prelude,prelude-hackeso}.eg
22:49:28 <HackEso> ​'/hackenv/tmp/egel-master/include/prelude.eg' -> '/hackenv/tmp/egel-master/include/prelude-hackeso.eg'
22:50:20 <spruit11> Looking at this now: https://github.com/egel-lang/egel/blob/master/src/syntactical.hpp#L612
22:50:28 <spruit11> Should be a bug somewhere.
22:51:23 <b_jonas> ``` mkdir -pv /hackenv/interps/egel
22:51:23 <HackEso> mkdir: created directory '/hackenv/interps/egel'
22:51:43 <b_jonas> ``` cp -v /hackenv/tmp/egel-master/stage/* /hackenv/interps/egel
22:51:45 <HackEso> ​'/hackenv/tmp/egel-master/stage/egel' -> '/hackenv/interps/egel/egel' \ '/hackenv/tmp/egel-master/stage/fs.ego' -> '/hackenv/interps/egel/fs.ego' \ '/hackenv/tmp/egel-master/stage/io.ego' -> '/hackenv/interps/egel/io.ego' \ '/hackenv/tmp/egel-master/stage/random.ego' -> '/hackenv/interps/egel/random.ego' \ '/hackenv/tmp/egel-master/stage/regex.ego' -> '/hackenv/interps/egel/regex.ego'
22:53:09 <b_jonas> also I should put some more utilities to the prelude later, like numeric ranges and a foreach
22:53:51 <b_jonas> in theory we could even invent a lazy list (iterator) type, but I won't bother with that now
22:54:11 <spruit11> Lazy lists are pretty straightforward.
22:54:29 <b_jonas> sure, but if you want lists, you need like fifty functions for them
22:54:43 <b_jonas> wait, I have a list library in prolog, let me show just how many you need
22:54:49 <spruit11> It's just a hassle in an eager language since you end up copying everything. Once eager, once lazy.
22:55:20 <spruit11> egelbot: def ones = [ _ -> (1, ones) ]
22:55:28 <spruit11> ^ I like that encoding.
22:55:32 <spruit11> egelbot: ones
22:55:32 <egelbot> ones
22:55:37 <spruit11> egelbot: ones nop
22:55:37 <egelbot> (System:tuple 1 ones)
22:56:28 <spruit11> 'Push the button' approach. Everytime you supply an argument, it gives another head/tail.
22:56:40 <spruit11> Coalgebraic, I guess.
22:59:09 <b_jonas> http://dpaste.com/34M0CW3
22:59:21 <b_jonas> ^ and that doesn't even have range functions
23:01:43 <spruit11> I can almost read Hungarian, I guess.
23:01:43 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 7 * /* this is a comment */ 7'; "$l/egel" a0.eg
23:01:45 <HackEso> a0.eg:5:16:syntactical:primary expression expected
23:01:52 <b_jonas> ``` set -e; d=egel-scripts; mkdir -p $d; cd $d; l=/hackenv/tmp/egel-master/stage/; >a0.eg echo 'import "'"$l/io.ego"$'"\nusing System\nusing Math\nusing IO\n''def main = 7 * 7'; "$l/egel" a0.eg
23:01:53 <HackEso> 49
23:01:54 <spruit11> Is it Hungarian?
23:01:56 <b_jonas> how did comments work?
23:01:59 <b_jonas> yes, it's Hungarian
23:02:07 <spruit11> 'listak'
23:02:39 <b_jonas> I wrote it for school stuff so it has comments in Hungarian
23:02:45 <b_jonas> I wrote that one back in 2009
23:02:48 <spruit11> Right. Neat.
23:03:02 <b_jonas> how do I write comments in egel? I know I asked this once, but I forgot
23:03:31 <b_jonas> I was more hoping that you can almost real Prolog
23:03:54 <spruit11> Prolog isn't the problem. What you did takes some time.
23:04:00 <b_jonas> https://esolangs.org/logs/2020-02-04.html#lOx
23:04:02 <b_jonas> ah
23:04:02 <spruit11> I recognize some stuff.
23:04:18 <b_jonas> there are comments about that library somewhere in the #esoteric logs where I explain it
23:04:36 <b_jonas> but I don't know where
23:05:31 <spruit11> Hmm. Okay. But what does it do?
23:05:53 <spruit11> I recognize the list functions. Unsure about the lambda.
23:06:58 <spruit11> You can do this way more straightforward with the 'coalgebraic' list approach in Egel.
23:08:17 <spruit11> I.e., algebraic a list is something of type 1+(T,L[T]) -> L[T]. Coalgebraic, reverse the arrow L[T] -> 1+(T,L[T]).
23:08:56 <spruit11> Then, to make it work eager, 'push the button' and produce either a 'nil' or a 'cons' tuple.
23:09:10 <b_jonas> `fetch /hackenv/tmp/egel-master/include/prelude-hackeso.eg https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg
23:09:11 <HackEso> 2020-02-20 23:09:11 URL:https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg [3303/3303] -> "/hackenv/tmp/egel-master/include/prelude-hackeso.eg" [1]
23:09:38 <spruit11> I guess I should fix a small colist.eg.
23:11:19 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = let ForN = [U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop] in ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]'; /hackenv/interps/egel/egel a0.eg
23:11:20 <HackEso> a0.eg:2:50:semantical:undeclared <
23:12:16 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = 3 * 3'; /interps/egel/egel a0.eg
23:12:17 <HackEso> bash: /interps/egel/egel: No such file or directory
23:12:22 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:12:23 <HackEso> a0.eg:2:14:semantical:undeclared *
23:12:36 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'using System\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:12:37 <HackEso> 9
23:12:43 <b_jonas> but that prelude has using System right in it
23:13:46 <b_jonas> `fetch /hackenv/tmp/egel-master/include/prelude-hackeso.eg https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg
23:13:47 <HackEso> 2020-02-20 23:13:46 URL:https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg [3358/3358] -> "/hackenv/tmp/egel-master/include/prelude-hackeso.eg" [1]
23:13:50 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'using System\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:13:51 <HackEso> 9
23:14:06 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:14:08 <HackEso> ​/hackenv/tmp/egel-master/include/prelude-hackeso.eg:48:31:semantical:undeclared length
23:14:22 <b_jonas> that's better
23:14:52 <b_jonas> `fetch /hackenv/tmp/egel-master/include/prelude-hackeso.eg https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg
23:14:53 <HackEso> 2020-02-20 23:14:53 URL:https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg [3355/3355] -> "/hackenv/tmp/egel-master/include/prelude-hackeso.eg" [1]
23:14:59 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = 3 * 3'; /hackenv/interps/egel/egel a0.eg
23:15:00 <HackEso> a0.eg:2:14:semantical:undeclared *
23:15:15 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = (System.*) 3 3'; /hackenv/interps/egel/egel a0.eg
23:15:16 <HackEso> a0.eg:2:21:syntactical:primary expression expected
23:15:22 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = (System:*) 3 3'; /hackenv/interps/egel/egel a0.eg
23:15:23 <HackEso> 9
23:15:32 <b_jonas> why is it not running the prelude?
23:15:59 <b_jonas> it looks as if it compiles the prelude but doesn't run it
23:16:05 <b_jonas> strange
23:16:08 <b_jonas> spruit11: ^
23:16:21 <b_jonas> spruit11: the lambda part is to define a closure type in prolog
23:16:22 <spruit11> Uh.
23:16:28 <spruit11> Oh right.
23:16:37 <spruit11> Lemme look at that prelude thingy first.
23:17:38 <b_jonas> the closure has an argument list, a body which is just a prolog goal, and a set of variables that must not be copied when you copy the closure because they may be variables shared with the containing code
23:17:51 -!- LKoen has quit (Remote host closed the connection).
23:18:05 <spruit11> Oh right. Egel doesn't 'run' anything from imported files. It just imports all defs.
23:18:25 <spruit11> It should define your function though.
23:18:27 <spruit11> Test that.
23:19:05 <b_jonas> other variables in the body have to be copied with copy_term, so that you can reuse the same closure body several times, even if unifications in it succeed
23:19:30 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = (isThisEvenRan; System:*) 3 3'; /hackenv/interps/egel/egel a0.eg
23:19:31 <HackEso> a0.eg:2:34:syntactical:) expected
23:19:54 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\n''def main = (isThisEvenRan; (System:*) 3 3)'; /hackenv/interps/egel/egel a0.eg
23:19:55 <HackEso> prelude-hackeso loaded \ 9
23:20:15 <b_jonas> yes, but
23:20:34 <b_jonas> spruit11: so I can't just stick my using statements into a prelude, I have to put them in my code?
23:20:39 <b_jonas> I can do that, since I need a wrapper anyway
23:20:47 <b_jonas> does it at least run imports?
23:21:28 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\n''def main = let ForN = [U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop] in ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]'; /hackenv/interps/egel/egel a0.eg
23:21:29 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15 \ 21 \ 28 \ 36 \ 45 \ 55 \ 66 \ 78 \ 91 \ 105 \ 120 \ 136 \ 153 \ 171 \ 190
23:21:43 <b_jonas> it did at least import the IO module
23:21:52 <b_jonas> ok, I'll remove the using statements from that prelude then
23:22:11 <b_jonas> and add using System; using Math; using String; using IO to the wrapper
23:22:16 <spruit11> It doesn't run anything. Like Java, I think. It imports and runs the 'main', if defined.
23:22:21 <b_jonas> `fetch /hackenv/tmp/egel-master/include/prelude-hackeso.eg https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg
23:22:22 <HackEso> 2020-02-20 23:22:22 URL:https://hack.esolangs.org/get/tmp/egel-master/include/prelude-hackeso.eg [3254/3254] -> "/hackenv/tmp/egel-master/include/prelude-hackeso.eg" [1]
23:22:34 <b_jonas> spruit11: yes, but isn't using a compile-time thingy?
23:22:47 <spruit11> No.
23:22:47 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\n''def main = let ForN = [U -> U U][U K N B -> if K < N then (B K; U U (K + 1) N B) else nop] in ForN 0 20 [K -> print(totext((K*(K+1))/2) + "\n")]'; /hackenv/interps/egel/egel a0.eg
23:22:48 <HackEso> 0 \ 1 \ 3 \ 6 \ 10 \ 15 \ 21 \ 28 \ 36 \ 45 \ 55 \ 66 \ 78 \ 91 \ 105 \ 120 \ 136 \ 153 \ 171 \ 190
23:23:01 <spruit11> Look at this start: https://github.com/egel-lang/egel/blob/master/examples/colist.eg
23:23:21 <spruit11> Everything for colists should follow from that, mulling over comap at the moment.
23:23:36 <b_jonas> ``` cp -vi /hackenv/tmp/egel-master/include/prelude-hackeso.eg /hackenv/interps/egel/
23:23:39 <HackEso> ​'/hackenv/tmp/egel-master/include/prelude-hackeso.eg' -> '/hackenv/interps/egel/prelude-hackeso.eg'
23:24:01 <b_jonas> I'll leave soon though, I won't write the wrapper now
23:24:21 <spruit11> No problem.
23:24:34 <spruit11> I'll think about colists a bit more and the parser problem.
23:28:44 <spruit11> Added the comap function.
23:28:53 <spruit11> Maybe make it pretty later.
23:29:01 <spruit11> https://github.com/egel-lang/egel/blob/master/examples/colist.eg
23:30:06 <b_jonas> also I'll have to look at what these four libraries in lib can do
23:30:14 <b_jonas> I mean their basics only
23:31:08 <spruit11> Yah, but very very alpha. Some are hurried implementations inspired by Ocaml, regex is just trying to get as much from libicu as I could.
23:31:18 <spruit11> But be my guest.
23:31:30 <spruit11> But I think you'll enjoy it more to just puzzle a bit.
23:31:49 <spruit11> I like your small programs.
23:31:52 <spruit11> More of those!
23:42:49 <esowiki> [[Sunny morning]] https://esolangs.org/w/index.php?diff=69987&oldid=69980 * Hakerh400 * (+275) Update commands
23:45:28 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U][U U K N -> if K < N then cons K (U U (K + 1) N) N else {}] in ({3,4,5,6}, Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:45:29 <HackEso> a0.eg:4:38:semantical:redeclaration of U
23:45:42 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U][U K N -> if K < N then cons K (U U (K + 1) N) N else {}] in ({3,4,5,6}, Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:45:43 <HackEso> ​(System:tuple (System:cons 3 (System:cons 4 (System:cons 5 (System:cons 6 System:nil)))) (System:cons 3 (System:cons 4 (System:cons 5 (System:cons 6 System:nil 7) 7) 7) 7))
23:45:52 <b_jonas> no
23:46:33 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U][U K N -> if K < N then cons K (U U (K + 1) N) else {}] in ({3,4,5,6}, Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:46:34 <HackEso> ​(System:tuple (System:cons 3 (System:cons 4 (System:cons 5 (System:cons 6 System:nil)))) (System:cons 3 (System:cons 4 (System:cons 5 (System:cons 6 System:nil)))))
23:46:44 <b_jonas> better
23:48:57 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U] [U K N -> if K < N then cons K (U U (K + 1) N) else {}] in let Foreach = [U -> U U] [U B nil -> nop | U B (cons A D) -> B A; U U B D] in Foreach [] (Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:48:59 <HackEso> a0.eg:4:182:syntactical:-> expected
23:49:05 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
23:49:23 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U] [U K N -> if K < N then cons K (U U (K + 1) N) else {}] in let Foreach = [U -> U U] [U B nil -> nop | U B (cons A D) -> B A; U U B D] in Foreach [K -> print (tostring K + ",")] (Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:49:24 <HackEso> a0.eg:4:194:semantical:undeclared tostring
23:49:29 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U] [U K N -> if K < N then cons K (U U (K + 1) N) else {}] in let Foreach = [U -> U U] [U B nil -> nop | U B (cons A D) -> B A; U U B D] in Foreach [K -> print (totext K + ",")] (Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:49:30 <HackEso> 3,4,5,6,
23:49:37 <b_jonas> ``` set -e; cd egel-scripts; >a0.eg echo $'import "/hackenv/tmp/egel-master/include/prelude-hackeso.eg"\nusing System\nusing IO\ndef main = ''let Range2 = [U -> U U] [U K N -> if K < N then cons K (U U (K + 1) N) else {}] in let Foreach = [U -> U U] [U B nil -> nop | U B (cons A D) -> B A; U U B D] in Foreach [K -> print (totext (totext K) + ",")] (Range2 3 7)'; /hackenv/interps/egel/egel a0.eg
23:49:38 <HackEso> 3,4,5,6,
←2020-02-19 2020-02-20 2020-02-21→ ↑2020 ↑all