« first day (105 days earlier)      last day (446 days later) » 
00:00 - 19:0019:00 - 00:00

00:53
@Downgoat how goes functionized ops
just started on them
fixing website rn
:D
okai
@Downgoat where is range located
src/interpreter/core/primitives/op/number.es6
01:18
in The Nineteenth Byte, 2 mins ago, by Cᴏɴᴏʀ O'Bʀɪᴇɴ
why not just have monadic : be a range from [0, n) and have the other be inclusive?
let's talk here
@Downgoat
ok
@CᴏɴᴏʀO'Bʀɪᴇɴ hm
the only reason one would want a noninclusive range was in the cases that malty pointed out--when iterating over a range of contents
i don't think monadic : will be easily possible though without becoming ambiguous with type annotations.
perhaps ok yeah i guess that could work
we could just change teh symbol
@CᴏɴᴏʀO'Bʀɪᴇɴ yeah but I guess for ins address that
01:21
I suggest $ or +> for raneg
oh hey I'm a typodragon :P
do you think we should change the symbol? I believe it will be better in the long run
no ambiguity with ternaries or type casting
@Downgoat sorry to seem pushy
@CᴏɴᴏʀO'Bʀɪᴇɴ :D :D :D
@CᴏɴᴏʀO'Bʀɪᴇɴ yeah, I'll try making it ... but I"ll have to do a bunch of testing to ensure there are no bugs with that
okay.
so what is the short term solution?
@CᴏɴᴏʀO'Bʀɪᴇɴ oh yeah....
so thats why ternarys weren't working!
@CᴏɴᴏʀO'Bʀɪᴇɴ Thank you so much for figuring that out
@CᴏɴᴏʀO'Bʀɪᴇɴ I'll try to get it done right after i implement functionized ops
already got the parsing down :D
01:29
ye!
I'll change the symbol to $ until you get ... figured out so I can push teh fixed range
($ doesn't do anything yet right?)
> CheddarFunctionizedOperatorToken
10/10 longest class name
@CᴏɴᴏʀO'Bʀɪᴇɴ no but $ is a valid variable name
@Downgoat oh
right
maybe just change it to ... we'll figure out bugs with that later
01:31
I'd rather not break anything new
though ... has higher precedence than properties so there probably won't be anything broken
@CᴏɴᴏʀO'Bʀɪᴇɴ ok, yeah. we can always change it easily later
kk
changing it to |> :P
okay
seriously? okay
yeah, it's fine I thought that was a >:P face >_>
01:32
kk
also, yay or nay on the monadic case
in The Nineteenth Byte, 1 min ago, by Nathan Merrill
I think that range(3, 0.5) -> [3, 2, 1]
^ yes or no
that seems right
01:41
how do I test again?
(i.e. where is the repl located)
src/cli, I see
λ node src\cli\cheddar.es6
module.js:442
    throw err;
    ^

Error: Cannot find module 'C:\Users\Conor O'Brien\Documents\Programming\Cheddar\src\cli\repl.js'
    at Function.Module._resolveFilename (module.js:440:15)
    at Function.Module._load (module.js:388:25)
    at Function.Module.runMain (module.js:575:10)
    at startup (node.js:160:18)
    at node.js:456:3
you renamed them all es6 and you forgot to update things
@Downgoat what is the exact command I need to run the repl
use dist instead of src
thanks!
er
how do I let the changes I made have effect
gimme a sec to find the command
./node_modules/.bin/babel src/ -d dist/ --source-maps
you may need to modify it for windows tho
01:48
ye I will
"node_modules\.bin\babel" src\ -d dist\ --source-maps
^ windows version
ok will add to docs
λ node dist\cli\repl.js
cheddar> 3 |> 4
     ...
     ...
     ...
did I forget to do something
is there another place I need to edit teh symbol?
where did you set the operator?
only in the number.js
make sure in src/tokenizer/consts/ops.es6 you change all the :s to |>
you should only need to do it for in PRECEDENCE and OP
and I need to add unary precedence right?
uhhh
: doesn't have a precedence
@CᴏɴᴏʀO'Bʀɪᴇɴ wat
WAAAT
._.
well then...
what should it be >_>
idk you don't have to include it I guess
01:55
okay
lemme rebuild and try again then
I can't tell you how cool it is to be working on cheddar again :D
cheddar> (+)
< Instance of "Function" >
\o/
@CᴏɴᴏʀO'Bʀɪᴇɴ :D :D :D
how come whenever i code something in cheddar it borks into a million pieces but when you do it, it works >_>
01:56
because I haven't touched the internal part yet >:3
λ node dist\cli\repl.js
cheddar> 1 |> 5
[1, 2, 3, 4, 5]
cheddar> 1.5 |> 5
[1.5, 2.5, 3.5, 4.5]
cheddar> 3 |> 0.5
[3, 2, 1]
cheddar> |> 3
[0, 1, 2]
eet works :D
okay how do you want commits formatted?
and how do I fix issue with commit
@CᴏɴᴏʀO'Bʀɪᴇɴ just in the form of <category> [<topic>]: <descriptoin>
so like:
feature [range]: goat goat goat
or:
fix [range]: goat goat goat goatsarebetterthansheep goat goat goat
XD
how do I fix the issue with it
e.g. "closes #x"
just add Fixes #<issue number> in the descrpition body and github will automatically close it
oh lol
cool
can I do fixes #N, #M?
02:03
oic
λ git push
fatal: The current branch fix-float-ranges has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin fix-float-ranges
should I ?
cheddar> (+)(1,2)
3
\o/ \o/ \o/ \o/ \o/
@CᴏɴᴏʀO'Bʀɪᴇɴ yeah
cheddar> var a = (+)
cheddar> a(1,2)
3
that works too :D :D :D
beautiful :,)
._. the issues are still open
02:06
oh wait you need to pull right XD
idk >_>
wat github
idk
wait I foudn it
oh
I think it'll only take effect when it's on master branchj
02:08
I just made the PR
ok, will merge
@CᴏɴᴏʀO'Bʀɪᴇɴ in test/tests/primitives/op/number.js can you look for describe('range' and in that function change : to |>?
git push --set-upstream origin fix-float-ranges
should I change this?
what do you mean?
you don't need to --set-upstream origin fix-float-ranges anymore if that's what you mean
02:24
@CᴏɴᴏʀO'Bʀɪᴇɴ also when creating your PR. you'll see it be like: "base: master .. base: fix-float-range". can you change that master to develop? so it can merge into correct branch
ok
er
the pr is already made
idk how to change it now
hm
idk maybe just close and make a new one?
how do I make a new one
click new pull request next to the branch switcher thing
on the left
presto
I g2g soon
is there anything else I need to finalize?
02:30
\o/ your tests passed
@CᴏɴᴏʀO'Bʀɪᴇɴ you're good
merged :D
:D
btw what's up with the browser erpl
g2g now bai
02:33
@CᴏɴᴏʀO'Bʀɪᴇɴ oh >_> brb fixing that
@CᴏɴᴏʀO'Bʀɪᴇɴ bai
 
