« first day (1531 days earlier)      last day (1140 days later) » 

4:01 AM
@Adám I put an issue in the dracula github repo to change errors to appear as Red (#FF5555), per the Dracula theme spec, if I interpreted it correctly :)
 
 
5 hours later…
RGS
9:09 AM
@Adám interesting thing going on :)
I am pretty sure your dracula colour scheme messed a tad too much with my Windows registry
 
@RGS Oh no. What happened?
 
RGS
My computer thinks I have 18.1 installed :)
 
Ah, right.
That won't happen if we package it with the IDE.
 
RGS
And this is annoying because the jupyter kernel is trying to start and is looking for an 18.1 installation :P Do you know how I can fix this?
 
Just regedit and remove that branch of the registry.
 
RGS
9:12 AM
lol
That was easy πŸ˜…πŸ˜‚
Best way to start a week of work! Having to figure out why things that were working last week are no longer working :P
 
9:23 AM
Sorry about that. The repo with the theme is currently experimental. I should have foreseen and warned about this.
 
RGS
9:37 AM
I am not blaming you!
I was able to pinpoint the problem quickly enough so this wasn't frustrating.
 
 
4 hours later…
RGS
1:23 PM
In RIDE there's no option to prevent the trace window to open automatically upon error, right?
(In the Windows IDE one can unselect the "Show trace stack on error" option but I can't find anything similar on RIDE.)
 
1:35 PM
@RGS Remember: RIDE is dumb. Configure the interpreter instead.
 
RGS
Interesting
 
@user11786133 Hi Edwin Schut. If you want to participate here, please email access@apl.chat
 
RGS
@AdΓ‘m Erm the link says the default is 0, but that does not seem to be the case.
Or am I missing something?
 
I suspect the docs are wrong on that. Can you try setting it to 0?
 
RGS
I set trace_on_error to 0 on RIDE and the trace window stopped popping up automatically
 
1:43 PM
Do you know how to log an issue for that?
 
RGS
Yup
Ugh, the setting of the Windows IDE also influences RIDE
So I am not sure how to check the actual default value
 
1:58 PM
@RGS No it doesn't. RIDE is dumb. It has no idea about what's going on. The interpreter (which is always an IDE too) dictates its movements, including when to open and close windows. Really, RIDE isn't an IDE at all; it is simply a rendering library with a JSON protocol.
@RGS Simply erase the registry entry!
 
RGS
@AdΓ‘m ok, then I am missing something.
If I go to Ooptions > configure > trace/edit on the Windows IDE and tick "show trace stack on error"
And then open RIDE and start a new connection without specifying the Trace_on_error variable, it will automatically open the trace upon hitting an error
If I close RIDE, untick the option on the Windows IDE, and then reopen RIDE and hit an error, the trace window will not open
 
@RGS The IDE doesn't write the values back right away. Try clicking OK and closing the IDE first.
 
RGS
Sure, I skipped a couple of steps in my explanation
But I just showed that the settings I define on the Windows IDE end up influencing RIDE...
I had said "Ugh, the setting of the Windows IDE also influences RIDE" and you replied "No it doesn't."
 
@AdΓ‘m (i don't think that message does/says literally anything except cause confusion)
 
@RGS I should have explained better then. Changing a setting in the IDE influences that instance of the IDE and any subsequent instances of the IDE. When you start APL from RIDE, it spins up a new IDE instance, with the currently active settings. If the IDE you used to set settings with hasn't written them to the registry yet, then RIDE will spin up an IDE with the previous settings.
 
2:04 PM
I believe Adám was just pointing out a random technicality about RIDE, not strictly related to your observation that, as can be seen, the Windows IDE apparently influences RIDE
 
RGS
Ah ok, I understand what you meant now
 
@user11786133 You should have access now.
 
(also imo this global settings stuff Dyalog does is awful)
 
@ad
@Adám thanks!
 
@dzaima Yeah. Agreed. At least I succeeded in getting rid of that for the new #! scripting mode.
@user11786133 Welcome. With what can we be of service?
 
RGS
2:10 PM
@AdΓ‘m turns out the default value is 0
 
I have some problems with ¨ in combination with ⍨. example: w ← 1 2 3
⍝ how to βŠ‚ (partitioned enclosed) with, for example, three masks 0 0 1 1 0 0 0 1 1
three mask or split in 0 0 1, 1 0 0, 0 1 1
 
Ah, I understand. First, the solution:
      (0 0 1)(1 0 0)(0 1 1)βŠ‚¨βŠ‚1 2 3
β”Œβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”
β”‚β”Œβ”€β”β”‚β”Œβ”€β”€β”€β”€β”€β”β”‚β”Œβ”€β”¬β”€β”β”‚
β”‚β”‚3β”‚β”‚β”‚1 2 3β”‚β”‚β”‚2β”‚3β”‚β”‚
β”‚β””β”€β”˜β”‚β””β”€β”€β”€β”€β”€β”˜β”‚β””β”€β”΄β”€β”˜β”‚
β””β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜
Now, do you want an explanation too?
 
@AdΓ‘m well not really... you can still use βŽ•IO right? or is it locked at 1?
 
i tried: wβŠ‚¨β¨0 0 1,1 0 0, 0 1 1
LENGTH ERROR
that was wrong :)
 
@rak1507 "global settings stuff" is fixed in the sense that the environment won't affect your code. We can't really change the core language for this.
 
2:13 PM
Ah, ok, got it
 
@user11786133 Ah, but you should note that , simply concatenates the three vectors into a single flat vector.
 
RGS
@user11786133 try running just 0 0 1,1 0 0, 0 1 1 in the session
 
explanation for the βŠ‚¨βŠ‚ would be fine.
 
RGS
@user11786133 It's just someone extending their arms to the left :D
βŠƒ¨βŠƒ is the same person but extending the arms to the right
Probably looking for a hug :P
 
It will work if you use ,β₯βŠ† instead of , but that's pretty specific to this case.
 
2:16 PM
ok, i tried: wβŠ‚¨β¨(0 0 1)(1 0 0)(0 1 1)
β”Œβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”
β”‚β”Œβ”€β”β”‚β”Œβ”€β”€β”€β”€β”€β”β”‚β”Œβ”€β”¬β”€β”β”‚
β”‚β”‚1β”‚β”‚β”‚2 2 2β”‚β”‚β”‚3β”‚3β”‚β”‚
β”‚β””β”€β”˜β”‚β””β”€β”€β”€β”€β”€β”˜β”‚β””β”€β”΄β”€β”˜β”‚
β””β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜
0 0 1βŠ‚w
β”Œβ”€β”
β”‚3β”‚
β””β”€β”˜
 
@user11786133 ¨ pairs up elements of arguments in much the same way as + does. E,g, 1 2 3+10 20 30 gives 11 22 33 and 1 2 3+10 gives 11 12 13.
 
but only 0 0 1 gives a different outcome with the first result of each
 
However, for the pairing up to work, as you want, you need a vector on one side, i.e. (0 0 1)(1 0 0)(0 1 1) and a scalar on the other, i.e. βŠ‚w
(βŠ‚w)βŠ‚¨β¨(0 0 1)(1 0 0)(0 1 1) will work.
If you do not enclose w then APL pairs up w's 1 with the 0 0 1 and w's 2 with the 1 0 0 etc.
 
Thanks! that's also the extra βŠ‚ in your solution.
 
Exactly. In this case, you could also write β₯βŠ† as in wβŠ‚¨β₯βŠ†β¨(0 0 1)(1 0 0)(0 1 1).
Which means you can get rid of all parentheses with wβŠ‚¨β₯βŠ†β¨0 0 1,β₯βŠ†1 0 0,β₯βŠ†0 1 1 if you really want to. But do mind that this isn't generally applicable.
 
2:23 PM
thanks, i didn't used β₯ yet.
 
It is quite a wonderful operator.
Btw, if you intend to frequent this room, I highly recommend having a look here for some tips and tricks.
 
Thanks for the link. Why a combination of ⍨ and β₯ in de last solution?
 
βŠ‚ takes the data on the right, and the partitioning info on the left. ⍨ swaps arguments, so e.g. 2-⍨10 is 8.
 
thanks
 
Any time (almost).
 
2:38 PM
why is the result different when given only 1 element: (0 0 1)(1 0 0)(0 1 1)βŠ‚¨βŠ‚1 2 3
β”Œβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”
β”‚β”Œβ”€β”β”‚β”Œβ”€β”€β”€β”€β”€β”β”‚β”Œβ”€β”¬β”€β”β”‚
β”‚β”‚3β”‚β”‚β”‚1 2 3β”‚β”‚β”‚2β”‚3β”‚β”‚
β”‚β””β”€β”˜β”‚β””β”€β”€β”€β”€β”€β”˜β”‚β””β”€β”΄β”€β”˜β”‚
β””β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜
(0 1 1)βŠ‚¨βŠ‚1 2 3
β”Œβ”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”
β”‚β”‚β”Œβ”€β”¬β”€β”¬β”€β”β”‚β”Œβ”€β”¬β”€β”¬β”€β”β”‚
β”‚β”‚β”‚1β”‚2β”‚3β”‚β”‚β”‚1β”‚2β”‚3β”‚β”‚
β”‚β”‚β””β”€β”΄β”€β”΄β”€β”˜β”‚β””β”€β”΄β”€β”΄β”€β”˜β”‚
β””β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”˜
 
RGS
It's related to why you do βŠ‚1 2 3
You are doing βŠ‚1 2 3 to tell βŠ‚¨ that the thing on the right should be seen as a single element.
0 1 1 is being seen as a vector, but you also want it to be seen as a single element, so you need (βŠ‚0 1 1)βŠ‚¨βŠ‚1 2 3
Ofc at this point you should just do 0 1 1βŠ‚1 2 3.
Does that make sense?
 
It may be confusing that (0 1 1) is NOT the same as βŠ‚0 1 1 but rather IS the same as 0 1 1
0 1 1βŠ‚¨β₯βŠ†βŠ‚1 2 3 would work though, with the final result being enclosed. It'd be the same as βŠ‚0 1 1βŠ‚1 2 3
 
i find it confusion that the function behave different for a single (0 0 1) or multiple inputs (0 0 1) (1 0 0) (0 1 1).
 
It isn't so much the function that behaves differently. Rather you need to be aware that 0 1 1 is a flat vector while (0 0 1) (1 0 0) (0 1 1) is a vector of vectors.
 
i would expect in this example that (0 1 1)βŠ‚¨βŠ‚1 2 3 gives the third part of (0 0 1)(1 0 0)(0 1 1)βŠ‚¨βŠ‚1 2 3
 
2:45 PM
The "single" equivalent of (0 0 1) (1 0 0) (0 1 1) is βŠ‚0 1 1 or possibly ,βŠ‚0 0 1
@EdwinSchut But notice that you have an "each" (¨) so you are asking to pair up each element from the left with each element from the right.
 
a, and with a single, the function act 1 level deeper?
 
Almost. The function is consistent. The data has one less enclosing level.
We call it the depth.
 
And with ( )( )( ) there is a extra depth so "each" act on depth ( ). And with ( ) "each" act on the elements in ( ).
 
Right, except that the parentheses themselves don't add depth. It is the juxtaposition of vectors that adds the depth.
If yo named each component, a←0 0 1 β‹„ b←1 0 0 β‹„ c←0 1 1 then a b c would give you the same as (0 0 1) (1 0 0) (0 1 1)
 
ok , thanks. And the βŠ‚ for 1 2 3 is to make both arguments the same depth ( for the second βŠ‚) ?
 
2:55 PM
@EdwinSchut Which exact expression are you talking about now?
 
sorry, this one: (0 0 1)(1 0 0)(0 1 1)βŠ‚¨βŠ‚1 2 3
 
Ah yes, exactly so.
The result would be the same as (0 0 1)(1 0 0)(0 1 1)βŠ‚¨(1 2 3)(1 2 3)(1 2 3)
 
Exactly, that make sense.
 
Great!
 
3:19 PM
A second question, where i like to use "each", i think :)
with w <- 1 2 3 4 you can +/ w and -/w.
what's the form to apply +/ and -/ to w with each? So how to apply a list of functions to w?
 
