00:00:00 --- log: started forth/13.04.22 00:01:02 --- nick: ASau` -> ASau 00:49:39 --- quit: ncv (Remote host closed the connection) 01:56:31 --- join: epicmonkey (~epicmonke@host-224-60.dataart.net) joined #forth 02:04:21 --- quit: epicmonkey (Ping timeout: 245 seconds) 02:17:05 --- join: epicmonkey (~epicmonke@host-224-58.dataart.net) joined #forth 03:03:55 --- join: protist (~protist@205.173.69.111.dynamic.snap.net.nz) joined #forth 03:55:39 --- join: mic338 (~mic338@195.200.170.210) joined #forth 04:00:42 Hi all, I recently discovered this language and when it comes time to write a program I fell like a write in front of a white page! I am able to understand simple program like a decimal to roman number converter. But now I wish to write a cyclic key cypher (easy in C/lisp) but I have no clue in forth to where I should start 04:02:18 I use gforth and I use their doc. But I don't understand what kind of structure is used by forth programmer in this case? In C pointer to char are the way to go 04:18:50 mic338: http://www.forth.com/starting-forth/ 04:22:24 I also read this 'http://www.forth.com/starting-forth/sf10/sf10.html' by leo brodie but I don't understand How I index the string? If someone as a little example or a link that will be fine 04:30:07 --- quit: mic338 (Quit: Quitte) 04:56:31 he left before i got to him :/ 04:56:52 s" hello" drop index + @ emit 05:19:17 --- join: john_metcalf (~digital_w@87.115.210.249) joined #forth 05:28:25 --- quit: protist (Quit: Konversation terminated!) 06:31:56 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 07:02:16 --- quit: Eth|cal (Ping timeout: 245 seconds) 07:19:17 --- join: Eth|cal (~sam@ppp59-167-172-238.static.internode.on.net) joined #forth 08:29:47 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 08:42:52 --- join: Tod-Work (~thansmann@50-202-143-210-static.hfc.comcastbusiness.net) joined #forth 08:52:39 --- quit: dto (Remote host closed the connection) 10:14:18 --- quit: kumul (Ping timeout: 272 seconds) 10:16:44 --- join: ncv (~quassel@79.114.41.21) joined #forth 10:16:44 --- quit: ncv (Changing host) 10:16:44 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 10:18:15 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 10:22:33 --- join: fantazo (~fantazo@213.129.230.10) joined #forth 10:26:10 --- quit: tangentstorm (Ping timeout: 264 seconds) 10:26:15 --- quit: ASau (Remote host closed the connection) 10:27:09 --- join: ASau (~user@p5797F52C.dip0.t-ipconnect.de) joined #forth 10:50:52 --- join: rixard (~rixard@81-235-139-119-no63.tbcn.telia.com) joined #forth 10:58:00 --- quit: fantazo (Ping timeout: 272 seconds) 10:58:00 --- quit: kumul (Ping timeout: 272 seconds) 11:27:04 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 11:40:39 --- quit: epicmonkey (Ping timeout: 252 seconds) 12:03:19 --- quit: dto (Remote host closed the connection) 12:18:25 --- quit: jevin (Quit: Textual IRC Client: www.textualapp.com) 12:20:09 --- join: jevin (~jevin@72.12.217.220) joined #forth 12:26:41 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 12:33:30 --- join: JDat (JDat@89.248.91.5) joined #forth 12:38:22 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 12:45:37 --- join: epicmonkey (~epicmonke@188.134.41.112) joined #forth 12:49:41 should a "bare hardware" forth make any guarantees about whether or not it modifies or restores before/after executing words? 12:50:30 i'm torn on this - on the one hand it would be nice to not modify them so you can more easily work with the CPU directly (via special words to access registers, move values between forth's stack and the CPU's, etc.) 12:50:40 but it also seems to add a bit of complexity and code 12:52:10 Is this so you can call Forth from other languages? 12:53:14 no, the other way - so i can make OS calls (if an OS is present, debug CPU state, etc.) 12:53:40 seems useful but i'm not sure if it's worth the effort in a "micro" implementation 12:54:33 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 12:55:47 You could always add code to save / restore to your ENTER / NEXT and switch on/off as required. 12:56:06 May or may not be appropriate for your implementation... 12:56:31 yeah, i guess it doesn't need to be part of each word - don't know why i was thinking it'd add overhead for every one 12:57:09 i'm still working on the pure asm words now so i think i was assuming, wrongly, i'd have to add code for every word 12:57:31 john_metcalf: do most forths that you know (that aren't something like gforth or win32 forths) keep registers static? 12:58:00 What do you mean by static? 12:58:44 i mean does the forth system do whatever it wants to CPU registers or are they the same before/after a word executes (except where different b/c of the function of the word) 12:59:55 i'm re-learning x86 asm at the same time so i'm going through all sorts of pains as i relearn lessons. not sure if this is/will be one of them 13:00:02 Every Forth I've used does whatever it wants with the registers and doesn't care what state it leaves them in. 13:00:15 ok thanks. good to know 13:00:52 one (possible) use i'd like to research is embedding this forth into a kernel (linux - for drivers, win32 - for hacking) - so if i actually get to that point i'll add it 13:02:36 --- join: Onionnion (~ryan@76.229.213.145) joined #forth 13:43:26 --- quit: Nisstyre-laptop (Quit: Leaving) 13:57:48 --- join: JDat` (JDat@89.248.91.5) joined #forth 13:58:16 --- quit: epicmonkey (Read error: Operation timed out) 13:58:32 --- quit: JDat (Ping timeout: 252 seconds) 14:21:39 --- quit: JDat` () 14:39:44 --- quit: Onionnion (Quit: Leaving) 14:39:57 --- quit: jevin (Ping timeout: 252 seconds) 14:44:07 Now I know what is the biggest problem with bluekelp's plan to have emergency forth console in linux. sysrq has already taken all letters from forth :) I just had to do magicsysrq boot on my laptop :( 14:44:09 --- join: jevin (~jevin@72.12.217.220) joined #forth 14:45:22 --- quit: ncv (Remote host closed the connection) 15:17:12 --- quit: bluekelp (*.net *.split) 15:17:12 --- quit: dzho (*.net *.split) 15:18:09 --- join: bluekelp (~bluekelp@bluekelp.com) joined #forth 15:18:09 --- join: dzho (~deejoe@quercus.etrumeus.com) joined #forth 15:23:37 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 15:51:02 --- quit: Tod-Work (Quit: Time to go home!) 15:59:34 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 16:12:05 --- quit: bluekelp (*.net *.split) 16:12:05 --- quit: dzho (*.net *.split) 16:12:48 --- join: bluekelp (~bluekelp@bluekelp.com) joined #forth 16:12:48 --- join: dzho (~deejoe@quercus.etrumeus.com) joined #forth 16:48:34 --- join: ASau` (~user@p5797F5A4.dip0.t-ipconnect.de) joined #forth 16:51:51 --- quit: ASau (Ping timeout: 264 seconds) 17:25:19 --- quit: bluekelp (*.net *.split) 17:25:19 --- quit: dzho (*.net *.split) 17:30:16 --- join: bluekelp (~bluekelp@bluekelp.com) joined #forth 17:30:16 --- join: dzho (~deejoe@quercus.etrumeus.com) joined #forth 18:37:27 --- join: mark4 (~mark4@71-85-195-85.dhcp.stls.mo.charter.com) joined #forth 19:05:51 --- quit: segher (Quit: This computer has gone to sleep) 19:12:54 --- join: RodgerTheGreat (~rodger@71-13-215-204.dhcp.mrqt.mi.charter.com) joined #forth 19:55:07 hi RodgerTheGreat . 20:03:31 If Rodger is so great why can't he spell his name right? :D 20:08:57 --- quit: dto (Remote host closed the connection) 20:21:13 he is so great he doesnt HAVE to spell it right! 20:21:23 benefits of being so great :) 20:30:18 --- join: segher (~segher@5ED3C8DF.cm-7-4d.dynamic.ziggo.nl) joined #forth 20:45:22 his version is the right version 20:46:01 ttmrichter: do you know chinese programming language? 20:53:44 --- quit: karswell (Read error: Connection reset by peer) 20:54:55 --- join: karswell (~user@93-97-29-243.zone5.bethere.co.uk) joined #forth 20:59:04 ttmrichter: I'm not particularly attached to the honorific 20:59:42 --- nick: RodgerTheGreat -> RodgerTheSubpar 20:59:58 it's mainly just for disambiguation 21:01:02 the fact that it aligns with my general hubris is, amusingly, a coincidence 21:02:36 your name isn't even Rodger though, is it? :) 21:02:41 nope 21:03:02 makes sense to me. 21:03:14 my actual name is exceedingly bad for purposes of disambiguation 21:03:28 yunfan: I know *of* a couple of Chinese programming languages. :) 21:05:16 ttmrichter: nope, i mean the only one, who claim its a chinese language programming language. 21:05:49 ttmrichter: its professor shen who has modified win32 forth and claim its his own found 21:06:05 I'm sure you could write a pure-chinese forth. I'll bet you could even come up with single-character names for all the primitives and simplify the structure of the dictionary 21:06:08 chuck would be proud 21:06:11 ttmrichter: some people analyzed its dll file and found that proof 21:06:19 A pure-Chinese Forth would be cool indeed. 21:06:28 * tangentstorm makes a shavian/quickscript forth 21:06:37 RodgerTheSubpar: of course i can , i have just tried that in gforth 21:06:51 but what i mean is that guy's cheating action 21:06:54 But the only previous pure-Chinese PL I've heard of was a BASIC-alike. 21:07:50 Personally, if I were to make a Chinese-only PL I'd base it on a higher-level Forth-like thing. Factor, say. 21:08:03 Get all the cool high level stuff like quotations, etc. Just in Chinese. 21:08:21 there's a befunge-style 2d language using hangul (korean).. looks very pretty 21:08:38 http://esolangs.org/wiki/Aheui 21:09:11 I think that mainly "being in chinese" is a shitty motivation for designing a programming language. It's like writing a program because you want to make something GPLed- totally backwards. 21:10:07 RodgerTheSubpar: I would hazard a guess that a native Chinese speaker would disagree with you. 21:10:10 eventually someone chinese will come up with a great idea for a language and it'll just be in chinese by accident 21:10:32 http://en.wikipedia.org/wiki/Non-English-based_programming_languages 21:10:32 that may have even happened already we just haven't heard of it 21:11:48 designing things primarily to complement one's political leanings is an even sillier idea than design by committe 21:11:54 *committee 21:11:58 Language is political now? 21:12:46 I think you're willfully ignoring my point 21:12:59 No, I'm not. I'm astonished that you think you have one. There's a difference. 21:13:01 all decisions about language are political :) 21:13:09 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 21:15:10 i like the idea of borrowing words from other languages for programming languages. 21:15:25 We already do this, tangentstorm. 21:15:31 I think all boolean literals should use spanish: si and no 21:15:32 Lambda isn't an English word. ;) 21:15:50 sure it is. 21:15:57 I think they should be from more than one language. Ja and no. 21:16:07 it's the english word for Λάμδα 21:16:44 cute 21:17:11 it's sort of a shame that the roman alphabet is composed of letters which do not have names which can be spelled 21:17:21 in general 21:17:36 http://www.omniglot.com/writing/quikscript.htm 21:18:01 ^ would be awesome for coding with a pen on a tablet. 21:18:18 letterforms are kind of like graffiti 21:18:18 RodgerTheSubpar: well that only happen when you use ancient chinese 21:18:29 yunfan: fair enough 21:18:38 morden chinese cant named every word using a single character 21:18:42 but can't you say most things with digraphs? 21:18:54 Most of spoken Chinese is disyllabic, yes. 21:19:24 It feels half the time like I'm trying to learn a language consisting almost entirely of acronyms and portmanteaus. 21:19:57 the simplification for a forth would really just come from being able to use a fixed word name size without being limiting 21:20:12 two characters is almost as convenient as one 21:20:26 Yes, that would be a nice thing. 21:20:31 and still more convenient than 3 (name collisions) or 31/32 (long) 21:20:44 A fixed word size (where single-character words could just have an empty space in the dictionary). 21:20:58 if you want try there're a jeforth from a taiwanesss which use chinese for drawing canvas 21:21:43 its strange for me to use those, but for my brother , maybe its more friendly 21:22:53 but i dont like the idea to use their own language in programming, for eg, if i use chinese comment in my python code, it surely break someone's screen in european or america 21:23:23 yunfan: That's largely irrelevant if you're writing code for a Chinese community or company. 21:23:56 I recognize that english-based languages are inconvenient for non-native speakers, but, y'know, we picked the wrong charge for electrons too 21:24:10 some things are just entrenched 21:24:45 and the fact of the matter is that a lot of this stuff was invented by english speakers who were primarily thinking about their own needs 21:25:10 So it's time for the non-anglophones to think about their own needs instead. 21:25:12 there're lessons from math 21:25:20 for better or worse english is the lingua-franca of the internet 21:25:37 I keep hearing that claim. It's risible on the face of it. It's so ... '90s. 21:25:38 in math, so many guys use differents symbol which bored math leaner 21:26:38 yunfan: I've seen arabic notation for mathematics. It's essentially unrecognizable. 21:26:51 well maybe its just my familliar to english letters 21:27:08 maybe greeks thinks those math symbols is very good 21:27:43 the numbers that the western world uses are inspired by arabic numerals but they're pretty different 21:27:59 RodgerTheSubpar: i only want they have an ansi standars for math symbols 21:28:10 yunfan: That would be impossible. 21:28:15 but unfortunely , code could be modified 21:28:15 For starters, which maths? 21:28:24 There are hundreds of branches of mathematics. 21:28:29 while math symbols cant, they have used hundredn years 21:28:39 it'd be at least as complicated as unicode and that's quite a quagmire 21:28:44 Math symbols have changed over hundreds of years too. 21:28:49 and you even cant found the founder to blame him, because he died :[ 21:28:55 at best you'd be codifying the most stable portions of mathematics 21:29:58 when we programming, we will claim which library we use using import or require or use 21:30:05 yunfan: For example ⊂ used to mean "subset of". It now means "strict subset of". ⊆ means "subset of" instead. That's one simple example off the top of my head. 21:30:19 but when they talk math problem, they just add what symbol they want 21:30:43 ttmrichter: how you input that symbol? i even cant input that 21:30:54 i hate those symbol 21:31:10 yunfan: I copy it from a character map application. :) 21:31:20 i like format like (subset? sub full) 21:31:44 I like notation better. 21:32:00 Math is already a messy explosion over whatever surface it's scribed upon. 21:32:12 ttmrichter: and you cant copy the sigma expression in a line envrion like irc 21:32:13 It would be *worse* if it were all multi-character words. 21:32:47 That points to a limitation in IRC, not a problem with the notation. 21:33:03 I can't copy ¬ into an IRC line either unless I've bound some keys to type it. 21:33:12 And that's a character used in actual programming languages! 21:33:16 notation is more compact but not really faster for a person to parse. Sussman has frequently argued that machine-parseable expressions of mathematics are also clearer for people to understand because they are unambiguous 21:33:24 no, not sigma symbol , but that form 21:33:33 Ken Iverson spent most of his life trying to simplify and improve mathematical notation... When computers were invented, his work became a programming language called APL. 21:33:40 whether that is superior for cutting edge mathematics is less likely 21:34:07 ttmrichter: its the symbol for intergral 21:34:11 APL and later J is much more sensible than standard mathematical notation... And pretty much equally hard to read for a layman. 21:34:11 Notation is an informal structure used to describe a formal structure. 21:34:15 yunfan: I know what it is. 21:34:15 but for things like differential calculus using a simple, uniform notation which could be executed seems like a pretty good idea 21:34:37 I still maintain it's highlighting a weakness of IRC (and other text-line-oriented systems) rather than a failure of notation. 21:35:16 ttmrichter: incidentally, option-L -> ¬ on a mac :D 21:35:36 i many times confused by those math symbols , and after i got to know its real meaning, i think it could be expressed in a simplified version in programming code 21:35:40 RodgerTheSubpar: That's combine - , for me. :) 21:36:17 yunfan: Hard to extend maths if you're tied to a fixed, unchangeable notation. 21:36:32 need to go for lunch 21:37:59 --- quit: mark4 (Remote host closed the connection) 22:03:14 --- quit: RodgerTheSubpar (Quit: RodgerTheSubpar) 22:12:39 --- quit: dto (Remote host closed the connection) 22:13:04 --- join: ncv (~quassel@79.114.41.21) joined #forth 22:13:04 --- quit: ncv (Changing host) 22:13:04 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 22:13:39 --- quit: kumul (Quit: Leaving) 23:39:04 --- join: epicmonkey (~epicmonke@188.134.41.112) joined #forth 23:59:59 --- log: ended forth/13.04.22