15 hours later…
17:35
@Downgoat: how do I reinstall again? As a windows user, do I have to delete everything? or is there some git command
17:48
@CᴏɴᴏʀO'Bʀɪᴇɴ yeah, you're gonna have to delete + install again >_> I'll spend today trying to get windows support
okai :3
I can't do git pull o something?
oh
I guess, yeah
git pull origin develop then ./node_modules/.bin/babel src/ -d dist/ --source-maps
how do I change my branch
git checkout <branch you want to go to>
17:58
@CᴏɴᴏʀO'Bʀɪᴇɴ question: what is the common script-type-thing for windows? .bat, .vbs, something else? I need to write a mini-script which forks the Cheddar CLI but it needs to locate it
;_; ^U on *nix is to clear line but on windows it's shut down ;__;
.bat is the most common
okay
Oh FFS windows is installing "updates"
XD
that's today ytes
> Don't turn off your computer
there has to be some OS for the idiots >_>
cheddar> var f = (a) -> (b) -> a + b
cheddar> f
< Instance of "Function" >
cheddar> f(3)
< Instance of "Function" >
cheddar> f(4)(5)
Syntax Error: Unexpected token at 1:4
1 | f(4)(5)
  |     ^
Uh oh
18:04
oh shit
I didn't think of that >_>
huh
ohhh
i know how to fix
brb
@CᴏɴᴏʀO'Bʀɪᴇɴ what is output of 123['rev']['len']?
cheddar> 123['rev']
Runtime Error: Number has no property rev
cheddar> 123['rev']['len']
Syntax Error: Unexpected token at 1:10
1 | 123['rev']['len']
  |           ^