What result are you expecting?
+/w is 10 and -/w is ¯2, btw.
 
RGS
@AdΓ‘m Edwin wants to "map over a list of functions"
 
Which you can't easily do in APL, but I find it rather rare to actually be needed. There's usually a neat alternative. In this case, maybe
      (+/,-/)w
10 ¯2
 
it's more a general example. It's indeed my way to ask how to map over a list of functions. In this case is the result a list with two results?
that's easy.
 
In general, you can write (f,g,h) but note that the results are concatenated, not juxtaposed.
I.e. you may need (f,β₯βŠ†g,β₯βŠ†h) for simple cases, or a custom solution for more complicated cases.
This latter formula works for getting the two scans:
      (+\,β₯βŠ†-\)w
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚1 3 6 10β”‚1 ¯1 2 ¯2β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 
3:26 PM
Thanks, i believe there are neat alternatives; My frame of mind needs some adjustments .. :)
 
It takes time. Feel free to ask all the questions.
CMQ: Other than the core interpreter, which parts of the Dyalog system would you like to be opened up to user contributions? E.g. documentation, dfns.dws, colour schemes…
 
RGS
All of the above ↑ :P
 
as much as possible
 
@rak1507 That's not an actionable item. This is your opportunity to actually get your voice heard, so specific things, please!
 
