« first day (32 days earlier)      last day (628 days later) » 

00:37
@AquaTart: What do you think about dropping Python-style indexing, x[2:5], and using x[2..5] instead?
Well, x[2..5) to match what Python would give.
01:11
What about the plans we had previously for slicing?
Previous plans were Python-style.
Right, but we had some more exotic ideas.
Here, lemme dig them up
But if I'm going to make x[2,5] and x[2,5,*[7..10]] possible, then why not just drop x[2:5] and go with x[2..5)?
I suppose.
Feb 9 at 4:13, by El'endia Starman
[start:end;step:chunk]
^ That's what I was looking for
Yeah, and I still want to make that possible.
But think, why couldn't we do that with ranges in general?
[2..20:2;3]
 
2 hours later…
03:36
please include braces in this language :3
Or a braces mode.
There are already braces.
range_start..range_end is from Perl, right?
Suggestion: make {<item> : <conds>} also set-builder, if possible :D I love that notation
@MarsUltor huhwat?
03:40
@MarsUltor Ruby, actually.
gets stuff mixed up
@CᴏɴᴏʀO'Bʀɪᴇɴ Set builders are already planned. See the syntax spec in the sidebar.
Haven't used Perl/Ruby/Lisp at all yet
For what it's worth, neither have I. :P
@El'endiaStarman I'm reading it atm :D I was wondering if you could include an alternate syntax. ^_^
Me neither @mars
03:41
@CᴏɴᴏʀO'Bʀɪᴇɴ Wait what you can do that?
AquaTart has used Perl and Ruby, and I've been reading essays by a guy that loves Lisp.
@MarsUltor Do what?
Inline ping?
I've seen some Ruby (mainly golfscript source)
@Cᴏɴᴏʀ Test
03:42
@CᴏɴᴏʀO'Bʀɪᴇɴ I'm not terribly against the idea of multiple syntaxes for the same thing, but it's probably better to avoid.
Um.
did that ping?
@El'endiaStarman Just wondering ^_^ and just a suggestion
@MarsUltor Yup!
@C test
@MarsUltor At least 3 letters
03:43
> <: - a <: <expr> means that a, wherever used, has the value of the expression at that time.
Does that mean it's a constant, or what?
What is it, then? :/
a = lambda m: foo
then any time you access a it actually returns the value of a()
I think
03:45
cool!
darn
XD
@El'endiaStarman What does it do?
I'm typing that out...
lel
> User-defined functions can be defined to be infix.
I am now a devoted follower
Let's say I have a function that draws Beziér curves given a series of coordinate pairs, which are set interactively by dragging circles around. Instead of updating this list of coordinate pairs based on the circle locations "by hand", by coding it in an update loop, I can use the <: operator to "link" circle locations with input coordinates, thus obviating the need to write the code myself.
03:48
This will not necessarily be more efficient internally, but it will probably be more programmer efficient.
So a = new Func(args=>body);
args.OnChanged += new Func(value_of_a => a())
^ SOmething like that?
....maybe?
Uh, lemme type a little code sample.
What language is that? Pseudo code?
Basically it means you have a hook into each of the properties passed in and update a as they're changed?
> x = 5
5
> y <: 3*x
15
> x = 7
7
> y
21
03:49
@CᴏɴᴏʀO'Bʀɪᴇɴ Really badly written C#
@El'endiaStarman ^^^?
@El'endiaStarman Do you have an interpreter already?
Or is that just explanation
@CᴏɴᴏʀO'Bʀɪᴇɴ Working on one.
And no, don't have a REPL yet.
Other than my brain. :P
@CᴏɴᴏʀO'Bʀɪᴇɴ They're mostly working on parsing I think.
03:51
@CᴏɴᴏʀO'Bʀɪᴇɴ cloud9
@MarsUltor I'm planning on implementing it such that when a is accessed, then it evaluates the linked expression.
@CᴏɴᴏʀO'Bʀɪᴇɴ They're gonna sync it with github soon™
6-8 weeks :P
03:51
@CᴏɴᴏʀO'Bʀɪᴇɴ ide.c9.io/elendiastarman/pytek
November 1st, then?
@El'endiaStarman Then basically a = lambda args: body
@El'endiaStarman opens bookmarks
then when you use a it actually does a()?
@MarsUltor But it behaves like an integer (in the case I typed above).
@MarsUltor Yes, I think you're understanding right.
03:52
Yeah, but a() will return the correct type anyway
This was the linking thing you were talking about in The Nineteenth Byte, right?
I have no idea what I'm saying
03:54
heh heh
oh lol I'm late
Well, I still don't know what you're talking about. Quote/permalink?
Pretty sure you asked if there was a way to link both ways
Or something
Oh yeah, the idea was raised.
Someone else said that "link" suggests to them that it's bidirectional.
As in, change y and x will change.
That's still possible
Just not very important
03:56
Yes.
If/when I implement that, it will only work under some conditions.
You need a way to initialise circular-linked variables
as in when b = function(a) and a = function(b)
Yep, planning on figuring that out.
I think you should have internal values, the functions actually act on the internal values, and assigning to them assigns to internal values if types match
03:59
We'll see.
So
What are you working on right now?
10 hours ago, by El'endia Starman
On a different note, I've realized that making AST nodes handle the execution of the program is bad and/or wrong. So today, I'm going to write another function that actually does the execution work, and refactor everything else accordingly.
I'm not sure what you mean.
1) Did you turn into Marky? 2) What will happen when you implement compilation?
I don't plan on implementing compilation.
Wait
It's written in Python, right?
Are you going to make an interpreter with PyPy?
We looked into that and it looks like PyPy's translation toolchain doesn't support Python 3.
I've told AquaTart that I don't mind if he converts the Python 3 code to Python 2, and then uses PyPy.
I think using PyPy would be good, if only for the speed
Yes. That is not a concern at present though.
I care about programmer speed at the moment, not computer speed.
If speed was the most important thing, we'd all be using C.
But there's not much point if it runs too slowly
04:07
Oh, but there is!
Computers are getting faster all the time.
And programmers will like to program in languages that are fast to code.
@El'endiaStarman I know.
@El'endiaStarman But for things like electrons in a wire, the fastest Pytek version may be considerably slower than orlp's PyPy version
in The Nineteenth Byte, Feb 28 at 0:09, by Martin Büttner
@animaacija I'm not entirely sure what you're trying to say, but if I'm guessing right: I occasionally use CJam (a language designed for golfing) for simple scripts, because for those, typing speed is actually the bottleneck, and having to type fewer characters let's me solve problems faster.
@MarsUltor Aaaaand orlp used C.
Speed mattered there.
Most of the time, it doesn't.
I guess
Premature optimization is a baaad thing.
@El'endiaStarman Why?
04:10
in The Nineteenth Byte, 12 hours ago, by Mego
1. Make it work
2. Make it right
3. Make it good
Priority #1 is making it work like it should.
Caring about speed at the outset is putting the cart before the horse.
Well, I think eventually the main interpreter should use PyPy eventually.
Sure, I'm not disputing that.
04:58
I wonder if there will be native unit support
05:10
Unit?
As in mm/m/ft/yd etc
mostly conversion support.
Something like this.
Oh, yeah, I'll add those to the to-do list.
I'll probably make that an import though.
Will you (eventually) have syntax editable by imports? (like Python's __future__ statements)
I'd like to.
 
3 hours later…
08:27
Try/except? Nah, try/fail.
Alright, went through the transcript and put most of the ideas in a Google Doc: Pytek Mishmash.
It is, obviously, not done, but it's a good start!
08:53
@El'endiaStarman Do you mind if try starting the docs (on a GitHub repo, and using the stuff from the pastebin?)
@MarsUltor I'll handle that myself.
I've looked at that. Still not sure if I'll use them.
@El'endiaStarman Well, I would prefer having docs on a site specialized for documentation (GitHub wiki/Builtin GitHub markdown viewer is okay though)
@El'endiaStarman I think there should be a non-file-object read() and write() method that opens, reads/writes, and closes a file.
 
5 hours later…
14:16
@MarsUltor \slurp and \put do that. It's all in my RL secret notebook of aecret STDLIB things
*secret
Oh wow, El'endia made a large nonsecret document of nonsecret STDLIB things.
...and he got most of the things I had in my sercret notebook
@El'endiaStarman On *nix systems, do you think modules should go in /usr/lib/pytek/...?
 
1 hour later…
15:52
I have some of the code for the preprocessor up but I don't think it'll handle escaped quotes properly
Parsing this is hard

« first day (32 days earlier)      last day (628 days later) »