uh oh
nvm i don't know how to fix >_>
18:16
okay i think i fixed :D
nvm
@CᴏɴᴏʀO'Bʀɪᴇɴ Yeah it's called Linux
._. you insulted linux
@CᴏɴᴏʀO'Bʀɪᴇɴ no I think he insulted it's users
@CᴏɴᴏʀO'Bʀɪᴇɴ What's this? I thought you accessed properties with . like most languages
18:23
;_;
@quartata you do
@CᴏɴᴏʀO'Bʀɪᴇɴ Actually it was just my way of insulting Windows by implying it's hard to use
@quartata lol. if anything linux is hard to use
@Downgoat Why is he using [<string>] like JS?
@quartata wat, this is not what all languages do?
Python uses ['blah'] too
@quartata I'm not >_> he told me to
18:25
@Downgoat Uh, no?
>>> 3["__abs__"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
That's really just a JS thing. A disgusting terrible JS thing
Sorry. I meant an interesting JS thing
Anyways
18:25
how is it bad?
@quartata
>>> a = {}
>>> a
{}
>>> a['df'] = 3
>>> a['df']
3
@CᴏɴᴏʀO'Bʀɪᴇɴ I like |> as a range symbol
perhaps I'll set it to a separate accessor property thing
@CᴏɴᴏʀO'Bʀɪᴇɴ Yeah, that's a dictionary
1 min ago, by Cᴏɴᴏʀ O'Bʀɪᴇɴ
for dicts
@quartata thanks :)
18:26
python is weird and ugly we should not be comparing Cheddar to it
May 27 at 2:35, by Eastern Bits
No cheddar haters allowed in this room, under threat of kick-mute.
besides, it's a nice way to dynamically get a property.
^ helps with golfing
For what it's worth Pytek won't have step for range either. Instead we'll have a separate function
and you can override accessors
@Downgoat and for functional programming and stuff
18:27
@quartata in what namespace?
@Downgoat No, I mean a separate function for step
Most stdlib things won't be in namespaces
cheddar> var f = (a) -> (b) -> a + b
cheddar> f(1)(2)
3
\o/ \o/ \o/
@quartata wat
why
that makes it more confusing
i am very against polluting the global namespace
We're not an OO language really.
@Downgoat did you commit it :3
yea to develop/
18:30
I'd argue that it's pretty confusing to root around in different namespaces looking for a function
@quartata functional?
Anyways
@Downgoat Yes
@quartata do you have func.curry yet?
18:32
@Downgoat Yes we can do currying
@CᴏɴᴏʀO'Bʀɪᴇɴ speaking of functional should they be methods of Function or in a functional lib?
I think we already descided on thsi >_>
@Downgoat is there an equivalent of (...a) in Cheddar?
@Downgoat lib
@Downgoat Methods of function
Actually...
18:33
@CᴏɴᴏʀO'Bʀɪᴇɴ like spread?
What namespace is map or reduce in?
internally yeah, idk what the operator should be
@quartata in Array's prototype
though Cheddar isn't prototyped lang
cheddar> var fork = (f, g, h) -> (x, y) -> g(f(x, y), h(x, y))
cheddar> fork
     ...
Syntax Error: Unexpected token at 1:3
1 | fork
  |    ^
2 |
idk what to call it
18:34
^^ what happened
@CᴏɴᴏʀO'Bʀɪᴇɴ ohh
first half of fork is for so it thinks its a for loop
will fix rn
oh ok XD
good thing we find these bugs now rather than later
yeah >_>
i should of written more tests to catch these bugs
do I commit directly to develop, or what?
run the tests (one sec lemme get the command)
18:40
I am just committing two batch files shorthands for compiling and the repl
C:\Users\Conor O'Brien\Documents\Programming\Cheddar (develop) ([email protected])
λ type compile.bat
@"node_modules\.bin\babel" src\ -d dist\ --source-maps

C:\Users\Conor O'Brien\Documents\Programming\Cheddar (develop) ([email protected])
λ type repl.bat
@node dist\cli\repl.js
then yeah just commit
with the same format, right? thing [topic]: message?
yeah
18:41
what should thing be
uh
hm
idk
maybe just windows
k
how do I submit the vim thing in git commit
like save?
click <esc> to go to command mode, then type :x
cool, thanks
pushing!
18:48
er
λ git push
To github.com/cheddar-lang/Cheddar.git
 ! [rejected]        develop -> develop (fetch first)
error: failed to push some refs to 'https://github.com/cheddar-lang/Cheddar.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
pulling..
pushed!
:|
\o/
there should be a git yoyo command, that pulls then pushes
idk how to do that on windows
I don't need to merge, right?
just commit to develop
:O
I just had an idea
I have no idea if it will be easy to implement
but it would be a master functional stroke
currently, (op1 op2) errors, right?
@CᴏɴᴏʀO'Bʀɪᴇɴ yea?
18:52
what if we overloaded the behaviour of (op1 op2 ... opN) to represent forks and hooks?
idk how to functional so you're gonna have to detail it >_>
I will
does that sound feasible ?
I'll see on how to avoid ambiguity but it sounds possible
just require spaces?
or are there ops with spaces
yeah I guess if it's just operators it could work
18:54
just operators
@CᴏɴᴏʀO'Bʀɪᴇɴ oh of course not! :P
@Downgoat okay XD
this is Cheddar not Swiss
3
18:54
BTW (+)(3) doesn't work
cheddar> (+)(3)
Runtime Error: Missing argument for b
shit brb
   plus =: +
   square =: *:
   times =: *
   minus =: -
   NB. monadic hook
   (plus square) 3
12
   3 plus square 3
12
   NB. dyadic hook
   2 (plus square) 3
11
   2 plus (square 3)
11
   NB. monadic fork
   (square minus plus) 3
6
   (square 3) minus (plus 3)
6
   NB. dyadic fork
   4 (times minus plus) 3
5
   (4 times 3) minus (4 plus 3)
5
^ some functional stuff
   NB. dyadic hook
   2 (plus square) 3
11
this is 3^3+2?
00:00 - 19:0019:00 - 00:00

« first day (105 days earlier)      last day (446 days later) »