cp- has quit [Quit: Disappeared in a puff of smoke]
cp- has joined #forth
Zarutian_HTC has quit [Ping timeout: 240 seconds]
jsoft has joined #forth
a3f has quit [Ping timeout: 272 seconds]
proteus-guy has joined #forth
proteus-person has joined #forth
a3f has joined #forth
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
dave0 has quit [Quit: dave's not here]
proteus-guy has quit [Ping timeout: 260 seconds]
proteus-person has quit [Ping timeout: 256 seconds]
kori has quit [Quit: WeeChat 2.8]
kori has joined #forth
kori has joined #forth
Zarutian_HTC has joined #forth
Zarutian_HTC has quit [Remote host closed the connection]
Zarutian_HTC has joined #forth
gravicappa has joined #forth
Zarutian_HTC has quit [Remote host closed the connection]
sts-q has joined #forth
proteus-person has joined #forth
proteus-guy has joined #forth
sts-q has quit [Quit: -- PANIC -- Insufficient space for garbage collection.]
sts-q has joined #forth
sts-q has quit [Quit: ]
sts-q has joined #forth
<jsoft>
Hey is there any kind of gui shenanigans for forth?
<jsoft>
Like semi cross platform stuff?
<siraben>
mark4: what do you mean by "where forth would not have done the job better"
<siraben>
you could replace that line with "where C++ would not have done the job better"
<siraben>
MrMobius: Yeah every language has their own strong and weak points. Python is slow relative to C but that doesn't mean it's worthless as you said, different goals.
<siraben>
I like to think of Forth as getting most of the metaprogramming capabilities of Lisp and most of the performance of C in 20% of the code
proteus-guy has quit [Ping timeout: 256 seconds]
proteus-person has quit [Ping timeout: 256 seconds]
gravicappa has quit [Ping timeout: 272 seconds]
<zolk3ri>
I love Factor.
proteus-guy has joined #forth
proteus-person has joined #forth
zolk3ri has quit [Remote host closed the connection]
zolk3ri has joined #forth
proteus-guy has quit [Remote host closed the connection]
proteus-person has quit [Remote host closed the connection]
zolk3ri has quit [Remote host closed the connection]
proteus-guy has joined #forth
proteus-person has joined #forth
gravicappa has joined #forth
WickedShell has quit [Remote host closed the connection]
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
_whitelogger has joined #forth
f-a has joined #forth
proteus-person has quit [Remote host closed the connection]
proteus-guy has quit [Remote host closed the connection]
dave0 has joined #forth
Blue_flame has quit [Quit: killed]
jimt[m] has quit [Quit: killed]
siraben has quit [Quit: killed]
siraben has joined #forth
jimt[m] has joined #forth
Blue_flame has joined #forth
f-a has quit [*.net *.split]
reepca has quit [*.net *.split]
tolja has quit [*.net *.split]
reepca has joined #forth
f-a has joined #forth
f-a has quit [Client Quit]
tolja has joined #forth
dave0 has quit [Quit: dave's not here]
jsoft has quit [Ping timeout: 260 seconds]
f-a has joined #forth
<mark4>
siraben chuck moore says that forth is "the" software engineeering solution. I have been doing realtime embedded control development professionally for 30 years. I have never seen any product that would not have been better had it been coded in forth
<mark4>
literally 100% of the non forth products I have worked on would have been better done in forth
<siraben>
mark4: That's an interesting perspective. It makes sense for embedded control more I suppose, I would certainly not use Forth for many projects I do.
<mark4>
such as?
<siraben>
mark4: compilers for functional languages, projects that have to interact with GraphQL, React, type checking algorithms, etc.
<mark4>
i think forth COULD be used for all of the above, forth is not just a programming language its a programming language designed to create domain specific programming languages
<mark4>
so creating a functional language in forth would be included in that :(
<siraben>
Yes, but you should give it a try. It's extraordinarily difficult to do so without a type system.
<f-a>
siraben: I wonder how difficult it is to implement a type system
<f-a>
I know the barebones of haskell implementation
<mark4>
who says you cant build a type system into forth in fact one of the things i want to do with my forth COULD (i wont) be used to make a data types system :)
<siraben>
f-a: Not at all, start with simply-typed lambda calculus. Then adding polymorphism isn't hard (HM works well), and you're already at the level of ML-style languages.
<mark4>
data types are compile time things. specifying a TYPE could simply be a matter of knowing your creating word
<siraben>
You could go forward with subtyping, records, recursive types, etc.
<siraben>
mark4: Sure, hehe.
<mark4>
for exampe : integer create , ;uses do-integer ;
<f-a>
ok
<mark4>
no need to parse strings to determin type
<mark4>
the CFA of the word itself could be the type ID
<mark4>
its the processig of data types at compile time that would need to be implemented
<mark4>
data type checking has no purpose other than at compile time. run time does not need it
<siraben>
f-a: The easiest way is probably to learn how to read typing rules expressed in a bidirectional style then encode it as a program
<f-a>
thanks
<siraben>
Netsplitting?
<f-a>
is it happening?
<f-a>
can’t see from here (which might means I am on the wrong side of the netsplit)
<siraben>
From the matrix bridge it's happening, heh
<siraben>
mark4: yeah you could do in theory GraphQL + Forth, but in terms of development time not the best use when there are TS or JS bindings
<siraben>
The same problems plague Lisps IMO
<f-a>
interesting article
<f-a>
I have never heard of bidirectional rules
<mark4>
siraben, my current project at work would be awesome in forht but it would either need an FFI to interface with a CANBUS library or that library would need to be reimplemented in forth
<mark4>
both doable
<mark4>
one "slightly" more trivial a solution than the other :)
<siraben>
f-a: have you used a functional language before?
<f-a>
siraben: my language of choice (and the only one I know good enough) is Haskell
f-a has quit [Read error: Connection reset by peer]
f-a_ has joined #forth
<mark4>
reverse engineering TI calculators? :)
<siraben>
yeah, for the BCALLs they had an application that would check which ports changed values after the BCALL was called, good times
<siraben>
i considered reverse engineering the entire ROM at some point, but it looked like a lot of work lol
f-a_ has quit [Client Quit]
<siraben>
(also illegal, 😠)
f-a has joined #forth
<mark4>
how is it illegal
<mark4>
what country are you in?
<siraben>
it's illegal no matter where you are, TI has copyright over the ROM
<siraben>
I could modify but not share my modified versions with others.
<cmtptr>
you can share the patch
<siraben>
cmtptr: how do I share the patch without giving away the ROM?
<siraben>
some sort of bindiff?
f-a has quit [Quit: leaving]
f-a has joined #forth
<cmtptr>
yeah
<cmtptr>
this is how people distribute snes rom hacks
<cmtptr>
and other stuff
<cmtptr>
i mean if you were ever going to edit the rom, presumably you'd have some way of modifying it
<cmtptr>
you just distribute the recipe for modifying it
WickedShell has joined #forth
<mark4>
there is NO valid law against reverse engineering
<mark4>
no enforcable
<mark4>
you copyright your encryption key i can still make a t-shirt with that encryption key on it
<mark4>
oh they did that with the DVD encryption key already!
<mark4>
yay
<mark4>
I can write a program that takes YOUR ROM as data and pukes out a complete, commented, synbolic disassembly of the entire thing
<mark4>
and im protected by the 1st amendment
<mark4>
im not distriuting the rom itself
<mark4>
if the law could protect me from you reverse engineering my code i could write a virus and sue the anti virus companies for reverse engineering it :PO
<mark4>
lol
<mark4>
if only I knew how to write one :/
<cmtptr>
it's crossed my mind tbh just for the entertainment and enlightening experience i'd get out of it
<cmtptr>
but i wouldn't know where to start without showing up on a list somewhere
<siraben>
first admendment is not a defense for copyright infringment
<cmtptr>
and never to distribute, of course
<siraben>
amendment*
<cmtptr>
reverse engineering is not copyright infringement
<siraben>
I am not a lawyer, so refer to internet
<cmtptr>
i am the internet!
f-a has quit [Quit: leaving]
f-a has joined #forth
f-a has quit [Quit: leaving]
gravicappa has quit [Ping timeout: 240 seconds]
gravicappa has joined #forth
bluekelp has quit [Quit: leaving]
bluekelp has joined #forth
f-a has joined #forth
cheers- has quit [Quit: cheers-]
cheers has joined #forth
gravicappa has quit [Ping timeout: 246 seconds]
dave0 has joined #forth
sts-q has quit [Quit: ]
X-Scale` has joined #forth
X-Scale has quit [Ping timeout: 260 seconds]
X-Scale` is now known as X-Scale
Zarutian_HTC has joined #forth
f-a has quit [Quit: leaving]
phadthai has quit [Ping timeout: 240 seconds]
WilhelmVonWeiner has quit [Ping timeout: 240 seconds]