Is it possible to use βˆ‡ to self-reference inside a defined operator? The below code isn't working the way I want:
rlop←{⍡<2000 : ⍡,⍺⍺ βˆ‡ 3 ⍺⍺ 2×2+βŠƒβ΅ β‹„ ⍡} β‹„ × rlop 5
It gives 5 1 1 1 1, so the first ⍺⍺ is being applied monadically as ×, rather than being the left operand to operator βˆ‡
 
3:42 PM
@phantomics This?
 
βˆ‡βˆ‡ is self as modifier. βˆ‡ is the derived function
 
@AdΓ‘m {(is_possible¨β΅) / ⍡}all_items
 
Ok, that makes sense
 
@rak1507 If you don't want to help me gather specific actionable items to be forwarded to management, then that's of course fine.
 
Documentation, dfns.dws, colour schemes, packages, package manager (if that ever exists), configs (stop the keyboarding issues), etc
 
3:45 PM
In terms of actionable items, making the TryAPL software open and modular could be neat, giving people the ability to create APL interpreter-driven web apps
 
@rak1507 Thanks. The first three are already on my list, obviously. The next two are already in the open (though WIP). Can you explain what you mean by accepting user contributions to "configs"?
@phantomics Wouldn't it be enough to publish the API? (Something I think @RikedyP was planning to do anyway.) TryAPL Mini already uses it.
 
