←2025-02-18 2025-02-19 2025-02-20→ ↑2025 ↑all
00:39:09 <esolangs> [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152191&oldid=152181 * I am islptng * (+571) /* How to make lowercase */
00:42:54 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152192&oldid=152190 * Lykaina * (+1346) Added to beginning.
00:49:21 <Lykaina> How does https://esolangs.org/wiki/Afth look so far?
00:51:00 <esolangs> [[H33T33]] N https://esolangs.org/w/index.php?oldid=152193 * H33T33 * (+301) Created page with "=[[User:H33T33]]= I am absolutely obsessed with programming, specifically game development. Though I dabble in other things, like esolang development. ==Experience== * Python * C * Java * A handful of other smaller languages I can't be bothered to list right now ==Langua
00:51:23 <esolangs> [[H33T33]] https://esolangs.org/w/index.php?diff=152194&oldid=152193 * H33T33 * (-18)
00:54:02 <esolangs> [[H33T33]] https://esolangs.org/w/index.php?diff=152195&oldid=152194 * H33T33 * (-283) Blanked the page
00:55:09 <esolangs> [[User:H33T33]] N https://esolangs.org/w/index.php?oldid=152196 * H33T33 * (+283) Created page with "I am absolutely obsessed with programming, specifically game development. Though I dabble in other things, like esolang development. ==Experience== * Python * C * Java * A handful of other smaller languages I can't be bothered to list right now ==Languages Developed
00:55:59 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=152197&oldid=151996 * H33T33 * (-25)
01:00:09 <esolangs> [[Topple]] https://esolangs.org/w/index.php?diff=152198&oldid=152197 * H33T33 * (-22)
01:03:18 <Lykaina> Afth is supposed to mean "Something from the Aft" and is meant as a euphemism for "Solid Bodily Excrement"
01:04:28 <Lykaina> also, the opposite of Forth
01:11:18 <korvo> Lykaina: Do you have a second stack?
01:11:40 <Lykaina> not really
01:13:23 <Lykaina> should I?
01:13:46 <korvo> Well, what do you think of Turing-completeness? A one-stack pushdown automaton can't simulate a Turing machine.
01:14:38 <korvo> There's good arguments both ways. Cammy can be simulated by a one-stack pushdown automaton, but its computational class is absurdly large for something not TC.
01:15:18 <Lykaina> I have variables
01:15:33 <korvo> But yeah, the typical Forth has two stacks. There's a call-return stack, sometimes just called the R stack, and words like >r and r> for moving to/from it.
01:16:36 <Lykaina> didn't know that
01:16:57 <korvo> Hm, that might work. Normally we think of the second stack as being indefinite in size, while only finitely many variables are possible. But that's merely a convention because we want to map variables to registers in some traditions; obviously the number of variables is very large and also the size of the stack is limited.
01:17:34 -!- ais523 has quit (Quit: quit).
01:17:38 <korvo> No worries! Most Forth users don't have to worry about the second stack because they have pick-and-roll functionality: there are insanely powerful words like pick or roll which allow the user to shuffle the entire stack.
01:18:32 <korvo> But in this channel you'll find lots of folks who are either using ANS FORTH for some reason, or are writing Forth for embedded platforms where roll'ing the stack would be too expensive to offer as a feature.
01:18:40 <esolangs> [[Burro]] https://esolangs.org/w/index.php?diff=152199&oldid=140997 * Anthonykozar * (+7) /* Constructing Conditionals */ Clarifying some sentences.
01:19:34 <Lykaina> i'll change what's r,R means and put the original meaning on d,D
01:20:17 <Lykaina> make r,R the access to the R stack
01:20:25 <korvo> Oh, don't worry about keeping with tradition. Forth calls the second stack R because it's used for return addresses; it's the standard call stack in C-style memory layouts.
01:20:51 <korvo> You could just as well call it H since it's often a hardware-supported stack, or C because it's used for calls (or used like in C), etc.
01:21:27 <Lykaina> i'll have to make my spreadsheet two pages then...
01:21:45 <Lykaina> it will be c,C
01:22:37 <Lykaina> c: t = cstack.pop()
01:23:02 <Lykaina> C: cstack.append(t)
01:23:35 <korvo> Also, you can choose to make the second stack safe! In a typical ANS FORTH, the user has to assume that they do not control the second stack; the runtime will also push and pop stuff to it, and there are rules about when it's safe to use.
01:26:02 <Lykaina> hold on...
01:27:28 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
01:28:56 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152200&oldid=152192 * Lykaina * (+94) /* Core Instructions */ adding c and C.
01:45:28 <Lykaina> any other things i'm missing?
01:45:50 <esolangs> [[Talk:MoreMathRPN]] https://esolangs.org/w/index.php?diff=152201&oldid=151264 * I am islptng * (+610) /* Questions */
01:47:21 <Lykaina> oh...have to add sample var and word declarations
01:47:32 <Lykaina> i mean, to the wiki
01:55:33 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152202&oldid=152200 * Lykaina * (+205) /* Syntax */
02:17:46 <Lykaina> there are only 94^2 possible single-cell variables
02:20:03 <Lykaina> and 52*94^2 possible words
02:22:57 <Lykaina> 26*94^4 < 2^31
02:29:33 <Lykaina> the amount of non-space printable ascii chars is 94. 26*94+26*94^2+26*94^3+26*94^4 is still less than 2^31
02:32:37 <Lykaina> means, in a future version, i can have 2-5 char word names and 1-4 char var names
02:34:24 <Lykaina> better make a quick change to support this future
02:34:59 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152203&oldid=152202 * Lykaina * (+8) /* Words */
02:35:47 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152204&oldid=152203 * Lykaina * (-4) /* Initial Letters Table */
03:23:13 -!- craigo has quit (Quit: Leaving).
04:35:10 <esolangs> [[User:Anthonykozar/Notes]] https://esolangs.org/w/index.php?diff=152205&oldid=152135 * Anthonykozar * (+125) Added Burro and Cabra.
05:17:53 <Lykaina> made the change to 2-5 char word names and 1-4 char var names
05:18:20 <Lykaina> but not in wiki
05:26:40 -!- safinaskar has joined.
05:27:34 <safinaskar> hi. i want to add austral (it is non-esoteric, but little known programming lanuage) to some online playground. is there some online playground, such that i can very easily add language to it?
05:28:06 <safinaskar> i looked at godbolt, but it requires to write syntax for monaco editor first, i don't want to do this
05:28:39 <safinaskar> i also looked at tio.run , but it seems admin disappeared long time ago and adding new languages is not possible
05:29:20 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152206&oldid=152204 * Lykaina * (+7) Updated to current.
05:31:43 <Lykaina> Afth is only partly esoteric at this point.
05:34:15 <Lykaina> The part that, in my mind, qualifies it as esoteric is the Core Instructions
05:49:28 -!- lisbeths has joined.
05:51:36 <Lykaina> hi lisbeths
05:54:10 <Lykaina> lisbeths: How does https://esolangs.org/wiki/Afth look so far?
06:20:12 -!- Noisytoot has quit (Excess Flood).
06:23:01 -!- Noisytoot has joined.
06:24:18 -!- Noisytoot has quit (Excess Flood).
06:42:37 <lisbeths> Lykaina: it looks like a pretty normal forth upon brief glance
06:42:51 <lisbeths> Lykaina: what are your goals with it?
06:44:48 -!- Noisytoot has joined.
07:19:07 -!- safinaskar has left (https://quassel-irc.org - Chat comfortably. Anywhere.).
08:01:00 -!- tromp has joined.
08:04:55 <b_jonas> safinaskar: maybe look at https://tio.run/ , it supports tons of languages, esoteric and not
08:05:09 <b_jonas> oh, you already looked at it
08:31:04 <b_jonas> Lykaina: I wouldn't bother with a second stack. Just stacks without random access are inconvenient to use. If you want to be minimalist but powerful I'd just add a random-access data array of words outside the stack, and add three primitives: load word from address, store word to address, and sbrk.
08:33:59 -!- Sgeo has quit (Read error: Connection reset by peer).
08:36:21 <b_jonas> I think forths traditionally have something like that, with a funny naming confusion because they call the random-access load primitive @ and the random-access store primitive ! whereas ML uses ! for random-access load
08:37:03 -!- b_jonas has quit (Quit: leaving).
09:38:29 <lisbeths> I am really curious about forths that use registers
09:59:07 -!- Bowserinator has quit (Quit: Blame iczero something happened).
09:59:54 -!- iovoid has quit (Quit: iovoid has quit!).
10:00:59 -!- Bowserinator has joined.
10:01:29 -!- iovoid has joined.
10:41:20 -!- wib_jonas has joined.
10:43:46 <wib_jonas> lisbeth: I think some forths have a few global variables to simplify the syntax of simple counter for-loops, so there's a loop builtin that puts the count in one global variable and maybe another that puts them in a second global variable. does that count as registers? alternately GML has lambda calculus style lexically local variables, which you
10:43:46 <wib_jonas> could implement with a register stack (separate from the forth/postscript data stack), does that count?
10:44:13 <wib_jonas> hmm no, you couldn't implement it with a register stack because there are first-class closures
10:44:28 <wib_jonas> but you could count those locals as registers
10:48:58 <wib_jonas> I guess you could have local variables with closures that are closed by reference to the stack only so they can't be called after the parent stack frame ends, and then you could implement these as register stack. I am considering that for the columns esolang, though I haven't really figured out how functions and control structures should work so it
10:48:59 <wib_jonas> might not actually use these.
11:52:00 -!- Bowserinator has quit (Quit: Blame iczero something happened).
11:52:54 -!- Bowserinator has joined.
12:11:36 -!- wib_jonas has quit (Quit: Client closed).
13:01:28 -!- AnthonyKozar has joined.
13:03:03 -!- AnthonyKozar has quit (Client Quit).
13:04:14 -!- AnthonyKozar has joined.
13:07:52 <AnthonyKozar> RFC: SCOOP (Single-Character Object-Oriented Programming) is a pure, classless, object-oriented esolang using the full Unicode character set where all commands and identifiers/names are a single character.
13:09:50 <AnthonyKozar> Hello! I recently added my new esolang, SCOOP, to the wiki and I am looking for some feedback if anyone has the interest/time to take a look.
13:13:32 <AnthonyKozar> I'm interested to know if there are any ambiguities or problems with the syntax or semantics. General feedback is also appreciated. Thanks! :)
13:20:07 -!- amby has joined.
13:24:15 -!- AnthonyKozar has quit (Quit: Client closed).
13:32:45 <esolangs> [[Braces]] https://esolangs.org/w/index.php?diff=152207&oldid=112463 * Krolkrol * (+1482)
13:34:32 <esolangs> [[Braces]] https://esolangs.org/w/index.php?diff=152208&oldid=152207 * Krolkrol * (+27)
13:35:58 <esolangs> [[User talk:Aadenboy]] https://esolangs.org/w/index.php?diff=152209&oldid=152113 * PrySigneToFry * (+49)
13:42:37 -!- AnthonyKozar has joined.
13:49:04 -!- AnthonyKozar has quit (Quit: Client closed).
13:57:00 <APic> Hi
14:17:49 -!- chiselfuse has quit (Write error: Connection reset by peer).
14:19:54 -!- chiselfuse has joined.
14:21:29 <lisbeths> hello
14:28:08 -!- AnthonyKozar has joined.
14:30:44 <AnthonyKozar> Hello, lisbeths.
14:42:45 -!- AnthonyKozar has quit (Quit: Client closed).
14:49:51 -!- craigo has joined.
15:45:57 <Lykaina> hi
15:46:03 <Lykaina> just woke up
16:04:12 <esolangs> [[Special:Log/newusers]] create * C++DSUCKER * New user account
16:04:34 <Lykaina> changing c,C to t,T and using b,B,c,C,d,D for a large random-access array and its pointer in next edit
16:08:42 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=152210&oldid=152167 * C++DSUCKER * (+89) /* Introductions */
16:10:38 <Lykaina> also e,E to m,M
16:11:28 <Lykaina> so i have e,E available for the array as well if needed
16:19:57 -!- roper has joined.
16:22:22 -!- wib_jonas has joined.
16:25:17 -!- dawids_ has joined.
16:27:06 <APic> Celebrate Chaoflux! Hail Diskordiæ! 😇
16:28:34 -!- wib_jonas has quit (Quit: Client closed).
16:29:38 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152211&oldid=152206 * Lykaina * (+22) freeing up core instruction letters c,C,e,E and reassigning them to t,T,m,M.
16:38:04 -!- amby has quit (Read error: Connection reset by peer).
16:38:19 -!- amby has joined.
16:39:00 -!- wib_jonas has joined.
16:39:09 <wib_jonas> AnthonyKozar: re SCOOP this seems interesting and I don't yet understand the consequences of all this specification.  First question, I don't understand the description of the syntax.
16:39:13 <wib_jonas> In particular, if you have an object definition strating with colon, then the colon is followed by a name, then some items in between, and finally there's one of □#" at the end.  Of the following, what items can be in between?
16:39:18 <wib_jonas> (A) Member initializers, which is just an ordinary character that means to copy the member from the parent object to this object. (B) Method definitions. (C) Nested object definitions starting with colon (where the nested object initializes a member in the parent object). (D) Assignment statements.
16:39:23 <wib_jonas> (E) Method call statements. (F) Assignment statements. (G) Ordinary characters that become a character of the string if this defines a string object, or give the numeric value if this is a number object.
16:39:28 <wib_jonas> How do you disambiguate between A and G?  Also which of A to G can you have in the body of a method definition?
16:39:33 <wib_jonas> Second question, do I understand it right that there's always just the members of one object in scope, so in any statement like ←x or ←x.ym or ←x▷ymz or ⏎x , x and y and z are members in that one object but m isn't, and in a nested :xy□ definition too x will be created as a member named x in that one object and y will be copied from the
16:39:33 <wib_jonas> member y in that one object?
16:40:11 <wib_jonas> And you can't directly access values from the parent object, except through an (A) style member initializer, right?
16:43:05 <wib_jonas> Lykaina: what do those letters mean, the uppercase and the lowercase?
16:44:26 <Lykaina> they are the chars assigned to "Core Instructions".
16:45:06 <Lykaina> look at table in wiki page
16:47:13 <Lykaina> DUP is 'sSS'
16:47:27 <Lykaina> as an example
16:49:10 <wib_jonas> Lykiana: I don't see b,B,c,C,d,D there\
16:49:39 <Lykaina> i haven't programmed them yet
16:50:01 <Lykaina> they will be
16:50:19 <esolangs> [[Bitchanger Busy beaver]] N https://esolangs.org/w/index.php?oldid=152212 * C++DSUCKER * (+646) Created page with "== Confirmed optimal == These are confirmed to be the best for lengths 1-15 {| class="wikitable" |- ! length !! Time !! Program |- | 1 || 1 || } |- | 2 || 2 || }} |- | 3 || 3 || }}} |- | 4 || 4 || }}}} |- | 5 || 5 || }}}}} |- | 6 || 8 || }}<[<] |- | 7
16:54:59 <Lykaina> b,B,c,C,d,D,e,E are currently reserved for what i am currently programming, the array of 16384 signed 32-bit ints.
17:11:00 -!- dawids_ has quit (Remote host closed the connection).
17:15:29 -!- wib_jonas has quit (Quit: Client closed).
18:01:15 -!- dawids_ has joined.
18:01:30 -!- dawids_ has quit (Remote host closed the connection).
18:02:25 -!- AnthonyKozar has joined.
18:07:59 <AnthonyKozar> wib_jonas: Thanks very much for taking a look at SCOOP. Sounds like I need to clarify some of my descriptions and/or give more detailed examples.
18:12:26 <korvo> AnthonyKozar: I have many thoughts, having implemented similar languages. For starters, do you have a concept of verb or selector? In languages like Smalltalk, Self, Python, Ruby, or E, it is possible for an object to define a default behavior for messages when none of its selectors/verbs match.
18:14:14 -!- AnthonyKozar has quit (Quit: Client closed).
18:14:24 <korvo> Along similar lines, is there a default verb/selector which indicates a function-like behavior? For example, in Python, that attribute is ".__call__"; in E, it's the verb "run".
18:14:32 <korvo> ...Well, okay.
18:22:43 -!- roper has quit (Read error: Connection reset by peer).
18:28:15 -!- roper has joined.
18:31:46 -!- AnthonyKozar has joined.
18:32:15 <AnthonyKozar> Re: your first question, which items can come between the identifier and the final delimiter (the "content") depends upon the delimiter. If the delimiter is □, then only a list of object members (your A) can be in the content. If the delimiter is " or #, then only G.  If the delimiter is ƒ, 𝑓, or ✆, then the content is B (a method or
18:32:16 <AnthonyKozar> callback definition) which can include any combination of (B) (nested) Method definitions. (C) Nested object definitions starting with colon (but they do not define an object immediately!). (D) Assignment statements, (E) Method call statements, or member access  statements. I.e. the content of a method definition is just a code string but the
18:32:16 <AnthonyKozar> instructions in the definition are not evaluated (and don't have to be parsed completely) until the method is called.
18:33:44 -!- AnthonyKozar has quit (Client Quit).
18:34:19 -!- b_jonas has joined.
18:45:09 -!- Lord_of_Life_ has joined.
18:45:24 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
18:46:30 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:02:34 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152213&oldid=152211 * Lykaina * (+843) /* Core Instructions */ adding b,B,c,C,d,D,e,E
19:08:02 <b_jonas> Lykaina: you have looked at the classic languages Mouse and FALSE before inventing a new language like this, right?
19:08:08 <Lykaina> no
19:08:25 <b_jonas> though if you'll build a fungeoid over this later then that doesn't matter
19:09:00 <b_jonas> but it doesn't look like you want a fungeoid, looks like you want a Forth-like
19:10:52 <Lykaina> i may take elements from afth and make a fungeoid
19:11:26 <Lykaina> in the future
19:15:05 -!- ais523 has joined.
19:18:41 <Lykaina> fungeball is not afth
19:21:13 <Lykaina> though an experiment with a private fork of fungeball's code inspired the cration of afth.
19:21:14 -!- Lord_of_Life has quit (Remote host closed the connection).
19:21:45 -!- Lord_of_Life has joined.
19:27:02 <Lykaina> since befunge-93 is inspired by brainfuck and FALSE, it's possible that the similarities between afth and FALSE (which i know nothing about) are due to that.
19:52:32 -!- roper has quit (Quit: leaving).
20:04:32 <esolangs> [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152214&oldid=152180 * Buckets * (+1789)
20:21:36 <esolangs> [[FOSMOL]] N https://esolangs.org/w/index.php?oldid=152215 * Aadenboy * (+3915) Created page with "'''FOSMOL''' (an acronym that stands for Fold Operator Start Map Operator List) is a [[:Category:Total|total]] esolang created by [[User:Aadenboy]]. == Values == FOSMOL operates on lists of numbers. These lists can be assigned to a variable, which becomes immutable imm
20:22:03 <esolangs> [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=152216&oldid=152114 * Aadenboy * (+72) /* who. who are you */ add [[FOSMOL]]
20:22:31 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=152217&oldid=152187 * Aadenboy * (+13) /* F */ add FOSMOL
20:25:09 <esolangs> [[Free Esolang]] https://esolangs.org/w/index.php?diff=152218&oldid=152164 * Hotcrystal0 * (+252)
20:28:18 <esolangs> [[Free Esolang]] https://esolangs.org/w/index.php?diff=152219&oldid=152218 * Hotcrystal0 * (-9)
20:29:31 <esolangs> [[Free Esolang]] https://esolangs.org/w/index.php?diff=152220&oldid=152219 * Hotcrystal0 * (-5)
20:40:31 <Lykaina> just found a bug in the code that prevented stack underruns
20:41:11 <Lykaina> it's a holdover from when the code was a befunge interpreter
20:42:01 <Lykaina> fixed
20:48:51 -!- lisbeths has quit (Quit: Connection closed for inactivity).
20:58:26 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152221&oldid=152213 * Lykaina * (+82) Adding link to repository.
21:10:45 -!- AnthonyKozar has joined.
21:12:01 <AnthonyKozar> wib_jonas: You asked "How do you disambiguate between A and G?"  The delimiter at the end of a definition is the only (reliable) way to distinguish between the five types of definitions. So, when a SCOOP parser finds a colon followed by an identifier, it should probably just read in characters until it finds a matching delimiter. Then it can
21:12:01 <AnthonyKozar> decide how to interpret the content string. (The parser does need to pay attention to any colons in the content string and match each colon with a delimiter until it finds the delimiter that matches the first colon).
21:16:03 <b_jonas> AnthonyKozar: so if you want to have a number or string with custom members in it, you have to use the extend method?
21:16:30 <b_jonas> I guess that will work, you rarely want such a thing anyway
21:16:48 <b_jonas> though I'm not sure what happens if you try to extend a string with a number or a number with a string
21:23:14 -!- AnthonyKozar has quit (Quit: Client closed).
21:25:41 <esolangs> [[Talk:Intcode]] N https://esolangs.org/w/index.php?oldid=152222 * ApisNecros * (+567) Create page with a question
21:25:55 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152223&oldid=152189 * Buckets * (+15)
21:26:06 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=152224&oldid=152217 * Buckets * (+16)
21:26:30 <esolangs> [[Beep Boop]] N https://esolangs.org/w/index.php?oldid=152225 * Buckets * (+824) Created page with "Beep Boop is an Esoteric programming language created by [[User:Buckets]] in 2020. (The output Signal is Automatically Off.) {| class="wikitable" ! Commands !! Instructions |- | Beep || Change To A 20 Hz signal. |- | Boop || change to A 200 Hz signal. |- | - || Change
21:35:42 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152226&oldid=152221 * Lykaina * (+82) /* Syntax */ Added mention of arrays.
22:22:04 -!- visilii has joined.
22:22:45 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152227&oldid=152226 * Lykaina * (+155) Added Infobox
22:24:54 -!- visilii_ has quit (Ping timeout: 260 seconds).
22:27:35 <esolangs> [[FOSMOL]] M https://esolangs.org/w/index.php?diff=152228&oldid=152215 * Aadenboy * (+106) /* Macros */
22:28:38 <esolangs> [[FOSMOL]] M https://esolangs.org/w/index.php?diff=152229&oldid=152228 * Aadenboy * (+6) /* Mapping */
22:31:28 <APic> cu
22:36:14 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152230&oldid=152227 * Lykaina * (+38) /* Syntax */ Rephrased "Command Triplets" as "Command Groups"
22:38:24 -!- AnthonyKozazr has joined.
22:40:28 -!- AnthonyKozazr has changed nick to AnthonyKozar.
22:53:38 <AnthonyKozar> korvo: Thanks for your thoughts and questions!  SCOOP does not have an explicit concept of verbs or selectors.  Other than having multi-word selectors  (like "randomFrom:To:"), is the concept much different from method names/identifiers like in Java or C++?  In the current draft of SCOOP, if an object receives a message that doesn't match any
22:53:39 <AnthonyKozar> of its methods, that is a runtime error.  And since SCOOP is an esolang, I haven't provided any way to recover from that or similar errors.
22:56:00 <esolangs> [[Compass]] https://esolangs.org/w/index.php?diff=152231&oldid=151782 * Ractangle * (-11) /* Hello, world! */
22:57:02 <esolangs> [[Compass]] https://esolangs.org/w/index.php?diff=152232&oldid=152231 * Ractangle * (-44) /* Empty Program */
22:57:31 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152233&oldid=152230 * Lykaina * (-6) /* Initial Letters Table */ updated to current
22:57:36 <esolangs> [[Compass]] https://esolangs.org/w/index.php?diff=152234&oldid=152232 * Ractangle * (+0) /* Empty Program */
22:58:25 <b_jonas> AnthonyKozar: are you planning to write a reference interpreter for SCOOP, and longer programs that create many objects programmatically?
22:59:09 <esolangs> [[Compass]] https://esolangs.org/w/index.php?diff=152235&oldid=152234 * Ractangle * (-83) /* Examples */
22:59:54 <b_jonas> it looks like you have an interesting enough language that it might be worth
23:00:26 <AnthonyKozar> Currently, SCOOP does not have a "default verb/selector [indicating] function-like behavior."  Method objects have a property called ⌘ that can be used to retrieve their code string but that property cannot be used to change the code of a method.  I envisioned methods, numbers, and strings as opaque objects.  Even if you extend them with
23:00:27 <AnthonyKozar> custom members, there is currently no way to directly modify their internal values.
23:01:27 <AnthonyKozar> b_jonas: Yes, I would like both to write some longer programs and to create a reference interpreter (when time allows).
23:01:46 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152236&oldid=152233 * Lykaina * (+73) /* Hello, World! */ Added a rephrasing of the program.
23:01:47 <AnthonyKozar> Thank you!
23:02:28 <esolangs> [[-1]] M https://esolangs.org/w/index.php?diff=152237&oldid=151827 * Buckets * (+6)
23:04:50 <AnthonyKozar> I will probably implement SCOOP in Python since I believe Python makes it pretty easy to dynamically define objects and has excellent support for Unicode (from what I can tell).
23:06:17 <esolangs> [[]] M https://esolangs.org/w/index.php?diff=152238&oldid=152188 * Buckets * (+1)
23:08:16 <AnthonyKozar> korvo: (wi)b_jonas: would you recommend any changes to SCOOP, such as adding a catch all method or the equivalent of Python's __call__() ?
23:10:01 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152239&oldid=152236 * Lykaina * (+137) /* Add Two Numbers */ Used the program to explain how command chars make up words.
23:12:02 <esolangs> [[]] M https://esolangs.org/w/index.php?diff=152240&oldid=151971 * Buckets * (+42)
23:13:30 <AnthonyKozar> wib_jonas: Re: your second question, yes, there's always just the members of one object in scope and an object definition such as :xy□ works as you described.
23:15:38 <esolangs> [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152241&oldid=152214 * Buckets * (+58)
23:16:39 <esolangs> [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152242&oldid=152241 * Buckets * (+0)
23:17:04 <esolangs> [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152243&oldid=152242 * Buckets * (+21)
23:18:19 <b_jonas> AnthonyKozar: I don't know right now. I'm still not sure I understand how powerful or not this is. I think it has enough power to express anything that you could in an ordinary lisp-like language with lambda and set!. It's more the description that I found a bit unclear.
23:19:10 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152244&oldid=152239 * Lykaina * (+394) /* Syntax */ Clarified some things.
23:19:40 <b_jonas> I think you should have a section that tells about just the syntax, with perhaps a BNF thing to show what items can go into what definitions; a section explaining what types of objects exist (null, number, string, italic-f methods, callback methods, small square objects);
23:20:31 <AnthonyKozar> Also, as you mentioned, objects cannot directly access values from their parent objects. The parent object can create a reference to itself in its offfspring so that they can use member access notation to access the parent.  (And @ can always be used to access the top-level object that provides the scope for the main program code).
23:20:42 <b_jonas> and what data those objects store exactly. And I think it might be more readable if you talked about the scoping rules before you described what statements there are and maybe even the syntax.
23:21:52 <AnthonyKozar> OK. Thank you! That is all helpful feedback. :)
23:22:17 <esolangs> [[Compass]] https://esolangs.org/w/index.php?diff=152245&oldid=152235 * Ractangle * (+28) /* Language syntax */
23:22:36 <AnthonyKozar> I have to go for dinner now but I'll try to reply to any further questions or comments later.  Thanks again.
23:24:10 <b_jonas> I was also wondering if it would be worth to *remove* the copy object and extend object primitives, because the languae is still powerful without them, the nested definitions let you write a constructor method to create an object and fill its fixed members (as if from a prototype), and then after you call that constructor you can modify its variable members (the ones that differ between instances). But
23:24:15 <esolangs> [[Special:Log/newusers]] create * Diggy Gorgonzola * New user account
23:24:16 <b_jonas> I think that might change this to a very different language than you're imagining, and might turn it less object-oriented and more similar to just a bland language with closures and mutable upvalues.
23:25:53 <b_jonas> Also do I understand it right that a telephone method is like a bound method call from python, which stores not only code but also the self that it will execute with, and when you invoke such a telephone method it'll ignore the invocant entirely?
23:27:10 -!- AnthonyKozar has quit (Ping timeout: 240 seconds).
23:28:46 <b_jonas> so if you write ←x▷ymz then this looks up the member m in object y, then if that y.m is an f-with-tail method then it will run the code in that member with $ being y, but if y.m is a telephone method then it'll invoke m with $ set to whatever invocant was saved in m when the colon-definition for that m ran, so y is only used to look up m and not afterwards, right?
23:30:03 <b_jonas> Does the top level program have the same syntax as the body of a colon-definition for the program object, except it probably makes no sense to put plain single-letter initializers in it because there's no parent to copy values from?
23:31:24 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152246&oldid=152244 * Lykaina * (+159) /* Jumping */ expanded section.
23:31:59 <b_jonas> I'd also like some clarification on when the methods for numbers like ×÷⌊◯ return a precise rational versus an imprecise float, but this is a nitpick.
23:35:43 <b_jonas> I think you thought both the syntax and semantics through carefully, it's just a lot to digest as a reader.
23:52:10 <esolangs> [[Afth]] https://esolangs.org/w/index.php?diff=152247&oldid=152246 * Lykaina * (+54) /* Line-scope Variables */
23:56:02 <esolangs> [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=152248&oldid=152068 * Hotcrystal0 * (+60)
23:56:33 <esolangs> [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=152249&oldid=152248 * Hotcrystal0 * (+10)
←2025-02-18 2025-02-19 2025-02-20→ ↑2025 ↑all