00:18:09 <esowiki> [[((?)?)?]] https://esolangs.org/w/index.php?diff=61547&oldid=61546 * Mipinggfxgbtftybfhfyhfn * (+66) /* Hello, World! */
00:31:12 -!- atslash has quit (Quit: This computer has gone to sleep).
00:33:07 <esowiki> [[C()]] https://esolangs.org/w/index.php?diff=61548&oldid=61518 * Rdococ * (-1078) WIP
00:36:35 <rdococ> C() is a cool name for an esoteric language that tries to adapt first-class functions to C's way of doing things, although I'm not sure how I'd do it.
00:38:19 <rdococ> Does C++ have first-class functions?
00:38:46 <rdococ> I know there is a compiler extension for C that adds nested functions, but they can't exit their scope.
00:38:53 <shachaf> C also has first-class functions.
00:39:02 <shachaf> Or first-class function pointers, but that's all you need.
00:39:18 <rdococ> How can you create new functions using function pointers?
00:39:26 <b_jonas> C does have function pointers; C++ also has closures
00:40:18 <rdococ> I'm officially a dumbass. I remember reading, very recently, that C++ has closures. Looks like it didn't originally, but it does now.
00:40:39 <rdococ> (That's not to say it was that recent, it was at least 8 years ago, perhaps more than that.)
00:40:59 <b_jonas> rdococ: allocate executable memory, write macine code in it that runs function according to abi calling conventions (restore callee-saved registers if you modify them), cast pointer to first byte of instruction to the right king of function pointer
00:41:01 <kmc> rdococ: the old way in C++ is to make a class which implements operator() and also has member variables for whatever free variables the closure needs to capture
00:41:23 <kmc> b_jonas: but that's nasty and should never be necessary in well designed code
00:41:34 <kmc> rdococ: this is very cumbersome so C++11 added lambdas
00:41:50 <kmc> b_jonas: writable executable memory -- I'm gonna stop you right there
00:41:51 <b_jonas> I'd say that JIT is certainly overused
00:42:10 <kmc> if you are talking about an actual JIT, fine
00:42:19 <kmc> if you're just trying to use bare function pointers as closures, don't
00:42:33 <b_jonas> and some people think it's a silver bullet and call for it as a kind of premature optimization or when it doesn't help at all
00:42:45 <kmc> pass a (function pointer, void*) pair, or a pointer to an object with a virtual method, or any of a bunch of other essentially equivalent solutions
00:42:50 <b_jonas> but it's not true that it's never necessary
00:43:22 <rdococ> My original plan for C() supported first-class functions stored only on the stack. The idea was that functions that you send to other functions ("downward funargs") are easier to implement, but parts of the program that need to send functions upward would be converted to continuation passing style.
00:43:23 <shachaf> Did you know that if you link binary data into your program, with ld --format=binary, it'll automatically make the stack executable+writable?
00:43:27 <b_jonas> you shouldn't usee them instead of just closures
00:43:37 <kmc> C++ lambdas are pretty fancy. they can capture by copy, move, or reference, and (starting in C++14) they can be polymorphic
00:43:45 <kmc> shachaf: no... why...
00:45:17 <rdococ> However, I think I want to apply the basic idea of "CPS for upward funargs" to a slightly higher level language instead.
00:45:35 <shachaf> Because every object you link has to have a special symbol or something to indicate it's OK with not having an executable stack.
00:45:49 <shachaf> If anything is missing that symbol, the linker automatically makes your stack executable.
00:46:16 <kmc> thanks linker. thinker
00:46:31 <b_jonas> well sure, that's necessary for backwards compatibility
00:46:50 <shachaf> You can pass -z noexecstack if you want to (that's what I'm doing).
00:46:59 <kmc> what are you making?
00:47:55 <shachaf> A program with a UI that embeds a font into the executable.
00:48:17 <shachaf> And maybe other things. I just wanted to see what it would take to make it standalone.
00:50:32 <kmc> rdococ: clang also adds yet another form of first class functions ("blocks") to C and ObjC and ObjC++ and maybe regular C++
00:50:49 <kmc> those have a fairly complicated ABI which is tied to the ObjC runtime
00:51:01 <kmc> and I think they only have dynamic dispatch
00:51:25 <kmc> whereas C++ lambdas are compatible with the "zero-overhead" static polymorphism style of modern C++
00:51:46 <kmc> so you can apply a bunch of high-er-order combinators like map, filter, etc. and get code that compiles down to a single flat loop
00:52:17 <esowiki> [[Promo]] https://esolangs.org/w/index.php?diff=61549&oldid=61542 * Structuresend * (+31)
00:52:34 <kmc> every C++ lambda has its own, un-nameable type which subclasses an appropriate instantiation of std::function
00:52:49 <kmc> for dynamic polymorphism you upcast a reference-to-lambda into a &std::function
00:53:37 <kmc> for static polymorphism you call a function template, implicitly instantiating one of the template parameters at the specific lambda's type
00:53:52 <kmc> this is also why 'auto' is an essential part of C++11 and not just a convenience
00:54:33 <kmc> it allows you to have local variables whose types are these un-nameable things
00:55:28 <shachaf> that's why my program is written in c
00:55:57 <kmc> Rust works much the same way, and also in Rust, every non-lambda function has its own type as well, and that type has zero size (because it has no captures, and because you know which function to call from the type itself)
00:56:37 <kmc> I don't recall how C++ handles that but anyway, it allows you to instantiate those same HOFs on a named, non-capturing function without creating a function pointer, which would actually cause more overhead than the lambda way
01:04:17 <esowiki> [[User:Blinry]] M https://esolangs.org/w/index.php?diff=61550&oldid=61522 * Blinry * (+18)
01:06:00 -!- b_jonas has quit (Quit: leaving).
01:11:21 -!- sebbu has quit (Read error: Connection reset by peer).
01:11:44 -!- sebbu has joined.
01:12:04 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=61551&oldid=61543 * Blinry * (+12) +legit
01:14:35 -!- sombrero has joined.
01:15:02 <esowiki> [[Legit]] https://esolangs.org/w/index.php?diff=61552&oldid=61528 * Blinry * (+145) Added categories!
01:16:54 <sombrero> Pardon the interruption, what is the computational power of a markup language , adding only a conditional IF ? inthe spirit of https://esolangs.org/wiki/Wiki_Cyclic_Tag
01:17:56 -!- J_Arcane has quit (Ping timeout: 258 seconds).
01:21:03 -!- ocharles has quit (Ping timeout: 264 seconds).
01:22:52 -!- mich181189 has quit (Ping timeout: 268 seconds).
01:26:36 -!- J_Arcane has joined.
01:27:15 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
01:27:28 -!- glowcoil has quit (Ping timeout: 276 seconds).
01:31:21 -!- dingwat has quit (Ping timeout: 258 seconds).
01:32:14 -!- J_Arcane has quit (Ping timeout: 255 seconds).
01:46:44 -!- ocharles has joined.
01:47:30 -!- mich181189 has joined.
01:47:53 -!- glowcoil has joined.
01:48:19 -!- J_Arcane has joined.
01:52:21 -!- dingwat has joined.
02:07:10 <esowiki> [[Teg]] M https://esolangs.org/w/index.php?diff=61553&oldid=60986 * A * (+64)
02:09:19 -!- FreeFull has quit.
02:22:38 -!- sombrero has quit (Quit: Page closed).
02:37:17 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=61554&oldid=59418 * A * (+12301) Copy the whole thing here for making my own golfing language
02:51:21 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=61555&oldid=61554 * A * (-203)
03:02:34 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[Err]]": Author request: content before blanking was: "'''Err''' is an esoteric programming language based on errors. ==Keywords== {| class="wikitable" |- ! Keyword !! Meaning |- | err || Catch an error. |- | throw || Throw an error. |- | inport || Inport a library. |} ==Sint..."
03:12:16 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=61556&oldid=61555 * A * (-12098) Blanked the page
03:15:58 <esowiki> [[Brianfuck]] https://esolangs.org/w/index.php?diff=61557&oldid=55758 * A * (-31)
03:16:20 <esowiki> [[Briefscript]] https://esolangs.org/w/index.php?diff=61558&oldid=55991 * A * (-29)
03:16:35 <esowiki> [[Frums]] https://esolangs.org/w/index.php?diff=61559&oldid=56780 * A * (-25)
03:17:02 <esowiki> [[Golfuck]] https://esolangs.org/w/index.php?diff=61560&oldid=59707 * A * (-30) /* Partial implementation in C++ */
03:17:28 <esowiki> [[Losescript]] https://esolangs.org/w/index.php?diff=61561&oldid=55726 * A * (-30)
03:19:09 <esowiki> [[Losescript]] https://esolangs.org/w/index.php?diff=61562&oldid=61561 * A * (+30) Sorry for accidentally editing this page
03:19:27 <esowiki> [[SimpleScript]] https://esolangs.org/w/index.php?diff=61563&oldid=57041 * A * (-30)
03:19:31 -!- Frater_EST has joined.
03:20:44 <esowiki> [[Frums]] https://esolangs.org/w/index.php?diff=61564&oldid=61559 * A * (-30)
03:20:50 -!- Frater_EST has left.
03:24:15 -!- J_Arcane_ has joined.
03:24:59 -!- glowcoil_ has joined.
03:25:02 -!- J_Arcane has quit (Ping timeout: 245 seconds).
03:25:02 -!- J_Arcane_ has changed nick to J_Arcane.
03:25:08 -!- glowcoil has quit (Ping timeout: 250 seconds).
03:25:09 -!- glowcoil_ has changed nick to glowcoil.
03:51:29 -!- Hooloovoo has quit (Ping timeout: 268 seconds).
03:54:10 -!- Hoolootwo has joined.
04:37:35 -!- Hoolootwo has changed nick to Hooloovo0.
05:15:23 -!- oerjan has quit (Quit: Nite).
06:10:52 -!- S_Gautam has joined.
06:18:30 <Sgeo__> The Shaders on ShaderToy are 4 dimensional (with time as a dimension). Wonder how difficult it would be to rotate some
06:49:38 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
06:50:47 -!- Lord_of_Life has joined.
07:01:58 -!- glowcoil has quit.
07:02:21 -!- glowcoil has joined.
07:07:02 -!- J_Arcane has quit.
07:07:19 -!- J_Arcane has joined.
07:52:21 -!- AnotherTest has joined.
08:10:34 -!- Phantom_Hoover has joined.
09:02:17 -!- user24 has joined.
10:12:52 <esowiki> [[Minic]] https://esolangs.org/w/index.php?diff=61565&oldid=61350 * A * (+1013)
10:17:05 <esowiki> [[Minic]] https://esolangs.org/w/index.php?diff=61566&oldid=61565 * A * (+316)
10:18:03 <esowiki> [[Minic]] https://esolangs.org/w/index.php?diff=61567&oldid=61566 * A * (+38)
10:19:10 <esowiki> [[Minic]] https://esolangs.org/w/index.php?diff=61568&oldid=61567 * A * (+8)
10:19:17 -!- ProofTechnique_ has joined.
10:19:25 -!- Hoolootwo has joined.
10:19:44 -!- ProofTechnique has quit (Ping timeout: 252 seconds).
10:19:45 -!- Hooloovo0 has quit (Excess Flood).
10:19:49 -!- ProofTechnique_ has changed nick to ProofTechnique.
10:22:20 -!- zzo38 has quit (Ping timeout: 255 seconds).
10:22:34 <esowiki> [[Minic]] M https://esolangs.org/w/index.php?diff=61569&oldid=61568 * A * (+84)
10:38:17 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
11:35:47 -!- atslash has joined.
12:03:22 -!- b_jonas has joined.
12:11:27 <esowiki> [[Talk:Text]] https://esolangs.org/w/index.php?diff=61570&oldid=54002 * A * (+199) /* txeT */
12:16:47 -!- Hoolootwo has quit (Ping timeout: 240 seconds).
12:18:08 -!- user24 has quit (Quit: Leaving).
12:21:02 -!- Hoolootwo has joined.
13:14:19 -!- S_Gautam has joined.
13:14:57 -!- AnotherTest has quit (Ping timeout: 250 seconds).
13:15:13 -!- AnotherTest has joined.
13:15:46 -!- atslash has quit (Ping timeout: 250 seconds).
13:17:50 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
13:23:07 -!- atslash has joined.
13:57:21 -!- AnotherTest has quit (Ping timeout: 252 seconds).
14:19:01 -!- Hoolootwo has quit (Ping timeout: 276 seconds).
14:21:04 -!- Hoolootwo has joined.
14:58:39 -!- moei has joined.
15:23:55 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
16:12:05 -!- AnotherTest has joined.
16:21:59 -!- JRT has joined.
16:22:04 <JRT> sup my ppls
16:24:02 -!- MDude has quit (Ping timeout: 246 seconds).
16:38:41 -!- LKoen has joined.
16:50:16 -!- JRT has quit (Quit: Lost terminal).
17:07:06 -!- atslash has quit (Ping timeout: 246 seconds).
17:07:53 -!- atslash has joined.
17:12:12 -!- Sgeo_ has joined.
17:15:24 -!- Sgeo__ has quit (Ping timeout: 250 seconds).
17:31:41 -!- Phantom_Hoover has joined.
18:03:20 -!- S_Gautam has joined.
18:14:52 -!- MDude has joined.
18:18:10 -!- Sgeo__ has joined.
18:18:28 -!- MDead has joined.
18:20:53 -!- MDude has quit (Ping timeout: 245 seconds).
18:20:54 -!- MDead has changed nick to MDude.
18:21:21 -!- Sgeo_ has quit (Ping timeout: 252 seconds).
18:24:11 -!- tromp has quit (Remote host closed the connection).
18:24:45 -!- tromp has joined.
18:28:39 -!- MDude has quit (Ping timeout: 246 seconds).
18:29:04 -!- tromp has quit (Ping timeout: 252 seconds).
18:32:15 -!- Sgeo_ has joined.
18:35:33 -!- Sgeo__ has quit (Ping timeout: 258 seconds).
18:47:21 -!- Lord_of_Life_ has joined.
18:50:28 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
18:50:29 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:17:15 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=61571&oldid=61521 * Sollyucko * (+187) Added myself
19:20:16 <esowiki> [[BareMinimum]] https://esolangs.org/w/index.php?diff=61572&oldid=60805 * Sollyucko * (-38) Fixed typo & formatting
19:24:58 <esowiki> [[((?)?)?]] https://esolangs.org/w/index.php?diff=61573&oldid=61547 * Mipinggfxgbtftybfhfyhfn * (-121) /* Nor operator */
19:25:19 <esowiki> [[User:Sollyucko]] N https://esolangs.org/w/index.php?oldid=61574 * Sollyucko * (+67) Created page with "[https://en.wikipedia.org/wiki/User:Sollyucko wp:en:User:Sollyucko]"
19:25:59 <esowiki> [[Folders]] https://esolangs.org/w/index.php?diff=61575&oldid=47151 * Rottytooth * (-149) removed dead link
19:27:50 <esowiki> [[((?)?)?]] https://esolangs.org/w/index.php?diff=61576&oldid=61573 * Mipinggfxgbtftybfhfyhfn * (+30) /* Symbols */
19:30:36 <esowiki> [[((?)?)?]] https://esolangs.org/w/index.php?diff=61577&oldid=61576 * Mipinggfxgbtftybfhfyhfn * (+97) /* Groups */
19:31:14 -!- Sgeo__ has joined.
19:32:12 <esowiki> [[((?)?)?]] https://esolangs.org/w/index.php?diff=61578&oldid=61577 * Mipinggfxgbtftybfhfyhfn * (-139) /* Examples */
19:34:12 -!- Sgeo_ has quit (Ping timeout: 245 seconds).
19:41:42 <esowiki> [[((?)?)?]] https://esolangs.org/w/index.php?diff=61579&oldid=61578 * Mipinggfxgbtftybfhfyhfn * (+82)
19:49:59 <b_jonas> ais523: have you got any new results on that letter rearrangement problem?
19:53:55 -!- FreeFull has joined.
20:04:59 -!- tromp has joined.
20:09:32 -!- tromp has quit (Ping timeout: 258 seconds).
20:10:03 <esowiki> [[Run On Off]] N https://esolangs.org/w/index.php?oldid=61580 * Mipinggfxgbtftybfhfyhfn * (+301) Created page with "Run On Off is an [[meta-language]] and [[matrioshka language]] designed so it can be interpreted with just an interruptor that turn on/off a light, the human brain and a paper..."
20:13:00 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
20:33:52 -!- atslash has quit (Quit: This computer has gone to sleep).
20:34:16 -!- AnotherTest has quit (Ping timeout: 268 seconds).
20:34:38 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
21:03:11 -!- Phantom_Hoover has joined.
21:09:04 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
21:14:45 -!- Lord_of_Life has joined.
21:45:33 -!- tromp has joined.
21:52:16 <b_jonas> am I the only one to wonder why the ICFP contest for this year is not announced yet?
21:52:26 <b_jonas> has nobody volunteered to organize it?
21:52:33 -!- atslash has joined.
22:01:22 -!- tromp has quit (Remote host closed the connection).
22:01:59 -!- tromp has joined.
22:06:27 -!- tromp has quit (Ping timeout: 259 seconds).
22:33:11 -!- tromp has joined.
22:37:53 -!- tromp has quit (Ping timeout: 259 seconds).
22:54:19 -!- oerjan has joined.
22:57:08 <oerjan> . o O ( the contest is dysfunctional )
23:01:28 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:04:11 -!- atslash has quit (Quit: This computer has gone to sleep).
23:24:19 <esowiki> [[Run On Off]] https://esolangs.org/w/index.php?diff=61581&oldid=61580 * Mipinggfxgbtftybfhfyhfn * (+184) /* Syntax */
23:32:45 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:38:05 <esowiki> [[Run On Off]] https://esolangs.org/w/index.php?diff=61582&oldid=61581 * Mipinggfxgbtftybfhfyhfn * (+426) /* Syntax */
23:39:49 <esowiki> [[Run On Off]] https://esolangs.org/w/index.php?diff=61583&oldid=61582 * Mipinggfxgbtftybfhfyhfn * (+20) /* Syntax */