@AdΓ‘m if possible, control over keyboarding issues mostly
 
@rak1507 Again, I'm not sure what you mean. We are removing the SuperKey hijacking in 18.1 and I think we're also making it easier to choose your keyboarding. I'm not sure what type of community contributions you are envisioning for that area.
 
I know people have contributed scripts and stuff to fix issues in the past. If they were able to contribute that directly to dyalog so you didn't have to get it from aplwiki or whatever, that would be good. (that's sort of what I mean, sorry for awkward wording)
If stuff is being fixed/changed in 18.1 it's probably irrelevant anyway
 
@phantomics Btw, you can't really use the TryAPL system to drive much of a web app, as there's no server state. You'd have to send the entire state back and forth between frontend and backend all the time. (This is indeed what TryAPL and TryAPL Mini do.)
 
3:51 PM
@AdΓ‘m Perhaps an editable config file that lets you specify how you want APL keybindings to work? An input mode plugin for common Linux input mode managers? That would allow for some customizability
@AdΓ‘m I see, perhaps you could have an app that calls to the interpreter independently of the user's APL interaction, using it as a database
 
@phantomics We already have human editable config files (JSON5) as of 18.1 :-) and while a unified input control system would be nice, it isn't something we currently sit on, so we can't "just" open it up to the community.
@phantomics Well, as a computation engine, yes. Not as a database, since it doesn't store any data. Unless you mean that people could run the whole stack with a custom APL in the backend. But at that point, they are way better off using Jarvis directly. TryAPL in fact is a small (<300 LoC) APL service served by Jarvis together with some static HTML/CSS/JS.
 
 
5 hours later…
8:51 PM
CMP: What do you all think of this adaption of New Moon?
 
RGS
9:08 PM
I think the label named EndFor hurts my soul.
 
I agree with RGS
the theme looks nice though!
 
RGS
Other than that I like the Dracula one better, for some reason I don't like these colours as much.
It might be the fact that my screen currently has f.lux turned on and so everything is yellow-ish.
 
I think I prefer this one to be honest, this one is a bit more muted which I prefer
 
RGS
Yeah but personal preferences are just like that, everyone has their own :)
 
yeah, the more options the better!
 
RGS
9:11 PM
Btw I'm really sad no one thought my earlier remark about βŠ‚¨βŠ‚ and βŠƒ¨βŠƒ being people reaching for a hug was hilarious
 
@RGS I did
 
RGS
I should know better than that, but I laughed way too much at my own joke :P
 
also functions and operators are still the same color, with which i still disagree
 
good point, agreed ^
 
