09:46:55
##forth
<veltas>
Ah nice xentrac you just made a comment I was going to make myself
09:47:00
##forth
<veltas>
On HN
09:47:11
##forth
<veltas>
About BCPL vs B
09:50:52
##forth
<xentrac>
and got comprehensively educated as a result by the person I disagreed with
09:51:11
##forth
<veltas>
Yeah Joker_vD was definitely wrong in what they said about BCPL, but the reply was educational
09:52:21
##forth
<veltas>
I think I disagree with them because "basically BCPL" gives Ken Thompson no credit for designing the major style for most programming of the 21st century
09:53:02
##forth
<veltas>
B is more than just "basically BCPL", it's a very clever demake of BCPL with really nice syntax that has spread like wildfire since
09:56:36
##forth
<xentrac>
yeah, I agree, much as it pains my Lispy heart to admit that mere syntax could matter :-)
13:19:43
##forth
<KipIngram>
xentrac: I think your right about "open architecture loyalty" (and I do think open is a very good thing), but I've always just been amazed by how stronly the corporate world clings to Windows, when Linux is out there without having to pay Microsoft any money.
13:20:04
##forth
<KipIngram>
"Windows only" is just something that has frustrated me over and over through the years.
13:20:45
##forth
<KipIngram>
It's become a vicious cycle - vendors support Windows first because that's where the market is, and the market is there because that's what the vendors are supporting.
13:21:24
##forth
<KipIngram>
But every time I run into "I can't do that because I don't run Windows" it just galls me.
13:22:31
##forth
<KipIngram>
And in many cases that "Windows first" thing becomes "Windows only."
13:22:43
##forth
<veltas>
It's because MS created a graphical UI environment 'standard' with Windows, you get Windows apps and the shell features, standard on all consumer/enterprise micro hardware
13:23:07
##forth
<veltas>
UNIX doesn't have a big ecosystem on its own standard graphical UI env
13:23:28
##forth
<veltas>
That ecosystem has network effects, it's very powerful
13:23:56
##forth
<veltas>
MS rushed in and gained it, the only thing that's threatened that is the web, which has failed to totally oust their share
13:24:13
##forth
<KipIngram>
I'd love to get on with the ousting.
13:25:32
##forth
<veltas>
It's never going to happen, not for a very long time at least
13:26:25
##forth
<KipIngram>
Well, ten years ago you might have thought Marvel would never not be on top, but they've fallen a long way since then. One can hope to see it happen to MS too.
13:26:47
##forth
<KipIngram>
And I get it that's a totally different kind of thing.
13:26:52
##forth
<veltas>
Marvell?
13:27:00
##forth
<KipIngram>
The movie studio.
13:27:12
##forth
<veltas>
I don't know anything about Marvel sorry
13:27:31
##forth
<KipIngram>
Oh, that's interesting. Iron Man, Thor, the Avengers, blah blah blah.
13:27:54
##forth
<KipIngram>
MCU = "Marvel Cinematic Universe." And a decade or so ago anything they touched turned to gold.
13:27:58
##forth
<veltas>
The fact is if you create an app, you have to justify *not* developing for Windows. That's been the case since the late 90's
13:28:19
##forth
<veltas>
But there are increasingly more kinds of apps where Windows is irrelevant
13:28:33
##forth
<veltas>
But the hold on PC's is indisputable
13:28:34
##forth
<KipIngram>
My justification is that Microsoft is a wicked vile organization that shouldn't be supported.
13:28:54
##forth
<veltas>
I don't think they're wicked, I just think they're shit
13:29:18
##forth
<veltas>
They're good at some things but the software I have to use is shit
13:29:27
##forth
<KipIngram>
They're that too. But they've done pleny of underhanded things over the years. And gotten caught up with in court, but never with enough consequences to disuade them.
13:29:44
##forth
<KipIngram>
I don't think financial penalties are enough in those instances - I think CEOs should go to jail.
13:29:56
##forth
<KipIngram>
If we did that a couple of times they'd start behaving better.
13:30:55
##forth
<veltas>
Like what? Internet Explorer?
13:31:18
##forth
<KipIngram>
Oh gosh, I'd have to refamiliarize myself. But it's along those lines, yeah - underhanded business practices; trying to take out the compnetition in ways other than just competing head to head in the market.
13:31:46
##forth
<KipIngram>
"Unfair business practices."
13:32:25
##forth
<veltas>
Windows itself is arguably unfair because they intentionally created a 'standard' platform for software to be developed on, and created a lot of lock-in in the complexity
13:32:33
##forth
<KipIngram>
And it's not really in doubt - they've been found guilty of these things in court. But the penalties were just mere slaps on the wrist that they wrote off as "cost of doing business." That's not going to accomplish anything.
13:32:34
##forth
<veltas>
But at same time is arguably the fairest thing they did
13:32:45
##forth
<KipIngram>
Yes.
13:32:50
##forth
<veltas>
I don't really put a huge amount of weight in courts
13:33:16
##forth
<KipIngram>
In some cases they didn't document everything - they had "secret" features that their own app programmers could use but competitors couldn't.
13:33:38
##forth
<KipIngram>
Using their OS dominance to give them an unfair advantage in app dev.
13:33:50
##forth
<KipIngram>
Standard monopoly behavior.
13:34:30
##forth
<veltas>
I would argue the state are the bad guys, the bad behaviour I find unacceptable is all enforced by the state
13:34:43
##forth
<KipIngram>
But if you want a person or group to change its behavior, the punishment has to be enough to get their attention.
13:34:51
##forth
<veltas>
The question I would ask is why do the state enforce stuff that's bad for the supposed leaders of the state, i.e. the 'people'
13:35:21
##forth
<KipIngram>
Because the corporations lobby for it - you're spot on.
13:35:39
##forth
<KipIngram>
More often than not these days the government operates in favor of big business rather than "the people."
13:35:57
##forth
<veltas>
And look at what corporations lobby for... regulations etc to keep new competition bogged down
13:36:09
##forth
<KipIngram>
We used to bust up monopolies in the US, but the last time I remember that happening was the AT&T break up back in the 1970's.
13:36:20
##forth
<veltas>
And protections for their royalties etc, while stealing content from e.g. artists
13:36:27
##forth
<KipIngram>
Yes.
13:36:36
##forth
<KipIngram>
It's broken all over the place.
13:37:16
##forth
<KipIngram>
Example - how is it that something like Star Trek is still "owned" by a company? The creator is dead. It's been almost 60 years. Copyrights are supposed to expire.
13:37:36
##forth
<KipIngram>
I think if Paramount makes a Trek movie, they certainly should own rights to THAT MOVIE, but I don't think anyone should "own the brand" anymore.
13:38:33
##forth
<veltas>
Far less egregious than tech though
13:38:40
##forth
<KipIngram>
A few years ago there was a crowdfunded effort to make a Trek movie - the general name for the effort was "Axanar." There's a great video on YouTube called "Prelude to Axanar" that was designed to stir up public support.
13:38:47
##forth
<KipIngram>
Paramount swooped in and killed it.
13:38:57
##forth
<KipIngram>
So we won't ever get to see that.
13:39:09
##forth
<KipIngram>
It looked potentially awesome.
13:40:12
##forth
<KipIngram>
In the state I live in (Texas) there are tons of regulations applicable to the brewing and distribution of beer. Most of those were really pushed for by the big breweries to hold down the microbrewer competition.
13:40:22
##forth
<KipIngram>
There's no sense or logic whatsoever behind the regs.
13:41:33
##forth
<KipIngram>
But anyway, if people like Bill Gates knew they'd go to jail the next time their company misbehaved, they'd see to it that it didn't happen.
13:41:53
##forth
<KipIngram>
And we'd move toward "values" instead of "whatever we can get away with."
13:42:38
##forth
<veltas>
My big issue with your suggestion is it seems very subjective
13:43:12
##forth
<veltas>
If you can clearly pin down the 'misbehavior' then I could consider whether jail is appropriate
13:43:15
##forth
<KipIngram>
My wife and I have talked about this, and we figure this is a big reason we won't ever be rich. We're just not willing to be underhanded exploiters.
13:43:54
##forth
<KipIngram>
Like I said, I'd have to go look it all up again. But you could just look for "Microsoft convictions in court" or something. They're out there.\
13:43:57
##forth
<veltas>
Hate the game, not the player
13:44:09
##forth
<veltas>
Well it does depend what they're convicted for
13:44:53
##forth
<KipIngram>
And there's probably a middle ground between the pittance penalties they had imposed on them and "jail." My main point is that it needs to be "more." It needs to be enough to CHANGE THE COMPANY'S BEHAVIOR.
13:45:03
##forth
<KipIngram>
If they keep doing it, it wasn't enough.
13:45:56
##forth
<identity>
the best way to shake up somebody with a lot of money is to shake up their money, not gently take one bill from the pile
13:46:04
##forth
<KipIngram>
And if it does become jail, it can't be some middle manage fifteen layers down the management chain. If it's not the real decision makers, it does no good.
13:46:14
##forth
<KipIngram>
They'll just hire sacrificial goats for that.
13:47:50
##forth
<KipIngram>
The thing is, Microsoft is an awful lot like the AT&T situation in the 70's. The point they highlighted then was that AT&T was too "pervasive" - it spread its tentacles out over too much of the industry. They carved it up into pieces that would then compete separately.
13:48:16
##forth
<KipIngram>
So Microsft, with the OS and the word processor and the spreadsheet and the foo and the bar etc. - that's the same kind of problem.
13:48:25
##forth
<KipIngram>
It could be chopped up into probably 20-30 companies.
13:49:50
##forth
<KipIngram>
At least a couple of the court cases I recall (vaguely) had exactly to do with that - MS's competitors on the app front were disadvantaged because MS would leverage its control of the OS.
13:51:02
##forth
<KipIngram>
All of this leads back to IBM (as so much in the computer industry does). IBM more or less CREATED MS by not keeping the PC OS effort in-house.
13:51:17
##forth
<KipIngram>
The story I've heard is that IBM severely understimated the size of the PC market.
13:51:32
##forth
<KipIngram>
I'm sure they would have made different decisions if they'd properly seen what was coming.
13:51:40
##forth
<KipIngram>
And we could be complaining about them today instead.\
13:52:41
##forth
<KipIngram>
Someone in IBM estimated the PC market size at 200,000 units.
13:53:29
##forth
<KipIngram>
Back in the early days of computing some well known guy prognosticated that there was probably a world-wide demand for computers of about five.
13:53:44
##forth
<KipIngram>
So understimating the computation market seems to be a long-standing tradition.
13:53:57
##forth
<veltas>
Established companies tend to do this
13:54:06
##forth
<veltas>
Be conservative, keep the ship afloat etc
13:54:17
##forth
<KipIngram>
Yeah - the "new thing" isn't what's making the money NOW.
13:54:36
##forth
<veltas>
Look at all the risk takers, you will see a lot of survivor bias
13:54:39
##forth
<KipIngram>
And there was a lot of backbiting inside IBM over the PC; the divisions that made the bigger machinery didn't like it at all.
13:55:11
##forth
<KipIngram>
IBM was still a "machinery" company back then.
13:55:41
##forth
<KipIngram>
And its transition to a service oriented company probably happened BECAUSE they fumbled the PC ball.
13:56:45
##forth
<veltas>
See Gordon Letwin OS/2 Usenet post
13:59:46
##forth
<veltas>
Windows competes with Forth
14:01:02
##forth
<KipIngram>
Oh, that looks like an interesting book.
14:02:23
##forth
* Pr_Raoult fait une piqûre dans les fesses de clemens3
14:02:28
##forth
* Pr_Raoult fait une piqûre dans les fesses de cleobuline
14:02:34
##forth
<KipIngram>
It says there that the big companies "listen to their customers," and that leads to them missing the new wave. That makes sense - listening to customers is a good thing of course, that should be done, but you also need VISIONARY people leading the place.
14:02:53
##forth
<KipIngram>
Sometimes you LEAD your customers - give them stuff better than they could even imagine.
14:03:12
##forth
<veltas>
I think the big tech companies have taken that advice on board
14:03:19
##forth
<veltas>
But it's hard to really put it to practice
14:03:37
##forth
<KipIngram>
I expect so - there would be plenty of internal politics pushing the other way.
14:03:38
##forth
<veltas>
e.g. look at how Google treat all their small ventures
14:04:18
##forth
<veltas>
They don't commit, it's a guarantee that Google will rug-pull any product they release, so nobody wants to adopt anything new they put out
14:04:38
##forth
<KipIngram>
Just imagine a corporate executive running some well-established division. Chances are he or she doesn't WANT to see something new rush up and grab the limelight (unless he/she gets to run that too).
14:04:46
##forth
<veltas>
The big companies that appeared to get everything wrong are applying principles of business that are thousands of years old, go figure we can't reinvent the wheel in a decade
14:20:57
##forth
<KipIngram>
I'm not sure how many truly monumental waves of innovation remain. I mean, we probably won't ever stop improving things that already exist sOME - like maybe we eventually make ICs on graphene substrate rather than silicon. That could up performance quite a lot, but it's not "new," fundamentally.
14:21:10
##forth
<KipIngram>
I feel like maybe at some point we'll get a burst of stuff around genetics.
14:21:19
##forth
<KipIngram>
That's the main thing that springs to mind right now, though.
14:21:55
##forth
<KipIngram>
In a major way you can look at the last century and a half as being mostly "exploitation of Maxwell's equations."
14:22:25
##forth
<KipIngram>
That doesn't cover everything we've done, but it covers an awful lot of it.
14:23:46
##forth
<KipIngram>
The last couple or three centuries have been built on Maxwell's equations, thermodynamics, and chemistry - we've beeon the steep part of the S curve for all three. That can't last forever.
14:24:23
##forth
<KipIngram>
Nuclear too, I guess, but it kind of pales economically alongside the other three.
14:26:31
##forth
<KipIngram>
There are four fundamental forces. Strong and weak nuclear are likely too short-range to have any major "life scale" applications. That leaves EM and gravity, and gravity is so weak that anything using it tends to be huge, like dams and so on. And we've got to be SOMEWHERE up in the top range of the EM S curve now.
14:26:56
##forth
<KipIngram>
So, we're out of fundamental forces for fueling continued massive innovation.
14:44:43
##forth
<cleobuline>
i present you a new version multi users mForth ! with no garanty of no bugs this is v 0.1 ;
14:45:11
##forth
<cleobuline>
each user have his own context stack and dictionnary :)
14:45:40
##forth
<cleobuline>
mForth: : test ."
14:45:40
##forth
<mForth>
Error: ." expects a string ending with "
14:46:07
##forth
<cleobuline>
mForth: : test ." Hello cleobuline " ;
14:46:40
##forth
<toto>
mForth: : test ." Hello toto ! " ;
14:46:53
##forth
<toto>
mForth: WORDS
14:46:54
##forth
<mForth>
.S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > AND OR NOT CR EMIT VARIABLE @ ! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK EMIT CR CLEAR-STACK DP test
14:47:00
##forth
<toto>
mForth: test
14:47:00
##forth
<mForth>
Hello toto !
14:47:14
##forth
<cleobuline>
mForth: test
14:47:14
##forth
<mForth>
Hello cleobuline
14:47:22
##forth
<cleobuline>
voila !
14:47:48
##forth
<KipIngram>
cleobuline: Nice.
15:03:16
##forth
<cleobuline>
you like ?
15:35:11
##forth
<KipIngram>
It looks nice; I just always appreciate people "making things work" - I know how nice that feels when it's me doing the thing.
15:35:45
##forth
<cleobuline>
yes :)
15:36:11
##forth
<cleobuline>
mForth: LOAD "test.fth"
15:38:22
##forth
<cleobuline>
mForth: 123456789123457 PRIME? .
15:38:24
##forth
<mForth>
1
15:38:33
##forth
<cleobuline>
fast enougth
15:47:16
##forth
<veltas>
mForth: create test test .
15:47:16
##forth
<mForth>
Unknown word: create
15:47:34
##forth
<veltas>
mForth: CREATE TEST TEST .
15:47:35
##forth
<mForth>
1
15:47:45
##forth
<veltas>
CREATE TEST TEST .
15:47:51
##forth
<veltas>
mForth: CREATE TEST TEST .
15:47:51
##forth
<mForth>
1
15:48:05
##forth
<veltas>
mForth: CREATE TEST2 TEST2 .
15:48:06
##forth
<mForth>
3
15:48:41
##forth
<veltas>
cleobuline: Second should have returned 2 really, hiding previous definition of TEST
15:48:55
##forth
<cleobuline>
veltas: you forget ALLOT
15:49:00
##forth
<veltas>
Might be worth making it case-insensitive too as most will be used to that
15:49:11
##forth
<veltas>
No I didn't ;)
15:50:54
##forth
<cleobuline>
i will see
15:51:40
##forth
<veltas>
mForth: CREATE TEST3 1 ALLOT CREATE TEST4 TEST3 . TEST4 .
15:51:40
##forth
<mForth>
4
15:52:47
##forth
<veltas>
Something interesting going on with addresses in this env
16:01:13
##forth
<cleobuline>
try WORDS
16:01:38
##forth
<cleobuline>
may be there is 2 instance of TEST
16:02:13
##forth
<cleobuline>
i wil sheck for redefinitions next
16:03:05
##forth
<cleobuline>
mForth: WORDS
16:03:06
##forth
<mForth>
.S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > AND OR NOT CR EMIT VARIABLE @ ! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK EMIT CR CLEAR-STACK DP test DOUBLE FACT POW FIBONACCI COUNTDOWN TUCK 2DROP SUM_SQUARE CUBE SUM_CUBES RECUNACCI CAT :D PGCD PRIME? SEED COUNT NUMS STARS INIT-RANDOM RANDOM RAND INIT-NUMS SHUFFLE-NUMS PICK-NUM NUM-TO-STR
16:03:49
##forth
<cleobuline>
i have to do the word SEE to check definitions
17:01:39
##forth
<KipIngram>
Will you be able to completely decompile words? In a lot of systems not all aspects of compilation can be reversed. It has to do with things like IF ... THEN and so on being compiled into conditional jumps. You can't always tell very easily what it was that led you there.
17:17:15
##forth
<veltas>
Is it bad though that I quite like the IBM Plex Mono font?
17:45:40
##forth
<xentrac>
12:25 < veltas> It's never going to happen, not for a very long time at least
17:46:02
##forth
<xentrac>
I think the iPhone and Android each individually have more users than Microsoft Windows now
17:46:41
##forth
<xentrac>
and I think now instead of "if you create an app, you have to justify *not* developing for Windows" it's "you have to justify not developing for the Web"
17:53:41
##forth
<user51>
Bad news: I still don't have a forth. Good news: All those experiments are probably worth the experience :)
17:57:04
##forth
<user51>
My first attempt was a mess that defined a cell as a union of a bunch of types -- too complex. For now I've got a cleaner attempt with just 64-bit integers and some occasional pointers, but mostly integers. I'm also using an explicit load function instead of indexing into memory -- code does look a bit nicer with just round parenthesis.
17:58:45
##forth
<KipIngram>
xentrac: I think you're likely right about Android and iOS, but unfortunatley no one seems to write "serious" software for those systems / devices. I've always thought, for example, that tablets would be FANTASTIC platforms for PCB layout and other forms of CAD, but it's just not really out there. 95% of the software in the Android and iOS "stores" are like "toys." Not serious software for
17:58:48
##forth
<KipIngram>
serious work.
18:00:49
##forth
<user51>
KipIngram: I got an iPad for college, and it's got some serious limitations compared to a desktop. Sure, it's Apple, but it still felt like realizing that your hardware doesn't have Linux support, but on the userland level.
18:02:48
##forth
<KipIngram>
I tried out an iPad for a period of time, and also a Sony Android tablet, but in both cases I just felt severely limited and wound up back with notebooks.
18:03:52
##forth
<KipIngram>
Interesting. Generally speaking, though, I feel like part of the problem is the architectures of Android and iOS - it's like they bend over backward to keep you "boxed in" just the way they want you - it doesn't feel like a system you "own" and can do anything with you want in a flexible way.
18:04:14
##forth
<KipIngram>
Geez - they don't even have real file systems. They're there, but they're hidden away.
18:06:38
##forth
<user51>
For the iPad I managed to do a virtual daisy chain, surprisingly using the Microsoft RDP app. It actually worked reasonably well and I could even take notes with xournal, but it was still an iPad :|
18:08:39
##forth
<xentrac>
the p, d, m, and l buttons activate quasimodes for creating points, deleting, moving, and creating lines
18:09:13
##forth
<user51>
Anyway, on topic, think I've got my threading and thread execution right -- I'm simply checking if the offset to be executed is > ROM-pointer. No explicit stacks for now -- I'm using recursion because it's more or less a tree anyway, walking down until we reach a CODE definition.
18:09:28
##forth
<xentrac>
on a multitouch screen this works without a keyboard, but I also hooked it up to keyboard events and mouse events so you can test it without multitouch
18:10:52
##forth
<xentrac>
it's not serious software for serious work, but I think it demonstrates some UI idioms that might be applicable to serious software for serious work
18:40:50
##forth
<cleobuline>
mforth: LOAD "test.fth"
18:41:08
##forth
<cleobuline>
mforth: SEE PRIME?
18:41:08
##forth
<mforth>
: PRIME? DUP 2 < IF DROP 0 EXIT DUP 2 = IF DROP 1 EXIT DUP 2 MOD 0 = IF DROP 0 EXIT DUP SQRT 3 DO DUP I MOD 0 = IF DROP 0 UNLOOP EXIT 2 +LOOP DROP 1 ;
18:41:13
##forth
<cleobuline>
et voila
18:42:35
##forth
<cleobuline>
the multi-user irc forth bot v 0.2 version béta , use at your own risks !
18:44:19
##forth
<vulpine>
mforth: CAT
18:44:19
##forth
<mforth>
Unknown word: CAT
18:47:47
##forth
<cleobuline>
you must LOAD the created dictionnary vulpine
18:47:59
##forth
<cleobuline>
mforth: CAT
18:48:00
##forth
<mforth>
/_/
18:48:08
##forth
<vulpine>
meow
18:48:54
##forth
<cleobuline>
vulpine: each may crete his own dictionnary a startup a minimal dictionnary is setup
18:51:08
##forth
<cleobuline>
i will rename test.fth to ini.fth
18:52:42
##forth
<cleobuline>
mforth: 1234567891234567 PRIME? .
18:52:42
##forth
<mforth>
Error: UNLOOP without DO
18:52:47
##forth
<cleobuline>
merde
19:07:18
##forth
<cleobuline>
mforth: "test.fth"
19:07:19
##forth
<mforth>
Unknown word: "test.fth"
19:07:29
##forth
<cleobuline>
mforth: LOAD "test.fth"
19:07:29
##forth
<mforth>
Error: LOAD: No filename provided
19:07:44
##forth
<cleobuline>
mforth: LOAD "test.fth"
19:07:45
##forth
<mforth>
Error: LOAD: No filename provided
19:08:36
##forth
<cleobuline>
mforth: LOAD "test.fth"
19:08:36
##forth
<mforth>
Error: LOAD: No filename provided
19:11:53
##forth
<cleobuline>
mforth: LOAD "test.fth"
19:12:22
##forth
<cleobuline>
mforth: 1234567891234567 PRIME?
19:12:22
##forth
<mforth>
Error: UNLOOP without DO
19:21:36
##forth
<cleobuline>
mforth: LOAD "test.fth"
19:22:20
##forth
<cleobuline>
mforth: 123456789123457 PRIME? .
19:22:22
##forth
<mforth>
1
19:24:35
##forth
<cleobuline>
nickel !
20:20:06
##forth
<cleobuline>
mforth: LOAD "test.fth"
20:20:25
##forth
<cleobuline>
mforth: SEE PRIME?
20:20:25
##forth
<mforth>
: PRIME? DUP 2 < IF DROP 0 EXIT THEN DUP 2 = IF DROP 1 EXIT THEN DUP 2 MOD 0 = IF DROP 0 EXIT THEN DUP SQRT 3 DO DUP I MOD 0 = IF DROP 0 UNLOOP EXIT THEN 2 +LOOP DROP 1 ;
20:30:57
##forth
<cleobuline>
pause waiting next bug ...
22:49:37
##forth
<veltas>
mforth: 0 .S
22:49:37
##forth
<mforth>
<1> 0
22:49:45
##forth
<veltas>
mforth: .S
22:49:46
##forth
<mforth>
<1> 0
22:50:00
##forth
<veltas>
mforth: 0 @ .S
22:50:00
##forth
<mforth>
<2> 0 0
22:51:48
##forth
<veltas>
mforth: :D
22:51:48
##forth
<mforth>
Unknown word: :D
22:52:51
##forth
<veltas>
mforth: : -ROT ROT ROT ;
22:53:01
##forth
<veltas>
mforth: WORDS
22:53:01
##forth
<mforth>
.S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > AND OR NOT CR EMIT VARIABLE @ ! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK EMIT CR CLEAR-STACK DP -ROT
22:53:39
##forth
<veltas>
mforth: : ? @ . ; DP ?
22:53:39
##forth
<mforth>
0
22:54:37
##forth
<xentrac>
mforth: words
22:54:37
##forth
<mforth>
Unknown word: words
22:54:41
##forth
<xentrac>
mforth: WORDS
22:54:42
##forth
<mforth>
.S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > AND OR NOT CR EMIT VARIABLE @ ! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK EMIT CR CLEAR-STACK DP
22:55:25
##forth
<veltas>
mforth: : 2DUP OVER OVER ;
22:56:20
##forth
<xentrac>
over and over again
22:56:28
##forth
<xentrac>
mforth: . . . . . . . . . . . .
22:56:28
##forth
<mforth>
Error: Stack underflow
22:56:40
##forth
<xentrac>
big improvement! but still two lines of output
22:57:03
##forth
<veltas>
mforth: : TRUE -1 ; : FALSE 0 ; : ON TRUE SWAP ! ; : OFF FALSE SWAP ! ;
22:57:48
##forth
<veltas>
mforth: : ? @ . ; VARIABLE CLUTCH CLUTCH ON CLUTCH ?
22:57:49
##forth
<mforth>
Error: Word already defined
22:57:56
##forth
<xentrac>
whaat
22:58:00
##forth
<veltas>
mforth: VARIABLE CLUTCH CLUTCH ON CLUTCH ?
22:58:00
##forth
<mforth>
-1
22:59:39
##forth
<veltas>
mforth: WORDS
22:59:40
##forth
<mforth>
.S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > AND OR NOT CR EMIT VARIABLE @ ! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK EMIT CR CLEAR-STACK DP -ROT ? 2DUP TRUE FALSE ON OFF CLUTCH
23:01:01
##forth
<veltas>
mforth: 100 ALLOT DP .
23:01:01
##forth
<mforth>
0
23:01:09
##forth
<veltas>
mforth: DP ?
23:01:09
##forth
<mforth>
0
23:01:31
##forth
<veltas>
mforth: 1 0 /
23:01:31
##forth
<mforth>
Error: Division by zero
23:02:46
##forth
<veltas>
mforth: -1 256 MOD .
23:02:46
##forth
<mforth>
255
23:04:13
##forth
<veltas>
mforth: VARIABLE .S
23:04:18
##forth
<veltas>
mforth: WORDS
23:04:19
##forth
<mforth>
.S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > AND OR NOT CR EMIT VARIABLE @ ! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK EMIT CR CLEAR-STACK DP -ROT ? 2DUP TRUE FALSE ON OFF CLUTCH .S
23:04:30
##forth
<veltas>
mforth: : .S 0 ;
23:04:31
##forth
<mforth>
Error: Word already defined
23:04:44
##forth
<veltas>
mforth: VARIABLE .S
23:04:49
##forth
<veltas>
mforth: WORDS
23:04:49
##forth
<mforth>
.S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > AND OR NOT CR EMIT VARIABLE @ ! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK EMIT CR CLEAR-STACK DP -ROT ? 2DUP TRUE FALSE ON OFF CLUTCH .S .S
23:05:40
##forth
<veltas>
cleobuline: Quite a lot missing but it's interesting
23:06:17
##forth
<veltas>
Could do with something to forget words, and VARIABLE seems to be able to overwrite definitions
23:06:24
##forth
<veltas>
No HERE
23:06:50
##forth
<veltas>
Also it's better to just allow redefining, IMO
23:10:51
##forth
<veltas>
mforth: .S
23:13:05
##forth
<xentrac>
mforth: 1 ?
23:13:05
##forth
<mforth>
Unknown word: ?
23:13:10
##forth
<xentrac>
cleobuline: how can I call veltas's words?
23:27:00
##forth
<veltas>
mforth: WORDS
23:27:00
##forth
<mforth>
.S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > AND OR NOT CR EMIT VARIABLE @ ! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK EMIT CR CLEAR-STACK DP -ROT ? 2DUP TRUE FALSE ON OFF CLUTCH .S .S
23:27:23
##forth
<veltas>
Do we all have different words? Didn't realise
23:28:30
##forth
<xentrac>
yup
23:35:03
##forth
<cleobuline>
veltas: do LOAD "test.fth" to get more words
23:36:45
##forth
<cleobuline>
FORGET not yet implemented sorry
23:37:02
##forth
<cleobuline>
next V 0.1.2
23:37:33
##forth
<cleobuline>
xentrac: each user have his own dictionnary
23:37:58
##forth
<cleobuline>
you cannot share words between users
23:38:04
##forth
<xentrac>
cannot? :-(
23:39:30
##forth
<xentrac>
so it's more like a single-user Forth for each user
23:39:51
##forth
<cleobuline>
don't ask too much i am still working on it
23:40:29
##forth
<cleobuline>
i can switch to a shared dictionnary xentrac
23:41:01
##forth
<xentrac>
I'm not sure that would be better...
23:42:19
##forth
<cleobuline>
better to write some words on a file and load to share some words
23:43:07
##forth
<xentrac>
oh, are the files shared?
23:43:34
##forth
<cleobuline>
there is not SAVE primitive yet
23:44:48
##forth
<cleobuline>
may be i cas do a APPEND someword to somme init.fth file
23:45:30
##forth
<cleobuline>
there is a primitive to read a word
23:45:46
##forth
<cleobuline>
mforth: SEE EURO
23:45:47
##forth
<mforth>
: EURO INIT-RANDOM 50 INIT-NUMS 50 SHUFFLE-NUMS 5 0 DO PICK-NUM DUP NUM-TO-STR 32 EMIT DROP LOOP INIT-STARS SHUFFLE-STARS PICK-STAR DUP NUM-TO-STR 32 EMIT DROP PICK-STAR DUP NUM-TO-STR DROP CR ;
23:46:19
##forth
<cleobuline>
so i can append it in a file tu be shared with other user
23:53:13
##forth
<veltas>
Instead of files you might consider adding blocks