00:15:31 [[Empty]] https://esolangs.org/w/index.php?diff=144178&oldid=144107 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+9) /* Math */ 00:15:57 [[Empty]] https://esolangs.org/w/index.php?diff=144179&oldid=144178 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+35) /* Math */ 00:16:20 [[Empty]] https://esolangs.org/w/index.php?diff=144180&oldid=144179 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+1) /* Math */ 00:17:48 [[Empty]] https://esolangs.org/w/index.php?diff=144181&oldid=144180 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+0) /* Errors */ 00:21:44 -!- ais523 has quit (Ping timeout: 255 seconds). 00:26:16 -!- ais523 has joined. 00:42:29 -!- Sgeo has quit (Read error: Connection reset by peer). 00:53:05 -!- X-Scale has quit (Ping timeout: 256 seconds). 01:00:52 [[User talk:None1]] https://esolangs.org/w/index.php?diff=144182&oldid=143446 * None1 * (+7) /* Timezone */ UTC+7 (CXT) 01:22:10 -!- wWwwW has joined. 01:26:14 salpynx 01:26:22 wanna ask more questions? 01:36:46 it didnt ping you. hmmm. salpynx 01:36:49 wtf 01:36:53 oh well 01:42:53 -!- wWwwW has quit (Quit: Client closed). 01:52:26 -!- X-Scale has joined. 01:56:53 [[MinusGreater]] https://esolangs.org/w/index.php?diff=144183&oldid=143140 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+22) /* truth-machine */ 02:00:52 [[IfSetThenSet]] M https://esolangs.org/w/index.php?diff=144184&oldid=144157 * ZCX islptng * (+2) "interpeter" "intresting" "inclufding" "comunity" "separateed" "certian" 02:19:34 [[Deadfish]] https://esolangs.org/w/index.php?diff=144185&oldid=137860 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+38) /* Example programs */ 02:26:10 -!- X-Scale has quit (Quit: Client closed). 02:28:19 -!- X-Scale has joined. 02:31:42 [[Alivehyperfish]] N https://esolangs.org/w/index.php?oldid=144186 * ZCX islptng * (+1348) Created page with "This is a deadfish extension by [[User:ZCX islptng]]. ==Commands== This esolang has an infinite dimension memory array, and a cell stores 0~630 (mod 631 arithmetic).
{| class=wikitable !Command in Deadfish !Description |- |i |Increment cur 02:40:18 [[Action symbol]] https://esolangs.org/w/index.php?diff=144187&oldid=144151 * Yayimhere * (+94) /* how it works */ 02:43:03 [[Alivehyperfish]] M https://esolangs.org/w/index.php?diff=144188&oldid=144186 * ZCX islptng * (+468) Hello World 02:47:24 [[Alivehyperfish]] M https://esolangs.org/w/index.php?diff=144189&oldid=144188 * ZCX islptng * (+32) 03:26:10 [[Talk:10D Deadfish 7 with Time Travel and a Multiverse]] https://esolangs.org/w/index.php?diff=144190&oldid=134170 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+7) 03:27:09 -!- Sgeo has joined. 03:57:54 [[Talk:10D Deadfish 7 with Time Travel and a Multiverse]] https://esolangs.org/w/index.php?diff=144191&oldid=144190 * Yayimhere * (+114) /* Command discussion */ 04:29:50 -!- X-Scale has quit (Quit: Client closed). 04:41:50 [[SETANDCOUNT]] https://esolangs.org/w/index.php?diff=144192&oldid=144171 * Cycwin * (+90) 04:44:22 -!- simcop2387 has quit (Read error: Connection reset by peer). 04:44:31 -!- perlbot has quit (Read error: Connection reset by peer). 04:45:30 -!- perlbot has joined. 04:46:00 -!- simcop2387 has joined. 05:26:26 -!- wWwwW has joined. 05:30:05 -!- Sgeo has quit (Read error: Connection reset by peer). 05:36:04 -!- craigo has quit (Quit: Leaving). 06:14:06 -!- craigo has joined. 06:56:18 [[Translated ORK/None1 again9]] N https://esolangs.org/w/index.php?oldid=144193 * None1 * (+2164) Created page with "1. Take that Translated_ORK/PSTF_Again19|..." 06:58:21 [[Translated ORK/None1 again9]] M https://esolangs.org/w/index.php?diff=144194&oldid=144193 * None1 * (-32) 06:59:13 [[Translated ORK/None1 again9]] M https://esolangs.org/w/index.php?diff=144195&oldid=144194 * None1 * (+1) 07:04:38 -!- craigo has quit (Quit: Leaving). 07:10:52 [[User talk:None1]] https://esolangs.org/w/index.php?diff=144196&oldid=144182 * None1 * (-1) /* Timezone */ UTC+12 is NOT equal to UTC-12 07:14:20 [[Translated ORK/None1 again9]] https://esolangs.org/w/index.php?diff=144197&oldid=144195 * None1 * (+61) 07:27:47 [[Translated ZhongWen/None1 again3]] N https://esolangs.org/w/index.php?oldid=144198 * None1 * (+1767) Created page with "Make [[Translated ZhongWen/Mihai Again8]] crazier! 1. Take that program
    1513               ;         [[Deadfish/Implementations (M-Z)]]  https://esolangs.org/w/index.php?diff=144199&oldid=143059 * None1 * (+24) /* Python */  correct interpreter
08:26:06  [[Pete mort]] N https://esolangs.org/w/index.php?oldid=144200 * None1 * (+1157) Created page with "'''Pete mort''' (Romanian for Dead fish) is an esolang invented by [[User:None1]]. It is a deadfish derivative.  ==Commands== {| class="wikitable" |- ! Command !! Corresponding Romanian word !! Meaning |- | c || cretere (increase) || Increment the accumulator |- | s || 
08:27:08  [[Peste mort]] N https://esolangs.org/w/index.php?oldid=144201 * None1 * (+25) Redirected page to [[Pete mort]]
08:29:11  [[Joke language list]]  https://esolangs.org/w/index.php?diff=144202&oldid=144084 * None1 * (+57) /* General languages */
08:29:49  [[User:None1]] M https://esolangs.org/w/index.php?diff=144203&oldid=143686 * None1 * (+57) /* My Esolangs */
08:30:08  [[Pete mort]]  https://esolangs.org/w/index.php?diff=144204&oldid=144200 * None1 * (+34) 
08:30:45  [[Pete mort]] M https://esolangs.org/w/index.php?diff=144205&oldid=144204 * None1 * (+4) 
08:31:27  [[Deadfish]]  https://esolangs.org/w/index.php?diff=144206&oldid=144185 * None1 * (+117) /* Commands */
08:31:40  [[Deadfish]] M https://esolangs.org/w/index.php?diff=144207&oldid=144206 * None1 * (+18) /* Commands */
08:35:22 -!- ais523 has quit (Quit: quit).
08:36:55  [[Alivehyperfish]]  https://esolangs.org/w/index.php?diff=144208&oldid=144189 * ZCX islptng * (+1638) Implement and categories and TC proof
08:37:26  [[Alivehyperfish]] M https://esolangs.org/w/index.php?diff=144209&oldid=144208 * ZCX islptng * (+0) ouch i wrote the wrong category
08:58:44  [[Snakel]]  https://esolangs.org/w/index.php?diff=144210&oldid=144173 * Ractangle * (+136) /* A+B Problem */
08:58:58  [[Snakel]]  https://esolangs.org/w/index.php?diff=144211&oldid=144210 * Ractangle * (-12) /* A+B Problem */
09:00:00  [[Snakel]]  https://esolangs.org/w/index.php?diff=144212&oldid=144211 * Ractangle * (-14) /* Truth-machine */
09:01:58  [[Hello world program in esoteric languages (N-S)]]  https://esolangs.org/w/index.php?diff=144213&oldid=136161 * Ractangle * (-39) /* SPIKE */
09:03:18  [[Hello world program in esoteric languages (N-S)]]  https://esolangs.org/w/index.php?diff=144214&oldid=144213 * Ractangle * (+221) /* Smurf */
09:04:18  [[Hello world program in esoteric languages (N-S)]]  https://esolangs.org/w/index.php?diff=144215&oldid=144214 * Ractangle * (-1) 
09:05:10  [[Hello world program in esoteric languages (nonalphabetic and A)]]  https://esolangs.org/w/index.php?diff=144216&oldid=141823 * Ractangle * (+27) /* /// */
09:36:05  [[Special:Log/upload]] upload  * Ttulka *  uploaded "[[File:Brainwhirl.png]]"
10:28:19  [[Brainwhirl]] N https://esolangs.org/w/index.php?oldid=144218 * Ttulka * (+1629) init Brainwhirl
10:30:16  [[Brainwhirl]] M https://esolangs.org/w/index.php?diff=144219&oldid=144218 * Ttulka * (+0) /* Brainwhirl to BF transpiler in JavaScript */ code format
10:49:22  [[User:Ttulka]]  https://esolangs.org/w/index.php?diff=144220&oldid=137287 * Ttulka * (+171) add Brainwhirl
10:51:20  [[Language list]]  https://esolangs.org/w/index.php?diff=144221&oldid=144135 * Ttulka * (+17) /* B */ add Brainwhirl
10:54:18  [[Hello world program in esoteric languages (B-C)]]  https://esolangs.org/w/index.php?diff=144222&oldid=137146 * Ttulka * (+93) add Brainwhirl
10:56:30 -!- amby has joined.
11:53:30  [[Brainwhirl]] M https://esolangs.org/w/index.php?diff=144223&oldid=144219 * None1 * (+5) /* Brainwhirl to BF transpiler in JavaScript */  Use pre for codebox without formatting
11:55:41  [[Hello world program in esoteric languages (B-C)]]  https://esolangs.org/w/index.php?diff=144224&oldid=144222 * Ractangle * (+15) /* brainfuck */
12:22:24 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:30:04 -!- __monty__ has joined.
12:31:32  [[Special:Log/newusers]] create  * PerkyElixir22 *  New user account
13:12:07  [[Brainwhirl]] M https://esolangs.org/w/index.php?diff=144225&oldid=144223 * Ttulka * (+35) /* Brainwhirl to BF transpiler in JavaScript */ add Category bf derivates
13:17:26 -!- tromp has joined.
13:36:09 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:38:05 -!- wWwwW has quit (Ping timeout: 256 seconds).
13:51:38 -!- amby has quit (Remote host closed the connection).
13:59:53 -!- tromp has joined.
14:02:57 -!- Sgeo has joined.
14:09:06 -!- wWwwW has joined.
14:10:32 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:10:35  salpnyx?
14:10:49  *salpynx
14:34:22 -!- CanisCorvus has joined.
15:00:41 -!- tromp has joined.
15:05:55 -!- wWwwW has quit (Ping timeout: 256 seconds).
15:16:03  [[Alivehyperfish/Constants]] N https://esolangs.org/w/index.php?oldid=144226 * ZCX islptng * (+15698) Created page with "Those are the shortest form to generate a constant, inspired by [[Deadfish/Constants]]. 
     0     1             idd     2           iddir     3            dsdd     4              id     5           iddid     6             dsd     7           
15:29:10  [[Alivehyperfish]] M https://esolangs.org/w/index.php?diff=144227&oldid=144209 * ZCX islptng * (+72) Better interpreter
15:30:18  . o O ( If only there was a way to see which users are currently on the channel. )
15:40:40  can you have generics without monomorphization?
15:42:32  Java does that
16:05:03 -!- wWwwW has joined.
16:05:54  can you have generics without monomorphization when compiling to machine code?
16:33:28 -!- molson has joined.
16:36:39 -!- molson__ has quit (Ping timeout: 252 seconds).
16:54:16  Haskell does that
16:55:17 -!- wWwwW has quit (Ping timeout: 256 seconds).
17:01:05 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:02:22  [[User:Ractangle/Sandbox]]  https://esolangs.org/w/index.php?diff=144228&oldid=144052 * Ractangle * (+59) /* An actual APL-like language */
17:03:08  [[Special:Log/move]] move  * Ractangle *  moved [[AREA]] to [[JAGL]]
17:03:41  [[JAGL]]  https://esolangs.org/w/index.php?diff=144231&oldid=144229 * Ractangle * (-176) 
17:07:54 -!- tromp has joined.
17:32:00  [[JAGL]]  https://esolangs.org/w/index.php?diff=144232&oldid=144231 * Ractangle * (+40) /* Syntax */
17:32:24  [[Snakel]]  https://esolangs.org/w/index.php?diff=144233&oldid=144212 * Ractangle * (-1) /* Examples */
17:32:52  [[Snakel]]  https://esolangs.org/w/index.php?diff=144234&oldid=144233 * Ractangle * (-3) 
17:50:11  Soni: Consider the void*
17:50:32  korvo: void* isn't typechecked
17:50:54  The only thing that the machine doesn't know about a generic object is its extent: its storage, its capabilities, its internal invariants. But the machine has no problem representing a *pointer* to a generic object.
17:51:14  sure
17:51:46  (Also Java can be compiled to machine code; GCC used to have a Java frontend! Careful not to confuse compilation strategies and languages.)
17:52:12  but if you pass a function taking void* and a void* to some other function, the machine can't tell that you didn't pass e.g. a string and a function that expects an integer, because it's all void*
17:52:34  ah yeah
17:53:01  Sure. The machine doesn't know about any types defined by programmers; the machine existed before those definitions.
17:53:57  can you have a compiler without code output?
17:54:41  Depends on the definition of "compiler" but probably no. A compiler is a function from one language to another, satisfying some conditions. (People disagree on those conditions.)
17:55:03  alright
17:55:24  is an assembler a compiler?
17:56:01  Soni: One idea I've recently come to love: a polymorphic function isn't a single function. It's a *family* of functions, one for each possible tuple of types. For example, there's not a single identity function, but identity for ints, identity for nats, etc.
17:56:40  korvo: that's the traditional way of doing it, yeah
17:56:43  I think that assemblers are compilers. Some folks would argue that an assembler is an input tool only, because we're still writing machine code; it's just easier to write than raw hex.
17:57:45  it's also the worst way of doing it (see: rust)
17:57:50  (also see: C++)
17:58:05  But modern assemblers, starting with e.g. nasm, have fairly powerful macro languages. At least in esolangs-world, macro languages are distinct from their underlying expression languages; e.g. bfmacro is distinct from Brainfuck.
17:58:36  ... well lisp is a macro language
17:59:18  Common Lisp and Scheme are macro languages, at least. Kernel is a Lisp with f-exprs rather than macros.
18:00:05  The languages we've talked about so far (Java, Rust, C++) are actually defined in terms of *abstract machines*. They aren't about writing machine code, nor about functions.
18:00:38  what about elixir?
18:00:44  Haskell is defined in terms of functions on a certain funky domain (omega-DCPOs? something CPO-shaped); lots of folks think of it as functions on sets, which is wrong but understandable.
18:01:12  Elixir and Gleam are defined over an abstract machine called BEAM, IIUC. Same abstract machine as Erlang.
18:01:26  (okay, we have no idea what a CPO is)
18:01:37  yes, but elixir is lisp-like
18:02:05  (Complete Partial Order. A system where each set supports a refinement operation that represents computation, possibly never halting.)
18:02:14  Like, in Haskell, this is a function: f x = f x
18:02:35  In C++ or Rust, that's not a function. It's a definable procedure which will loop forever when executed, but it's not a function; it's not a mapping from inputs to outputs.
18:03:16  [[User:Bogdan192848]] N https://esolangs.org/w/index.php?oldid=144235 * Bogdan192848 * (+214) Created page with "='''''Hello!'''''= ''I am Ionita Bogdan, an guy who likes making stupid (or hard) languages and aslo works at the SCP (just kidding).''  ''My favourite phrase is "Did you know that I exist?", and i dont know why.''"
18:04:01  what does that mean?
18:05:06  No idea. I'm still puzzling over how Elixir is like Lisp.
18:05:52  Like, a macro system is usually a detachable part of a language; we can have the underlying language without macros. The word "macro" comes from Greek and means "big"; a macro is a big expression.
18:06:39  the entire syntax is macros
18:07:29  https://hexdocs.pm/elixir/main/macros.html
18:08:46  That's not the entire syntax. At least numeric literals appear to be parsed directly without any expansion or substitution.
18:09:23  ah, fair enough
18:10:19  elixir is pretty weird compared to most of the popular languages out there
18:10:33  It's just Ruby on BEAM, isn't it?
18:11:11  I mean, I didn't really pay too much attention to it when it was announced, but IIRC it was originally just a way for folks familiar with Ruby to write BEAM apps without learning Erlang's older, Prolog-inspired syntax.
18:11:19  ...Maybe Erlang is Prolog on BEAM?
18:12:14  we don't know ruby
18:12:38  so, no idea honestly
18:13:37  (but writing elixir is hard coming from rust and stuff)
18:14:09 -!- wWwwW has joined.
18:14:20  Soni: Where are y'all headed with this, BTW? Is this about understanding the tradeoffs we make when compiling to machine code, or something else?
18:15:11  korvo: yes, and also we want to implement a type checker and we don't really know how to do it
18:16:55  Most type checkers start out as functions from ASTs to types; each AST is assigned a type. You'll probably need a context; the function takes a pair of AST and context, and assigns the AST a type in that context.
18:17:15  A type context is usually just a mapping from names to types.
18:17:48  Soni: That said, I bet that y'all are also looking for a type system. Once the type system is chosen, the type checker is straightforward to implement.
18:18:18  idk what to do:[ i want to esolang but i have no ideas
18:19:30  korvo: you already lost us ^^' (shit this is gonna be hard isn't it ;-;)
18:19:42  wWwwW: I know the pain of wanting to make art but having no ideas. When I'm at the piano and don't feel like playing anything in particular, I'll play scales, do stretches, or work on difficult small techniques ("bursts") that would be distracting to work on when practicing a complete song.
18:20:04  ok
18:20:07  ill mess around ig
18:20:22  wWwwW: Part of why we've pushed you to learn to code is that it will improve your artistic abilities; your artlangs will make more sense if you know more about how computers work.
18:20:24  just go on stackoverflow until i see something interesting lol
18:20:38 -!- impomatic has joined.
18:21:42  Soni: A type system is a way of viewing a language. Each expression in the language is given a type. It's not hard, but it's open-ended; what is the point of adding types?
18:22:30  korvo: the point of adding types is to have local reasoning and prevent bugs
18:23:31  Soni: Okay, that's *soundness*; some expressions *don't* have types, and an expression has some sort of safety guarantee as long as it has a type.
18:24:19  Soundness has to be traded off with completeness (if an expression is safe, then it has a type) and decidability (a type checker exists and halts on all inputs).
18:24:54  If your language isn't TC (Turing-complete) then a sound, complete, decidable type checker is often possible. This is what I prefer to do.
18:26:05  is the type system part of the language?
18:26:55  Most practical compilers will go for a sound *incomplete* system that always halts but sometimes rejects valid expressions. A great example is GHC, which sometimes rejects valid Haskell programs because it couldn't prove that they are well-typed.
18:27:25  i think i have one thng i found but idk how to esolang it: https://stackoverflow.com/questions/tagged/arrays
18:27:32  ah *nod*
18:27:37  Meh. Some type systems are part of the language, in the sense that there are intended semantics which reflect the types at runtime. Think Java's `Object` or Python's `type`. These aren't what we're talking about, though.
18:30:47  wWwwW: Arrays are a standard part of many languages and machines. I'm concerned that you're rushing through the *appearance* of computer science without actually focusing on any topics.
18:31:05  can you have a compiler without code output?” => depends on your definitions, but for a JIT compiler that generates code then immediately executes it without saving it anywhere you may count it as no code *output*. OTCC is the classic example.
18:31:07  idk what to focuz on
18:31:54  wWwwW: Did you write down in your notes any of the popular languages that I recommended you learn? It's been a few weeks; if you had picked one of those langauges and started working through a tutorial, then you could start building very simple interpreters for languages like 1BRC or DIVSPL.
18:32:26  i didnt rlly have time cuz other stuff
18:32:27  “Like, a macro system is usually a detachable part of a language” => sure, but sometimes the macro system is all of the language, there's nothing but macro expansion, and macro expansion is powerful enough that it counts a programming language. m4 and https://esolangs.org/wiki/SIMPLE_(preprocessor) are like that.
18:32:37  but after a bakn account system in python ill go on
18:32:42  to learn mini kanren
18:33:22  I guess that depends on what you call a "macro"
18:33:50  wWwwW: Perhaps just focusing on Python would be good. After a year or two of that, you can branch out.
18:34:13  youve told me that minkanren is simple
18:34:14  also
18:34:29  i basically have learnt every sper no specific part of python
18:34:37  ill switch for some time then go back
18:34:42  But, like, right now you appear to have time to dump random scribbles on the wiki. So when you say that you don't have time to think about those scribbles, or implement them, it makes me care less about your languages overall.
18:34:58  kkk
18:35:10  yea thats what i work on
18:35:16  im also just stupid and foget it
18:35:17  but
18:35:22  im going to work one minikanren
18:35:56  […] Once the type system is chosen, the type checker is straightforward to implement.” => I'm not convinced about that. some of Haskell's type system expansions, especially higher order types, does make it rather complicated to typecheck. and if you count rust's borrow checker as a type system then that's hard to implement too. 
18:36:07  wWwwW: I bet you have lots to learn about Python. Here's one of my favorite examples: what do the snippets `x = not y` and `x == not y` do? What's the difference?
18:36:25  the diffrenece is
18:36:37  the first one sats x to not(y)
18:36:50  the second on is a conditinal equals to? perhaps
18:37:02  b_jonas: That's a problem of syntax, mostly. Haskell chose letrecs and pointed functions, which are a horrible combination. I agree that general recursion *necessarily* is a tricky thing to get right.
18:37:24  aaaah
18:37:43  I guess you could say that it's the type *inference* that's hard, typechecking if you know the types isn't
18:37:47  But also it's rare that a language couldn't just be shoved into Prolog or miniKanren and have a typing relation directly expressed as a unification over terms. There's even a nice framework, AAM Redex, implemented in Racket.
18:37:50  for haskell extensions that is
18:38:13  i cant do minikanren cuz idk what the ебать is
18:38:34  *what the ебать scheme is
18:38:45  wWwwW: Next time, *try it and see*. This is so important that it's got an abbreviation, TIAS. The second example is a *syntax error* because of a quirk in Python's grammar; I would only expect folks to know this if they've tried implementing Python.
18:39:12  i have infact not tried to implement python
18:39:14  and i will
18:39:18  rpoporally not
18:40:32  ok
18:41:00  what the actual *hell*, is _.0
18:41:02  korvo: what the heck... is that because the syntax tries to parse “is not”?
18:41:55  I don't think I'd have noticed that even if I tried to implement python, because I wouldn't read the syntax rules that closely and it probably wouldn't occurr to me to test this specifically
18:42:01  that's a nice example
18:42:08  КАКОГО ЧЕРТА
18:42:30  b_jonas: It's not clear why, but the precedence levels are switched when it comes to compound comparisons like `x == y == z`, and this excludes the tokens `not` and `in`. Excluding `in` doesn't matter.
18:42:48  hmm no, it's not because of “is not” because “x + not y” is also a syntax error
18:44:23  shachaf: I replayed Bee Magic a second time... Flipping the switch with flowers is much harder than I thought... I didn't realize how flower and cancel interact. (I did manage it.)
18:44:28  wWwwW: _.0 looks like an unbound logic variable from Bird's version of miniKanren in Scheme. In so-called "logic programming" languages, a variable might not have a value yet when it's printed; declaring a variable is not the same as assigning it.
18:44:43  yes i know
18:44:45  There are different macros. C has macros in the preprocessor which can be working separately from the rest of the program, although TeX and METAFONT macros are working differently, that they must be working together with the other stuff (and METAFONT macros can contain encapsulated values as well as tokens).
18:45:06  There are many other variants too.
18:45:13  (and at that point you don't know about the second animal)
18:45:41  korvo: no, turns out it's just a precedence thing, the syntax doesn't allow the low precedence "not" operator in a part of the expression after a high precedence operator. that works fine for binary operators, but not for unary
18:45:49 -!- ais523 has joined.
18:45:51  i see that i will бля когда-либо understand programming
18:46:54  "is not" and "not in" are implemented in a sane way, they're not relevant for why this one is invalid
18:47:30  b_jonas: Yeah, I don't know why the unary operators are like that. They should be unified. I think GvR really liked the `not in` and `is not` sorts of constructions, even though we see here that they aren't generative or compositional.
18:48:05  korvo: "unified" how? it makes sense to have "not" as low precedence
18:48:25  wWwwW: Again, at your age, I was learning Java out of a book. I was so excited to use first AWT and then Swing to set up a basic GUI with buttons that I could click.
18:48:49  thats more thna me
18:48:50  Python comes with Tkinter precisely to enable this sort of experience. Raspberry Pis were calibrated to run Python with Tkinter smoothly.
18:49:17  ive never done UI cuz moi ist чертовски глупо
18:49:49  b_jonas: I mean that `not` and `not in` and `is not` are distinct, that's all. In Monte we scrapped almost all of this, and also scrapped chained comparisons, as too weird for users to learn.
18:49:54  and the way the grammar is written out as bnf, I think it would actually be quite complicated to support "not" on the right hand side of binary operators, because the non-terminals that appear in the syntax for the right hand side expression of binary operators are ones that also appear on the left hand side (for other operators because of associativity), and you can't allow "not" in the left hand side 
18:50:00  expression
18:50:01  god i got an idea
18:50:04  an weird idea
18:50:11  an lly rlly weird idea
18:50:14  but maybe its good
18:50:15  ok
18:51:28   Sure. The machine doesn't know about any types defined by programmers; the machine existed before those definitions. ← plenty of processors have separate registers for ints and floats, and some have separate registers for code pointers and data pointers
18:51:47  so the idea is inspired by communism where theres two classes with sub classes. the higher class can be applied ot worker operators like operator but they are also data. workers are data. they are all evalualted equally
18:53:37  ais523: right, though those aren't user-defined types, they're predefined by the processor
18:53:53  ais523: Sure. But, like, the machine doesn't know about the native type theories of any particular language; the machine is a first-order symbolic manipulator, while the native type theory is usually a fairly rich dependently-typed theory.
18:54:24  Python `int` in the syntax and native type theory isn't machine ints, which are first-order bit layouts with set-theoretic operators.
18:55:23  I recognize that this is a very pedantic statement, but it's important that Soni sees the difference at some point so that they don't go mad from frustration with the machine's limitations.
18:55:30  although… 
18:55:53  I think higher-level hardware existed in the past – things like Lisp machines
18:55:56  but it didn't really catch on
18:56:36  what is a bit?
18:56:55  like a single digit in a binary number i think
18:56:59  normally atleast
18:57:23  but is it active low or active high
18:57:47  it can be both
18:57:49  its just a word
18:57:50  for
18:57:58  a single binary digit
18:58:20  I think when people use bits, they are normally using them as a measure of the amount of storage available: if you have four bits, you can store as much information as you could using four registers each of which can hold either 0 or 1, but that doesn't necessarily mean the storage is actually implemented like that
18:58:43  yea
18:58:44  wWwwW: Yeah, folks had that idea around the same time as the bad anti-Communism memes, and so there's an idea of "first-class" and "second-class" parts of a language: https://en.wikipedia.org/wiki/First-class_citizen
18:59:04  kk.
18:59:23  normal programming algnuages are then technically anarchist lol?
18:59:24  since
18:59:34  classes act upon each other very uniquely
18:59:38  For example, my recent change to Cammy makes nats first-class. Previously, they could only be referred to by a tower of succ, like (comp zero succ succ succ), but this week I also added alternative syntax: n3.
18:59:40  not following strict rules
18:59:46  incidentally, my suspicion is that computers are mostly implemented by storing the zeroed digits of a binary number using low voltages, and the nonzero digits using high voltages, even though there isn't any electronic or mathematical reason to do it like that
18:59:56  yea
18:59:58  oh well
19:00:02  there *is*
19:00:07  its cuz transistors
19:00:09  i think
19:00:36  with the sorts of transistors that computers are normally made from, the easiest logical operation to implement is NAND
19:00:46  its also
19:00:49  well, the easiest is NOT but you can't build a computer out of that
19:00:49  universal
19:01:03  COINCEDENCE??? lol
19:01:15  yes, NAND is the easiest universal operator to use
19:01:28  then XNOR comes i thinl
19:01:35  although. I think modern computers mostly use components that are symmetrical between high and low voltage, so NOR would be just as easy
19:01:52  wonder what an active-low computer would look like
19:01:58  ais523: no
19:02:23  korvo: how do i make a class of data and operators
19:02:24  like
19:02:30  how do i make it a generalized
19:02:33  for the data
19:02:35  (traditionally NOR is harder to implement because in traditional electronics, the low-voltage rail can sink more current than the high-voltage rail can source)
19:02:35  Yep, hardware folks will talk about NAND Flash and also NOR Flash. They have different behaviors IIRC when it comes to erasing and writing because of the different ways that they use the same voltage.
19:02:38  that its an operator
19:03:01  korvo: my understanding is that these are just traditional names and there's no electronic reason why you couldn't invert all the voltages
19:03:05  ais523: iiuc modern integrated circuits are actually using semiconductor components that are *not* symmetrical between low and high voltage, because of weird semiconductor physics, but of course you can represent a 0 bit as either low or high as your choice, independently in many places of a chip in whatever is convenient
19:03:10  let me find the reference to this
19:03:11  wWwwW: Look at an example. One great example is the integers, with addition and multiplication as operators.
19:03:19  true
19:04:05  also before that, cathode ray tubes also weren't symmetric between positive and negative voltage, though I think relay logic is
19:04:27  ais523: Made me look it up. We're both a little wrong. NAND and NOR flash are *analogies* based on the shapes of the original transistor circuits, and it's not about the orientation of the voltage.
19:05:24  korvo: right, that's consistent with what I remember
19:05:25  каждый гребаный idea is taken tbh
19:05:30  for prolangs
19:05:38  Okay. Well, I'm a little wrong, at least.
19:06:27  b_jonas: relay logic is weird because there are two symmetries to think about – energised versus non-energised relays, and the polarities of the voltages used to energise the relays
19:06:44  e.g. a relay will be off if you connect both inputs to the positive rail because that doesn't provide any current flow
19:06:45  ais523: https://www.righto.com/2024/07/pentium-standard-cells.html “NMOS and PMOS transistors are not entirely symmetrical, however, due to the underlying semiconductor physics.”
19:07:47  “In operation, an NMOS transistor turns on when the gate is high, while a PMOS transistor turns on when the gate is low.”
19:08:53  wawawawawait
19:08:55  maybe
19:09:00  for my commie eoslang
19:09:04  the higher class
19:09:17  its like
19:09:20  lambda function
19:09:29  but you also treat dem as numbers
19:09:37 -!- wWwwW has quit (Quit: Client closed).
19:10:00  Oh no, the USSR got them~
19:10:50  b_jonas: that's one of those "lies-to-children" (i.e. a simplified version of reality that can be used to approximate how the real thing works), although I think digital electronics is normally designed in such a way that it is actually true while the system is running
19:11:34  ais523: that's possible, but IIUC you need to know the difference to design efficient ICs
19:12:18  don't forget CMOS
19:12:19  It's actually true for CMOS diodes, because the photoelectric effect runs both ways: shining a bright light on an LED can increase its effective current. But it's usually not a problem for anything packaged in a die.
19:12:20  but sure, it's useful to know that the semiconductor has both kinds of transistors
19:12:52  Soni: have you read what I linked? it says “Modern processors are built from CMOS circuitry, which uses two types of transistors: NMOS and PMOS.”
19:13:33  korvo: what do you mean by "CMOS diode"? CMOS is a way to arrange MOS transistors into a circuit, whereas a diode is a different component than a transistor
19:13:42  (Solar panels are just large LEDs wired incorrectly~)
19:14:26  ais523: I mean anything involving P- and N-doped silicon crystal placed edge-to-edge, I guess. That'd be transistors and diodes and maybe some other stuff?
19:14:34 * korvo slept through ECE undergrad
19:15:03  oh, just electronics in general, fair enough
19:15:27  (it's just "electrics" if you aren't using doped semiconductors)
19:16:32  transistors and diodes are the only regularly used electronic components, I think (except for the semiconductor-based insulators used to make silicon chips easier to fabricate) – thyristors exist and have a name but aren't commonly used, and the other possibilities aren't even named I think
19:17:15  ais523: huh, that's not quite how I use those words
19:17:29  b_jonas: it's our understanding that the symmetry (or lack thereof) doesn't matter in CMOS and that's why CMOS works so well
19:17:42  traditionally integrated circuits used silicon oxide when they needed an insulator, but more recently people realised you could just alternate layers of n-doped and p-doped silicon to build what is effectively an insulator, meaning that the chip fabrication machines didn't need to be able to create as many sorts of substances in the chip
19:17:52  It's pretty close to how writers use it; "electric" means Maxwell could explain it, "electronic" means he'd need Einstein's help.
19:18:30  so there are three commonly used electronic components nowadays: diodes, transistors, and electronic insulators
19:18:41  the latter doesn't really make sense outside integrated circuits, though
19:18:41  I think electronics is a subset of electrics that's defined by its purpose, namely electronics is when you're using electric components for control. so an electric motor or heating coil isn't electronics, but the part that shuts the heating coil off when the hairdryer overheats is electronics. whether it's using doped semicondoctor or relays or something else doesn't matter, the purpose does.
19:19:10  I'm fairly sure that it isn't officially "electronics" if you're using relays, or thermionic valves
19:19:29  rather than transistors
19:19:41  those are electromechanics and thermionics we think?
19:19:43  korvo: huh... so you agree with ais on those words
19:19:55  I think it's about whether you need an electron to merely be an aggressive little unit of charge, or also to be something wavelike that can lose its identity within a metal/etc.
19:20:41 * ais523 wonders if thermionic valves are still used for anything
19:20:50  there might be another name for valves we're misremembering
19:20:50  b_jonas: Yeah, more or less. They went over this in undergrad because they wanted to explain how computer engineering isn't the same as electrical work that an electrician might do.
19:21:25  [[Snakel/Errors]]  https://esolangs.org/w/index.php?diff=144236&oldid=144169 * Ractangle * (+415) /* Using a wrong type in a variable */
19:21:25  for a long time, thermionics was kept alive by a) cathode-ray tube displays, b) audio enthusiasts who liked the specific way in which thermionic valve amplifiers distorted the input
19:21:30  ais523: just [uh what's the word for it?] headphone amplifiers
19:21:58  ais523: so if the computer is built from relays then you call it electromechanial and not electronic?
19:22:00  on the other hand, vacuum tubes are still widely used
19:22:06  They also went over tide clocks and analog computers, so that we would have a bit of historical context. So they definitely contrasted the early electric relays, telegrams, vacuum tubes, and wire/core memory with the electronic revolution: ICs, CMOS, etc.
19:22:12  (microwaves)
19:22:37  niche headphone amplifiers?
19:22:50  eh sure let's go with that
19:23:14  b_jonas: yes
19:23:20  Soni: Mainstream amps too. I have a vacuum tube in my keyboard's preamp. Korg put it there because they insist that no solid-state modeling can ever get as smooth, and...yeah, they might be right.
19:23:38  although "electromechanical" also refers to other ways to do calculation using electricity and moving parts, such as using motors to turn switches on and off
19:23:51  korvo: haha
19:24:01  (although I am not 100% sure I would be able to argue that that is *not* a relay)
19:24:19  I remember as a child when the pinball machines "went digital", mid-90s. They used to be full of relays, and only dedicated arcades owned them because of the expense; they were often leased.
19:25:02  ais523: https://en.wikipedia.org/wiki/Vacuum_tube#cite_note-6 claims that vacuum tubes can count as electronics
19:25:03  And then suddenly there's Star Wars with a digital screen and a projector and digital audio; maybe only the flippers were relays. It was a big shift.
19:25:56  korvo: a projector?! damn
19:27:01  ais523: right, the kind of electric typewriters or teletypes like the Selectric are called "electromechanical": they have an electric motor for power, but apart from that they're purely mechanical, if you'd connect the powering shaft to a water wheel instead of an electric motor then there'd be no electricity in it but it would work just as much
19:27:18  and that's how I'd usually use "electromechanical", I wouldn't call a relay computer "electromechanical"
19:28:08  Soni: It was a second digital display with a mirror. I'd call it a Pepper's ghost setup: https://en.wikipedia.org/wiki/Pepper%27s_ghost
19:29:29  Soni: FWIW this particular pinball machine is legendary enough to have its own article: https://en.wikipedia.org/wiki/Star_Wars_Episode_I_(pinball)
19:30:09  Ah, nailed it, it's indeed Pepper's ghost: https://en.wikipedia.org/wiki/Pinball_2000
19:31:07  ...Sorry, I'm going all wooden-escalators. Probably means I need food. Peace y'all.
19:34:04 -!- supercode has joined.
19:37:00  apparently a cavity magnetron is a type of vacuum tube, and those are still commonly used nowadays to generate microwaves (e.g. in microwave ovens)
19:37:44  [[XSVL]]  https://esolangs.org/w/index.php?diff=144237&oldid=89201 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+107) 
19:37:51  [[XSVL]]  https://esolangs.org/w/index.php?diff=144238&oldid=144237 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+4) /* Examples */
19:39:10  yeah, but you asked specifically for thermionic *valves* so I think that doesn't count
19:39:54  [[XSVL]]  https://esolangs.org/w/index.php?diff=144239&oldid=144238 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (-4) /* Examples */
19:40:21  I think we only use mechanical (relay or similar) and solid state (semiconductor) for that these days
19:41:02  plus you could count old style fuses which can be shut off only once
19:41:36  [[XSVL]]  https://esolangs.org/w/index.php?diff=144240&oldid=144239 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+72) /* Examples */
19:42:07  those are still in use just less often in favor of relays that can be reset
19:44:15  [[FlipFlop]]  https://esolangs.org/w/index.php?diff=144241&oldid=142528 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+100) /* Examples? */
19:47:21  ais523: I'm about to head out the door; don't rush with an answer. Is there already a page for 1 Billion Rows Challenge? It seems like the kind of thing you'd like, and it's on my list of languages that need a stub page.
19:49:16  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144242&oldid=142057 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+228) 
19:49:32  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144243&oldid=144242 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+11) 
19:49:49  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144244&oldid=144243 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+0) 
19:50:18  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144245&oldid=144244 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (-782) 
19:50:41  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144246&oldid=144245 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+783) 
19:51:44  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144247&oldid=144246 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+36) 
19:52:59  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144248&oldid=144247 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+232) 
19:54:09  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144249&oldid=144248 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+6) 
19:54:20  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144250&oldid=144249 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+1) 
19:58:17 -!- impomatic has quit (Quit: Client closed).
19:59:28  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144251&oldid=144250 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+388) /* the 90 instruction itself */ new section
20:00:21  shachaf: oh well, final silliness: https://int-e.eu/~bf3/tmp/bee-trapped.png
20:01:13  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144252&oldid=144251 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+314) /* the 90 instruction itself */
20:01:29  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144253&oldid=144252 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (-157) /* the 90 instruction itself */
20:02:12  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144254&oldid=144253 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+0) /* the 90 instruction itself */
20:02:23  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144255&oldid=144254 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+0) /* the 90 instruction itself */
20:07:47  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144256&oldid=144255 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+163) /* Reverse Hello, World! Program */ new section
20:08:30  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144257&oldid=144256 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+84) /* Reverse Hello, World! Program */
20:09:04  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144258&oldid=144257 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+54) /* Reverse Hello, World! Program */
20:10:04  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144259&oldid=144258 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+12) /* the 90 instruction itself */
20:13:58 -!- Everything has joined.
20:18:16  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144260&oldid=144259 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+23) 
20:32:09  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144261&oldid=144260 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+6) /* Example Program */
20:32:24  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144262&oldid=144261 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+6) /* Example Program */
20:32:31  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144263&oldid=144262 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+1) /* Example Program */
20:36:21  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144264&oldid=144263 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+68) /* the 90 instruction itself */
20:39:26  korvo: I haven't heard of that, which somewhat reduces the chance that a page exists
20:52:58 -!- Everything has quit (Ping timeout: 252 seconds).
20:54:09  [[90]]  https://esolangs.org/w/index.php?diff=144265&oldid=137482 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+18) /* Analysis */
20:55:31 -!- Everything has joined.
20:56:41  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144266&oldid=144264 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+222) /* I/O */ new section
21:03:25  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144267&oldid=144266 * Ais523 * (+256) /* I/O */ it can do I/O
21:19:43 -!- Everything has quit (Quit: leaving).
21:20:04 -!- Everything has joined.
21:33:39 -!- b_jonas has quit (Ping timeout: 252 seconds).
21:46:18 -!- __monty__ has quit (Quit: leaving).
21:48:45  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144268&oldid=144267 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+49) /* the 90 instruction itself */
21:52:00  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144269&oldid=144268 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+18) /* the 90 instruction itself */
21:53:06  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144270&oldid=144269 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+265) /* Reverse Hello, World! Program */
21:53:13  [[Talk:90]]  https://esolangs.org/w/index.php?diff=144271&oldid=144270 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+264) /* I/O */
22:02:00 -!- ais523 has quit (Quit: quit).
22:33:09 -!- supercode has quit (Quit: Client closed).
22:41:34  [[1 Billion Row Challenge]] N https://esolangs.org/w/index.php?oldid=144272 * Corbin * (+613) Stub 1BRC.
22:48:16 -!- Everything has quit (Quit: leaving).
23:18:10 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:34:05  [[Translated ORK/Mihai Again17]] N https://esolangs.org/w/index.php?oldid=144273 * MihaiEso * (+2170) Created page with "This was made on this, pretty good laptop, also we have a new translator than can go BOOM!  1. Take that [[Translated ORK/None again9|shitty sh*t]]  
 Woahhhhhhhhhhhh Woahhhhhhhhhhhh 2012 2000 09-EE [2] 2012 2017 09-EEE [2] 2012-EE (2012) RAAD.
23:36:55  [[DeafPig]]  https://esolangs.org/w/index.php?diff=144274&oldid=125583 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+42) /* Interpreter */
23:37:58  [[How to learn this language]]  https://esolangs.org/w/index.php?diff=144275&oldid=115498 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+31) /* Example */
23:39:23  [[How to learn this language]]  https://esolangs.org/w/index.php?diff=144276&oldid=144275 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+32) /* Example */
23:50:45  [[O()]]  https://esolangs.org/w/index.php?diff=144277&oldid=143106 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (-1) /* 99 bottles of beer */
23:51:52 -!- b_jonas has joined.
23:53:16  [[O()]]  https://esolangs.org/w/index.php?diff=144278&oldid=144277 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+21) /* other commands */
23:53:22 -!- CanisCorvus has quit (Quit: Client closed).
23:55:49  [[O()]]  https://esolangs.org/w/index.php?diff=144279&oldid=144278 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+53) /* other commands */
23:57:04  [[O()]]  https://esolangs.org/w/index.php?diff=144280&oldid=144279 * Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff * (+55) /* Truth-machine */