RGS
@dzaima Can you do something about it in the Windows IDE?
 
9:15 PM
No.
 
@AdΓ‘m oh god
 
I can ask John if we could start differentiating, but I doubt it.
 
poor windows IDE users
 
Well, they all have the option to use RIDE, of course.
 
will the windows ide ever be 'phased out'?
 
9:18 PM
I think that is a very long term option if RIDE significantly surpasses it.
 
Seems like it would be easier from an implementation point of view to just focus on RIDE, especially considering how many features it has
 
RGS
@rak1507 Whut? RIDE has more features than the Windows IDe?
Have I been living under a rock..?
 
not sure about more but it definitely has some features that the windows one doesn't
 
The development teams are entirely separate, but hey, RIDE is FOSS, so feel free to contribute!
 
like tab autocomplete and backtick typing
 
9:21 PM
Uh, Windows IDE has both of those.
 
RGS
↑ that
 
?! how
 
RGS
(But backtick requires the IME, right?)
OPtions → configure → Autocomplete
 
@RGS (yes)
 
I mean tab completion for primitives
 
9:23 PM
Oh, you mean ``name
 
yeah
 
Right. I guess the more experienced users don't really miss that.
@A-LevelStudent Hi and welcome. Interested in APL?
 
yep, I wouldn't use backticks either but I know less experienced people think that those features are pretty useful
 
One thing the IDE doesn't have, but RIDE has, is the ability to bind most any keystroke to a "macro" (sequence of actions).
 
oh, that's quite cool
I bet roger hui has a macro for βŽ•IO ← 0 ⍝ io delenda est
 
9:26 PM
It also allows binding multiple keystrokes to a single action. IDE doesn't let.
It also allows evaluating the selection or name under the cursor. (But that can be added manually to the IDE.)
Oh, and RIDE can show your keystrokes for demo purposes. That's pretty cool and would be even cooler if it recognised AltGr :-(
 
can someone go here 4502-aquamarine-horse-s66yby97.ws-eu03.gitpod.io and tell me what they see? I'm trying bubbler's gitpod thing and wondering if it can be used with two people at once
(feel free to type stuff, if you can)
 
RGS
@rak1507 to me it says the port is closed
 
I can type, but Enter seems to do nothing, and CSS is half-way messed up.
 
alright, interesting, thanks both
 
RGS
Now it shows the Dyalog RIDE screen
Like the splashscreen
 
9:35 PM
it looks like you can 'access' it from a second location, but it only works on one
there goes my idea of live apl without screensharing, oh well
 
9:50 PM
@RGS I think the Portuguese APL Meetup isn't a "User Group". I see a user group as an established organisation that hosts multiple activities. A regularly recurring online meetup is an event or "activity", even if the attendees form a group. Further, an online meetup isn't tied to a particular geographical location, and even more so if the language of the event is spoken in multiple far-apart places.
 
RGS
@AdΓ‘m Thanks for bringing it up.
Had forgotten about it by now. I actually meant to ask what I should do about that. Today I noticed I had placed it in a weird place, and ended up concluding I don't know where to place it.
Maybe it doesn't belong there at all.
Ah wait, you moved it to "activities"!
 
Yeah.
 
RGS
I thought I had done it by mistake, you fixed it and then I undid your changes xD
That's unfortunate on my end, sorry. Today at around 13 I opened APL wiki and saw there had been no changes to the pages I was following.
 
No worries. I'll roll back your latest change.
 
RGS
And later today I opened the wiki again and noticed that and it didn't occur to me someone might've changed it meanwhile :P
ty
 
9:55 PM
Btw, isn't the event's title "Weekly APL Meetup"?
Or "APL Meetup"?
@RGS Your Pt title says "Meetup de APL" and the En title has "APL Meetup", but your poster says "Meetup Semanal de APL" ⍨
 
RGS
The poster was meant to summarise some info and I included the frequency in big letters
I guess the title is just APL Meetup
But prepending "Portuguese" seems sensible
 
That shouldn't be in the title, if that isn't actually the name. I'll fix it.
 
RGS
Alright, then maybe I "should change the name of the event".
 
No, that's fine. Funny enough, the German APL group has a name in English.
And so does the Finnish one.
 
RGS
Well
"APL Meetup" is awfully generic
 
10:03 PM
You booked the name first!
Nitpick: Isn't the objective to teach Portuguese-speakers APL, rather than to promote such teaching?
 
RGS
The text says "promote learning", not "promote teaching"..?
Is that not something you would say in English?
 
IANAENS.
 
RGS
In that the sessions aren't strictly for me (or someone else, for that matter) to teach, but for me to create an environment where people want to learn
 
@AdΓ‘m what does that stand for?
 
RGS
@AdΓ‘m Dunno what that means.
 
10:07 PM
Ah. OK, I've rephrased it. What do you think?
I Am Not An English Native Speaker.
 
RGS
@AdΓ‘m I like it.
 
I guess it should have been IANANES, but then again, I'm not…
 
RGS
So now the community template should also be updated, no?
I can do it, just don't want to write over whatever you might be writing rn.
 
@RGS Done.
I wonder if there similarly would be a market for Nic and/or Ven teaching APL in French…
 
if they do they should definitely call it l'appel de l'APL
(I don't speak french, that probably makes no sense)
 
10:13 PM
:-D I got it, and my High School French isn't strong.
 
RGS
@rak1507 is "appel" your attempt at saying apple in french?
If so, it's pomme :)
 
@RGS no, l'appel means 'the call' in french
 
RGS
AH :laugh:
"appel" looks like a person is saying apple with a French accent
 
lol
 
So if I create Dracula and/or New Moon themes for RIDE, should I differentiate between functions, hybrids+monadic operators, and dyadic operators?
 
10:17 PM
i mean i'll of course say yes
 
@dzaima What colours should I give them then?
I guess I can then also colour β‹„ like a keyword rather than a primitive.
I kind-of feel bad giving any of them the same colour as numeric constants or strings, or control structures, or global variables, or errors.
 
@AdΓ‘m it's kind of hard to guess without being able to play around y'know
what's the current list of color←→thing mappings?
 
normal: white
global: orange
error: red
control: pink
number: purple
string: yellow
idiom: green
function: cyan
I could make idioms underlined instead of green, and that frees up green for hybrids and monadic operators. Dyadic operators can be yellow like strings, as they are hardly confusables.
Hm, but 'x'@ is unfortunate.
 
global orange for dyadic operators might work
 
You don't think it'd detract from the warning that the orange is supposed to provide?
 
10:29 PM
nahh it'd probably be fine
 
Dracula is really missing a blue.
 
orange to me doesn't associate with "warning" at all
@AdΓ‘m probably because blue is just an awful color to work with
 
Safety orange (also known as blaze orange, vivid orange, OSHA orange, hunter orange, or Caltrans orange) is a hue. Safety orange is used to set objects apart from their surroundings, particularly in complementary contrast to the azure color of the sky (azure is the complementary color of orange, and therefore there is a very strong contrast between the two colors). The color is commonly used for hunting during the rifle season, and is also used for quail hunting. Most places, such as construction sites, use safety orange to help ensure the safety of others. ANSI standard Z535.1–1998 states how...
 
@AdΓ‘m that's a much more stronger orange, and without context, even that orange doesn't associate with "warning"
 
shades of orange: Hunyadi yellow
how is that a shade of orange?!
 
10:33 PM
(paste uses orange for monadic operators)
(it's also kind of hard for me to give suggestions as obviously i prefer my theme, where green is definitely functions; also idioms are gray bold underlined)
 
idioms aren't underlined in paste right?
 
 
@rak1507 yeah, because paste doesn't know about anything beyond basic APL tokenization
 
@dzaima makes sense
 
hence me mentioning it separately
 
10:44 PM
Here, at least, there's a progression fn→mop→dop as cyan→green→yellow
I'd rather not use bold for the APL symbols in idioms, as that just blurs them.
 
@AdΓ‘m makes sense, but with idioms you don't really need to look into the specific characters much anyways
 
is there any way to colour nested things differently?
 
For writing, maybe not, but if you don't know the idiom (and there's no easy way to look them up)…
@rak1507 As in nested dfns?
 
yeah
 
10:47 PM
then it might be simpler to tell the nesting level if it was complex
a bit like parens colouring with lisp
 
Yes, RIDE supports that.
 
@dzaima yeah, I like that, the different colouring in dfns
 
(the different layer coloring just comes from the "Francisco Goya" theme i started with)
 
I don't think I'll use that, though, as I am trying to stick to the spec.
 
@dzaima (the ugliness of the control statement color fits well :p)
 
11:21 PM
OK, here's my RIDE New Moon:
That "search match" is rendered wrong :-(
 

« first day (1531 days earlier)      last day (1140 days later) »